diff --git a/app.js b/app.js index 36bcf50..08578d4 100644 --- a/app.js +++ b/app.js @@ -1,3 +1,3 @@ /*! For license information please see app.js.LICENSE.txt */ -!function(){var e={3034:function(){!function(){var e={6759:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Ucum=void 0,t.Ucum={dimLen_:7,validOps_:[".","/"],codeSep_:": ",valMsgStart_:"Did you mean ",valMsgEnd_:"?",cnvMsgStart_:"We assumed you meant ",cnvMsgEnd_:".",openEmph_:" ->",closeEmph_:"<- ",openEmphHTML_:' ',closeEmphHTML_:" ",bracesMsg_:"FYI - annotations (text in curly braces {}) are ignored, except that an annotation without a leading symbol implies the default unit 1 (the unity).",needMoleWeightMsg_:"Did you wish to convert between mass and moles? The molecular weight of the substance represented by the units is required to perform the conversion.",csvCols_:{"case-sensitive code":"csCode_","LOINC property":"loincProperty_","name (display)":"name_",synonyms:"synonyms_",source:"source_",category:"category_",Guidance:"guidance_"},inputKey_:"case-sensitive code",specUnits_:{"B[10.nV]":"specialUnitOne","[m/s2/Hz^(1/2)]":"specialUnitTwo"}}},9460:function(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}t.R=void 0;var r=n(6759),o=n(1781),a=function(){function e(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),0===r.Ucum.dimLen_)throw new Error("Dimension.setDimensionLen must be called before Dimension constructor");if(null==t)this.assignZero();else if(t instanceof Array){if(t.length!==r.Ucum.dimLen_)throw new Error("Parameter error, incorrect length of vector passed to "+"Dimension constructor, vector = ".concat(JSON.stringify(t)));this.dimVec_=[];for(var n=0;n=r.Ucum.dimLen_)throw new Error("Parameter error, invalid element number specified for Dimension constructor");this.assignZero(),this.dimVec_[t]=1}}var t,n;return t=e,(n=[{key:"setElementAt",value:function(e,t){if(!o(e)||e<0||e>=r.Ucum.dimLen_)throw new Error("Dimension.setElementAt called with an invalid index "+"position (".concat(e,")"));this.dimVec_||this.assignZero(),null==t&&(t=1),this.dimVec_[e]=t}},{key:"getElementAt",value:function(e){if(!o(e)||e<0||e>=r.Ucum.dimLen_)throw new Error("Dimension.getElementAt called with an invalid index "+"position (".concat(e,")"));var t=null;return this.dimVec_&&(t=this.dimVec_[e]),t}},{key:"getProperty",value:function(e){return this["_"===e.charAt(e.length-1)?e:e+"_"]}},{key:"toString",value:function(){var e=null;return this.dimVec_&&(e="["+this.dimVec_.join(", ")+"]"),e}},{key:"add",value:function(t){if(!t instanceof e)throw new Error("Dimension.add called with an invalid parameter - "+"".concat(i(t)," instead of a Dimension object"));if(this.dimVec_&&t.dimVec_)for(var n=0;n mole conversion cannot be executed for two mole-based units. No conversion was attempted.");if(0===a.moleExp_&&0===u.moleExp_)throw new Error("A molecular weight was specified but a mass <-> mole conversion cannot be executed when neither unit is mole-based. No conversion was attempted.");if(!a.isMoleMassCommensurable(u))throw new Error("Sorry. ".concat(e," cannot be ")+"converted to ".concat(n,"."));0!==a.moleExp_?o.toVal=a.convertMolToMass(t,u,r):o.toVal=a.convertMassToMol(t,u,r)}else o.toVal=u.convertFrom(t,a);o.status="succeeded",o.fromUnit=a,o.toUnit=u}catch(e){o.status="failed",o.msg.push(e.message)}}catch(e){e.message==s.needMoleWeightMsg_?o.status="failed":o.status="error",o.msg.push(e.message)}return o}},{key:"convertToBaseUnits",value:function(e,t){var n={};if(this._checkFromVal(t,n),!n.status){var i=this.getSpecifiedUnit(e,"validate");n={status:"valid"==i.status?"succeeded":i.status};var r,o=i.unit;if(n.msg=i.retMsg||[],o){if(o.isArbitrary_)n.msg.push("Arbitrary units cannot be converted to base units or other units."),n.status="failed";else if("succeeded"==n.status){var a,s={},u=null===(a=o.dim_)||void 0===a?void 0:a.dimVec_,c="1";if(u)for(var f=l.getInstance().dimVecIndexToBaseUnit_,d=0,m=u.length;d0&&(t=i.retMsg),r){var o=null,a=r.getProperty("dim_");if(a){try{o=a.getProperty("dimVec_")}catch(e){t.push(e.message),"Dimension does not have requested property(dimVec_)"===e.message&&(o=null)}o&&(n=l.getInstance().getUnitsByDimension(o))}else t.push("No commensurable units were found for "+e)}else t.push("Could not find unit ".concat(e,"."));return[n,t]}}])&&function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.isBase_=t.isBase_||!1,this.name_=t.name_||"",this.csCode_=t.csCode_||"",this.ciCode_=t.ciCode_||"",this.property_=t.property_||"",this.magnitude_=t.magnitude_||1,void 0===t.dim_||null===t.dim_?this.dim_=new f:void 0!==t.dim_.dimVec_?this.dim_=new f(t.dim_.dimVec_):t.dim_ instanceof f?this.dim_=t.dim_:t.dim_ instanceof Array||d(t.dim_)?this.dim_=new f(t.dim_):this.dim_=new f,this.printSymbol_=t.printSymbol_||null,this.class_=t.class_||null,this.isMetric_=t.isMetric_||!1,this.variable_=t.variable_||null,this.cnv_=t.cnv_||null,this.cnvPfx_=t.cnvPfx_||1,this.isSpecial_=t.isSpecial_||!1,this.isArbitrary_=t.isArbitrary_||!1,this.moleExp_=t.moleExp_||0,this.synonyms_=t.synonyms_||null,this.source_=t.source_||null,this.loincProperty_=t.loincProperty_||null,this.category_=t.category_||null,this.guidance_=t.guidance_||null,this.csUnitString_=t.csUnitString_||null,this.ciUnitString_=t.ciUnitString_||null,this.baseFactorStr_=t.baseFactorStr_||null,this.baseFactor_=t.baseFactor_||null,this.defError_=t.defError_||!1}var t,r;return t=e,(r=[{key:"assignUnity",value:function(){return this.name_="",this.magnitude_=1,this.dim_||(this.dim_=new f),this.dim_.assignZero(),this.cnv_=null,this.cnvPfx_=1,this}},{key:"assignVals",value:function(e){for(var t in e){var n="_"===!t.charAt(t.length-1)?t+"_":t;if(!this.hasOwnProperty(n))throw new Error("Parameter error; ".concat(t," is not a property of a Unit"));this[n]=e[t]}}},{key:"clone",value:function(){var t=this,n=new e;return Object.getOwnPropertyNames(this).forEach((function(e){"dim_"===e?t.dim_?n.dim_=t.dim_.clone():n.dim_=null:n[e]=t[e]})),n}},{key:"assign",value:function(e){var t=this;Object.getOwnPropertyNames(e).forEach((function(n){"dim_"===n?e.dim_?t.dim_=e.dim_.clone():t.dim_=null:t[n]=e[n]}))}},{key:"equals",value:function(e){return this.magnitude_===e.magnitude_&&this.cnv_===e.cnv_&&this.cnvPfx_===e.cnvPfx_&&(null===this.dim_&&null===e.dim_||this.dim_.equals(e.dim_))}},{key:"fullEquals",value:function(e){for(var t=Object.keys(this).sort(),n=Object.keys(e).sort(),i=t.length,r=i===n.length,o=0;o0){var t=e.replace("/","!").replace(".","/").replace("!",".");switch(t.charAt(0)){case".":e=t.substr(1);break;case"/":e=t;break;default:e="/"+t}}return e}},{key:"_concatStrs",value:function(e,t,n,i,r){return this._buildOneString(e,i,r)+t+this._buildOneString(n,i,r)}},{key:"_buildOneString",value:function(e,t,n){return s.isNumericString(e)||"("===e.charAt(0)&&e.endsWith(")")||"["===e.charAt(0)&&e.endsWith("]")?e:/[./* ]/.test(e)?t+e+n:e}},{key:"power",value:function(e){if(null!=this.cnv_)throw new Error("Attempt to raise a non-ratio unit, ".concat(this.name_,", ")+"to a power.");for(var t=this.csCode_.match(/([./]|[^./]+)/g),n=t.length,i=0;i=0;s--){var l=parseInt(r[s]);if(!d(l)){if("-"!==r[s]&&"+"!==r[s]||s--,s0)r[0]=null,r[1]=null;else{this.retMsg_.length;var a=null;for(a in l.specUnits_)for(;-1!==e.indexOf(a);)e=e.replace(a,l.specUnits_[a]);if(e.indexOf(" ")>-1)throw new Error("Blank spaces are not allowed in unit expressions.");var s=(r=this._parseTheString(e,i))[0];(o.isIntegerUnit(s)||"number"==typeof s)&&(s=new u({csCode_:i,ciCode_:i,magnitude_:s,name_:i}),r[0]=s)}return r[2]=this.retMsg_,this.suggestions_&&this.suggestions_.length>0&&(r[3]=this.suggestions_),r}},{key:"_parseTheString",value:function(e,t){var n=null,i=this.retMsg_.length>0,r=this._processParens(e,t),a=[];if(!(i=r[2])){e=r[0],t=r[1];var s=this._makeUnitsArray(e,t);if(!(i=s[2])){a=s[0],t=s[1];for(var l=a.length,u=0;u=0){var f=this._getParensUnit(c,t);i||(i=f[1]),i||(a[u].un=f[0])}else{var d=this._makeUnit(c,t);null===d[0]?i=!0:(a[u].un=d[0],t=d[1])}}}}return i||null!==a[0]&&" "!==a[0]&&void 0!==a[0].un&&null!==a[0].un||0!==this.retMsg_.length||(this.retMsg_.push("Unit string (".concat(t,") did not contain ")+"anything that could be used to create a unit, or else something that is not handled yet by this package. Sorry"),i=!0),i||(n=this._performUnitArithmetic(a,t)),[n,t]}},{key:"_getAnnotations",value:function(t){for(var n=t.indexOf("{");n>=0;){var i=t.indexOf("}");if(i<0)this.retMsg_.push("Missing closing brace for annotation starting at "+this.openEmph_+t.substr(n)+this.closeEmph_),n=-1;else{var r=t.substring(n,i+1);if(e.VALID_ANNOTATION_REGEX.test(r)){var o=this.annotations_.length.toString();t=t.replace(r,this.braceFlag_+o+this.braceFlag_),this.annotations_.push(r),n=t.indexOf("{")}else this.retMsg_.push(e.INVALID_ANNOTATION_CHAR_MSG+this.openEmph_+r+this.closeEmph_),n=-1}}if(0==this.retMsg_.length){var a=t.indexOf("}");a>=0&&this.retMsg_.push("Missing opening brace for closing brace found at "+this.openEmph_+t.substring(0,a+1)+this.closeEmph_)}return t}},{key:"_processParens",value:function(e,t){for(var n=[],i=0,r=!1,o=this.parensUnits_.length,a=0;""!==e&&!r;){var s=0,l=0,u=e.indexOf("(");if(u<0){var c=e.indexOf(")");if(c>=0){var f="Missing open parenthesis for close "+"parenthesis at ".concat(e.substring(0,c+a))+"".concat(this.openEmph_).concat(e.substr(c,1)).concat(this.closeEmph_);c0&&(n[i++]=e.substr(0,u));for(var m=0,p=u+1;p0&&(a=e.substr(0,r-1));var s=e.lastIndexOf(this.parensFlag_),l=null;s+this.pFlagLen_=0){var d=this._getAnnoText(a,t);if(d[1]||d[2])throw new Error("Text found before the parentheses ("+"".concat(a,") included an annotation along with other text ")+"for parenthetical unit ".concat(i.csCode_));e+=d[0],this.retMsg_.push("The annotation ".concat(d[0]," before the unit ")+"code is invalid.\n"+this.vcMsgStart_+e+this.vcMsgEnd_)}else this.suggestions_?n="succeeded"!==this._getSuggestions(a):(this.retMsg_.push("".concat(a," preceding the unit code ").concat(e," ")+"is invalid. Unable to make a substitution."),n=!0);if(l)if(l.indexOf(this.braceFlag_)>=0){var m=this._getAnnoText(l,t);if(m[1]||m[2])throw new Error("Text found after the parentheses ("+"".concat(l,") included an annotation along with other text ")+"for parenthetical unit ".concat(i.csCode_));e+=m[0]}else o.isNumericString(l)?(e+=l,i=i.power(Number(l)),this.retMsg_.push("An exponent (".concat(l,") following a parenthesis ")+"is invalid as of revision 1.9 of the UCUM Specification.\n "+this.vcMsgStart_+e+this.vcMsgEnd_)):this.suggestions_?n="succeeded"!==this._getSuggestions(a):(this.retMsg_.push("Text ".concat(l," following the unit code ").concat(e," ")+"is invalid. Unable to make a substitution."),n=!0);return n||(i?o.isIntegerUnit(i)?i=new u({csCode_:i,magnitude_:i,name_:i}):i.csCode_=e:i=new u({csCode_:e,magnitude_:1,name_:e})),[i,n]}},{key:"_getAnnoText",value:function(e,t){var n=e.indexOf(this.braceFlag_),i=n>0?e.substring(0,n):null;0!==n&&(e=e.substr(n));var r=e.indexOf(this.braceFlag_,1),a=r+this.bFlagLen_=this.annotations_.length)throw new Error("Processing Error - invalid annotation index ".concat(s," found ")+"in ".concat(e," that was created from ").concat(t));return[e=this.annotations_[l],i,a]}},{key:"_getSuggestions",value:function(e){var t=o.getSynonyms(e);if("succeeded"===t.status){var n={};n.msg="".concat(e," is not a valid UCUM code. We found possible ")+"units that might be what was meant:",n.invalidUnit=e;var i=t.units.length;n.units=[];for(var r=0;r=0){var i=this._getUnitWithAnnotation(e,t);(n=i[0])&&(t=i[1])}else{if(e.indexOf("^")>-1){var r=e.replace("^","*");(n=this.utabs_.getUnitByCode(r))&&((n=n.clone()).csCode_=n.csCode_.replace("*","^"),n.ciCode_=n.ciCode_.replace("*","^"))}if(!n){var o="["+e+"]";(n=this.utabs_.getUnitByCode(o))&&(n=n.clone(),t=t.replace(e,o),this.retMsg_.push("".concat(e," is not a valid unit expression, but ")+"".concat(o," is.\n")+this.vcMsgStart_+"".concat(o," (").concat(n.name_,")").concat(this.vcMsgEnd_)))}if(!n){var a=this.utabs_.getUnitByName(e);if(a&&a.length>0){for(var s="The UCUM code for "+e+" is "+(n=a[0].clone()).csCode_+".\n"+this.vcMsgStart_+n.csCode_+this.vcMsgEnd_,u=!1,c=0;c"+w+"",csCode_:T+w,ciCode_:R+w,printSymbol_:k+""+w+""})}}else n=null,this.suggestions_?this._getSuggestions(p):this.retMsg_.push("".concat(p," is not a valid UCUM code."))}}return[n,t]}},{key:"_getUnitWithAnnotation",value:function(e,t){var n=null,r=this._getAnnoText(e,t),a=r[0],s=r[1],l=r[2];this.bracesMsg_&&-1===this.retMsg_.indexOf(this.bracesMsg_)&&this.retMsg_.push(this.bracesMsg_);var c,f,d=this.retMsg_.length;if(s||l)if(s&&!l)if(o.isIntegerUnit(s))n=s;else{var m=this._makeUnit(s,t);m[0]?((n=m[0]).csCode_+=a,t=m[1]):this.retMsg_.push("Unable to find a unit for ".concat(s," that ")+"precedes the annotation ".concat(a,"."))}else if(!s&&l)if(o.isIntegerUnit(l))n=l+a,this.retMsg_.push("The annotation ".concat(a," before the ")(i||(c=[""," is invalid.\n"],(f=[""," is invalid.\\n"])||(f=c.slice(0)),i=Object.freeze(Object.defineProperties(c,{raw:{value:Object.freeze(f)}}))),l)+this.vcMsgStart_+n+this.vcMsgEnd_);else{var p=this._makeUnit(l,t);p[0]?((n=p[0]).csCode_+=a,t=n.csCode_,this.retMsg_.push("The annotation ".concat(a," before the unit ")+"code is invalid.\n"+this.vcMsgStart_+n.csCode_+this.vcMsgEnd_)):this.retMsg_.push("Unable to find a unit for ".concat(s," that ")+"follows the annotation ".concat(a,"."))}else this.retMsg_.push("Unable to find a unit for ".concat(s).concat(a)+"".concat(l,".\nWe are not sure how to interpret text both before ")+"and after the annotation. Sorry");else{var h="["+a.substring(1,a.length-1)+"]",g=this._makeUnit(h,t);g[0]?(n=e,this.retMsg_.push("".concat(a," is a valid unit expression, but ")+"did you mean ".concat(h," (").concat(g[0].name_,")?"))):this.retMsg_.length>d&&this.retMsg_.pop(),n=new u({csCode_:a,ciCode_:a,magnitude_:1,name_:a})}return[n,t]}},{key:"_performUnitArithmetic",value:function(e,t){var n=e[0].un;o.isIntegerUnit(n)&&(n=new u({csCode_:n,ciCode_:n,magnitude_:Number(n),name_:n}));for(var i=e.length,r=!1,a=1;a=1&&(n=e.substr(t+r.codeSep_.length),e=e.substr(0,t));var i=this.unitNames_[e];if(i){var o=i.length;if(n&&o>1){for(var a=0;i[a].csCode_!==n&&a0&&(n+=t),"dim_"===e[c])null!==u.dim_&&void 0!==u.dim_&&u.dim_.dimVec_ instanceof Array?n+="["+u.dim_.dimVec_.join(",")+"]":n+="";else{var f=u[e[c]];n+="string"==typeof f?f.replace(/[\n\r]/g," "):f}n+="\r\n"}return n}},{key:"printUnits",value:function(e,t){void 0===e&&(e=!1),void 0===t&&(t="|");var n="",i=this.codeOrder_.length,r="csCode"+t;e&&(r+="ciCode"+t),r+="name"+t,e&&(r+="isBase"+t),r+="magnitude"+t+"dimension"+t+"from unit(s)"+t+"value"+t+"function"+t,e&&(r+="property"+t+"printSymbol"+t+"synonyms"+t+"source"+t+"class"+t+"isMetric"+t+"variable"+t+"isSpecial"+t+"isAbitrary"+t),n=(r+="comment")+"\n";for(var o=0;o=0&&(this.fetchedEOF?this.index0)||this.fetch(t)>=t}},{key:"fetch",value:function(e){if(this.fetchedEOF)return 0;for(var t=0;t=this.tokens.length&&(t=this.tokens.length-1);for(var r=e;r=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[t]}},{key:"adjustSeekIndex",value:function(e){return e}},{key:"lazyInit",value:function(){-1===this.index&&this.setup()}},{key:"setup",value:function(){this.sync(0),this.index=this.adjustSeekIndex(0)}},{key:"setTokenSource",value:function(e){this.tokenSource=e,this.tokens=[],this.index=-1,this.fetchedEOF=!1}},{key:"nextTokenOnChannel",value:function(e,t){if(this.sync(e),e>=this.tokens.length)return-1;for(var n=this.tokens[e];n.channel!==this.channel;){if(n.type===u.EOF)return-1;e+=1,this.sync(e),n=this.tokens[e]}return e}},{key:"previousTokenOnChannel",value:function(e,t){for(;e>=0&&this.tokens[e].channel!==t;)e-=1;return e}},{key:"getHiddenTokensToRight",value:function(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+" not in 0.."+this.tokens.length-1;var n=this.nextTokenOnChannel(e+1,c.DEFAULT_TOKEN_CHANNEL),i=e+1,r=-1===n?this.tokens.length-1:n;return this.filterForChannel(i,r,t)}},{key:"getHiddenTokensToLeft",value:function(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+" not in 0.."+this.tokens.length-1;var n=this.previousTokenOnChannel(e-1,c.DEFAULT_TOKEN_CHANNEL);if(n===e-1)return null;var i=n+1,r=e-1;return this.filterForChannel(i,r,t)}},{key:"filterForChannel",value:function(e,t,n){for(var i=[],r=e;r=this.tokens.length&&(n=this.tokens.length-1);for(var i="",r=t;r=this._size)throw"cannot consume EOF";this._index+=1}},{key:"LA",value:function(e){if(0===e)return 0;e<0&&(e+=1);var t=this._index+e-1;return t<0||t>=this._size?r.EOF:this.data[t]}},{key:"LT",value:function(e){return this.LA(e)}},{key:"mark",value:function(){return-1}},{key:"release",value:function(e){}},{key:"seek",value:function(e){e<=this._index?this._index=e:this._index=Math.min(e,this._size)}},{key:"getText",value:function(e,t){if(t>=this._size&&(t=this._size-1),e>=this._size)return"";if(this.decodeToUnicodeCodePoints){for(var n="",i=e;i<=t;i++)n+=String.fromCodePoint(this.data[i]);return n}return this.strdata.slice(e,t+1)}},{key:"toString",value:function(){return this.strdata}},{key:"index",get:function(){return this._index}},{key:"size",get:function(){return this._size}}])&&function(e,t){for(var n=0;n=this.start&&e=n.stop?(this.intervals.splice(e+1,1),this.reduce(e)):t.stop>=n.start&&(this.intervals[e]=new l(t.start,n.stop),this.intervals.splice(e+1,1))}}},{key:"complement",value:function(t,n){var i=new e;return i.addInterval(new l(t,n+1)),null!==this.intervals&&this.intervals.forEach((function(e){return i.removeRange(e)})),i}},{key:"contains",value:function(e){if(null===this.intervals)return!1;for(var t=0;ti.start&&e.stop=i.stop?(this.intervals.splice(t,1),t-=1):e.start"):e.push("'"+String.fromCharCode(n.start)+"'"):e.push("'"+String.fromCharCode(n.start)+"'..'"+String.fromCharCode(n.stop-1)+"'")}return e.length>1?"{"+e.join(", ")+"}":e[0]}},{key:"toIndexString",value:function(){for(var e=[],t=0;t"):e.push(n.start.toString()):e.push(n.start.toString()+".."+(n.stop-1).toString())}return e.length>1?"{"+e.join(", ")+"}":e[0]}},{key:"toTokenString",value:function(e,t){for(var n=[],i=0;i1?"{"+n.join(", ")+"}":n[0]}},{key:"elementName",value:function(e,t,n){return n===s.EOF?"":n===s.EPSILON?"":e[n]||t[n]}},{key:"length",get:function(){return this.intervals.map((function(e){return e.length})).reduce((function(e,t){return e+t}))}}]),e}();e.exports={Interval:l,IntervalSet:u}},2894:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(7090),o=r.Set,a=r.BitSet,s=n(9616).Token,l=n(4769).ATNConfig,u=n(5062).IntervalSet,c=n(4).RuleStopState,f=n(3412),d=f.RuleTransition,m=f.NotSetTransition,p=f.WildcardTransition,h=f.AbstractPredicateTransition,g=n(9699),y=g.predictionContextFromRuleContext,v=g.PredictionContext,C=g.SingletonPredictionContext,b=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.atn=t}var t,n;return t=e,(n=[{key:"getDecisionLookahead",value:function(t){if(null===t)return null;for(var n=t.transitions.length,i=[],r=0;r":"\n"===e?"\\n":"\t"===e?"\\t":"\r"===e?"\\r":e}},{key:"getCharErrorDisplay",value:function(e){return"'"+this.getErrorDisplayForChar(e)+"'"}},{key:"recover",value:function(e){this._input.LA(1)!==s.EOF&&(e instanceof f?this._interp.consume(this._input):this._input.consume())}},{key:"inputStream",get:function(){return this._input},set:function(e){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=e,this._tokenFactorySourcePair=[this,this._input]}},{key:"sourceName",get:function(){return this._input.sourceName}},{key:"type",get:function(){return this._type},set:function(e){this._type=e}},{key:"line",get:function(){return this._interp.line},set:function(e){this._interp.line=e}},{key:"column",get:function(){return this._interp.column},set:function(e){this._interp.column=e}},{key:"text",get:function(){return null!==this._text?this._text:this._interp.getText(this._input)},set:function(e){this._text=e}}])&&function(e,t){for(var n=0;n0?(this._errHandler.reportMatch(this),this.consume()):(e=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===e.tokenIndex&&this._ctx.addErrorNode(e)),e}},{key:"getParseListeners",value:function(){return this._parseListeners||[]}},{key:"addParseListener",value:function(e){if(null===e)throw"listener";null===this._parseListeners&&(this._parseListeners=[]),this._parseListeners.push(e)}},{key:"removeParseListener",value:function(e){if(null!==this._parseListeners){var t=this._parseListeners.indexOf(e);t>=0&&this._parseListeners.splice(t,1),0===this._parseListeners.length&&(this._parseListeners=null)}}},{key:"removeParseListeners",value:function(){this._parseListeners=null}},{key:"triggerEnterRuleEvent",value:function(){if(null!==this._parseListeners){var e=this._ctx;this._parseListeners.forEach((function(t){t.enterEveryRule(e),e.enterRule(t)}))}}},{key:"triggerExitRuleEvent",value:function(){if(null!==this._parseListeners){var e=this._ctx;this._parseListeners.slice(0).reverse().forEach((function(t){e.exitRule(t),t.exitEveryRule(e)}))}}},{key:"getTokenFactory",value:function(){return this._input.tokenSource._factory}},{key:"setTokenFactory",value:function(e){this._input.tokenSource._factory=e}},{key:"getATNWithBypassAlts",value:function(){var e=this.getSerializedATN();if(null===e)throw"The current parser does not support an ATN with bypass alternatives.";var t=this.bypassAltsAtnCache[e];if(null===t){var n=new C;n.generateRuleBypassTransitions=!0,t=new v(n).deserialize(e),this.bypassAltsAtnCache[e]=t}return t}},{key:"compileParseTreePattern",value:function(e,t,n){if(null===(n=n||null)&&null!==this.getTokenStream()){var i=this.getTokenStream().tokenSource;i instanceof b&&(n=i)}if(null===n)throw"Parser can't discover a lexer to use";return new ParseTreePatternMatcher(n,this).compile(e,t)}},{key:"getInputStream",value:function(){return this.getTokenStream()}},{key:"setInputStream",value:function(e){this.setTokenStream(e)}},{key:"getTokenStream",value:function(){return this._input}},{key:"setTokenStream",value:function(e){this._input=null,this.reset(),this._input=e}},{key:"getCurrentToken",value:function(){return this._input.LT(1)}},{key:"notifyErrorListeners",value:function(e,t,n){n=n||null,null===(t=t||null)&&(t=this.getCurrentToken()),this._syntaxErrors+=1;var i=t.line,r=t.column;this.getErrorListenerDispatch().syntaxError(this,t,i,r,e,n)}},{key:"consume",value:function(){var e=this.getCurrentToken();e.type!==f.EOF&&this.getInputStream().consume();var t,n=null!==this._parseListeners&&this._parseListeners.length>0;return(this.buildParseTrees||n)&&((t=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(e):this._ctx.addTokenNode(e)).invokingState=this.state,n&&this._parseListeners.forEach((function(e){t instanceof h||void 0!==t.isErrorNode&&t.isErrorNode()?e.visitErrorNode(t):t instanceof p&&e.visitTerminal(t)}))),e}},{key:"addContextToParseTree",value:function(){null!==this._ctx.parentCtx&&this._ctx.parentCtx.addChild(this._ctx)}},{key:"enterRule",value:function(e,t,n){this.state=t,this._ctx=e,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}},{key:"exitRule",value:function(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}},{key:"enterOuterAlt",value:function(e,t){e.setAltNumber(t),this.buildParseTrees&&this._ctx!==e&&null!==this._ctx.parentCtx&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(e)),this._ctx=e}},{key:"getPrecedence",value:function(){return 0===this._precedenceStack.length?-1:this._precedenceStack[this._precedenceStack.length-1]}},{key:"enterRecursionRule",value:function(e,t,n,i){this.state=t,this._precedenceStack.push(i),this._ctx=e,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}},{key:"pushNewRecursionContext",value:function(e,t,n){var i=this._ctx;i.parentCtx=e,i.invokingState=t,i.stop=this._input.LT(-1),this._ctx=e,this._ctx.start=i.start,this.buildParseTrees&&this._ctx.addChild(i),this.triggerEnterRuleEvent()}},{key:"unrollRecursionContexts",value:function(e){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);var t=this._ctx,n=this.getParseListeners();if(null!==n&&n.length>0)for(;this._ctx!==e;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=e;t.parentCtx=e,this.buildParseTrees&&null!==e&&e.addChild(t)}},{key:"getInvokingContext",value:function(e){for(var t=this._ctx;null!==t;){if(t.ruleIndex===e)return t;t=t.parentCtx}return null}},{key:"precpred",value:function(e,t){return t>=this._precedenceStack[this._precedenceStack.length-1]}},{key:"inContext",value:function(e){return!1}},{key:"isExpectedToken",value:function(e){var t=this._interp.atn,n=this._ctx,i=t.states[this.state],r=t.nextTokens(i);if(r.contains(e))return!0;if(!r.contains(f.EPSILON))return!1;for(;null!==n&&n.invokingState>=0&&r.contains(f.EPSILON);){var o=t.states[n.invokingState].transitions[0];if((r=t.nextTokens(o.followState)).contains(e))return!0;n=n.parentCtx}return!(!r.contains(f.EPSILON)||e!==f.EOF)}},{key:"getExpectedTokens",value:function(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}},{key:"getExpectedTokensWithinCurrentRule",value:function(){var e=this._interp.atn,t=e.states[this.state];return e.nextTokens(t)}},{key:"getRuleIndex",value:function(e){var t=this.getRuleIndexMap()[e];return null!==t?t:-1}},{key:"getRuleInvocationStack",value:function(e){null===(e=e||null)&&(e=this._ctx);for(var t=[];null!==e;){var n=e.ruleIndex;n<0?t.push("n/a"):t.push(this.ruleNames[n]),e=e.parentCtx}return t}},{key:"getDFAStrings",value:function(){return this._interp.decisionToDFA.toString()}},{key:"dumpDFA",value:function(){for(var e=!1,t=0;t0&&(e&&console.log(),this.printer.println("Decision "+n.decision+":"),this.printer.print(n.toString(this.literalNames,this.symbolicNames)),e=!0)}}},{key:"getSourceName",value:function(){return this._input.sourceName}},{key:"setTrace",value:function(e){e?(null!==this._tracer&&this.removeParseListener(this._tracer),this._tracer=new x(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}}]),n}(g);E.bypassAltsAtnCache={},e.exports=E},788:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}var a=n(3680),s=n(4524),l=s.INVALID_INTERVAL,u=s.TerminalNode,c=s.TerminalNodeImpl,f=s.ErrorNodeImpl,d=n(5062).Interval,m=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)}(p,e);var t,n,a,s,m=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=o(t);if(n){var a=o(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function p(e,t){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),e=e||null,t=t||null,(n=m.call(this,e,t)).ruleIndex=-1,n.children=null,n.start=null,n.stop=null,n.exception=null,n}return a=p,(s=[{key:"copyFrom",value:function(e){this.parentCtx=e.parentCtx,this.invokingState=e.invokingState,this.children=null,this.start=e.start,this.stop=e.stop,e.children&&(this.children=[],e.children.map((function(e){e instanceof f&&(this.children.push(e),e.parentCtx=this)}),this))}},{key:"enterRule",value:function(e){}},{key:"exitRule",value:function(e){}},{key:"addChild",value:function(e){return null===this.children&&(this.children=[]),this.children.push(e),e}},{key:"removeLastChild",value:function(){null!==this.children&&this.children.pop()}},{key:"addTokenNode",value:function(e){var t=new c(e);return this.addChild(t),t.parentCtx=this,t}},{key:"addErrorNode",value:function(e){var t=new f(e);return this.addChild(t),t.parentCtx=this,t}},{key:"getChild",value:function(e,t){if(t=t||null,null===this.children||e<0||e>=this.children.length)return null;if(null===t)return this.children[e];for(var n=0;n=this.children.length)return null;for(var n=0;n0&&(e+=", "),this.returnStates[t]!==v.EMPTY_RETURN_STATE?(e+=this.returnStates[t],null!==this.parents[t]?e=e+" "+this.parents[t]:e+="null"):e+="$";return e+"]"}},{key:"length",get:function(){return this.returnStates.length}}]),n}(v);e.exports={merge:function e(t,n,i,r){if(t===n)return t;if(t instanceof b&&n instanceof b)return function(t,n,i,r){if(null!==r){var o=r.get(t,n);if(null!==o)return o;if(null!==(o=r.get(n,t)))return o}var a=function(e,t,n){if(n){if(e===v.EMPTY)return v.EMPTY;if(t===v.EMPTY)return v.EMPTY}else{if(e===v.EMPTY&&t===v.EMPTY)return v.EMPTY;if(e===v.EMPTY){var i=[t.returnState,v.EMPTY_RETURN_STATE],r=[t.parentCtx,null];return new E(r,i)}if(t===v.EMPTY){var o=[e.returnState,v.EMPTY_RETURN_STATE],a=[e.parentCtx,null];return new E(a,o)}}return null}(t,n,i);if(null!==a)return null!==r&&r.set(t,n,a),a;if(t.returnState===n.returnState){var s=e(t.parentCtx,n.parentCtx,i,r);if(s===t.parentCtx)return t;if(s===n.parentCtx)return n;var l=b.create(s,t.returnState);return null!==r&&r.set(t,n,l),l}var u=null;if((t===n||null!==t.parentCtx&&t.parentCtx===n.parentCtx)&&(u=t.parentCtx),null!==u){var c=[t.returnState,n.returnState];t.returnState>n.returnState&&(c[0]=n.returnState,c[1]=t.returnState);var f=new E([u,u],c);return null!==r&&r.set(t,n,f),f}var d=[t.returnState,n.returnState],m=[t.parentCtx,n.parentCtx];t.returnState>n.returnState&&(d[0]=n.returnState,d[1]=t.returnState,m=[n.parentCtx,t.parentCtx]);var p=new E(m,d);return null!==r&&r.set(t,n,p),p}(t,n,i,r);if(i){if(t instanceof x)return t;if(n instanceof x)return n}return t instanceof b&&(t=new E([t.getParent()],[t.returnState])),n instanceof b&&(n=new E([n.getParent()],[n.returnState])),function(t,n,i,r){if(null!==r){var o=r.get(t,n);if(null!==o)return o;if(null!==(o=r.get(n,t)))return o}for(var a=0,s=0,l=0,u=[],c=[];at.length?e.length:t.length;this.tokenNames=[];for(var i=0;i";var t=e.text;return null===t&&(t=e.type===r.EOF?"":"<"+e.type+">"),"'"+(t=t.replace("\n","\\n").replace("\r","\\r").replace("\t","\\t"))+"'"}},{key:"getErrorListenerDispatch",value:function(){return new a(this._listeners)}},{key:"sempred",value:function(e,t,n){return!0}},{key:"precpred",value:function(e,t){return!0}},{key:"state",get:function(){return this._stateNumber},set:function(e){this._stateNumber=e}}])&&function(e,t){for(var n=0;n=0&&r","[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+e+"',<"+this.type+">"+(this.channel>0?",channel="+this.channel:"")+","+this.line+":"+this.column+"]"}},{key:"text",get:function(){if(null!==this._text)return this._text;var e=this.getInputStream();if(null===e)return null;var t=e.size;return this.start"},set:function(e){this._text=e}}]),c}(s);l.EMPTY_SOURCE=[null,null],e.exports={Token:s,CommonToken:l}},7090:function(e){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,n){for(var i=0;i>>16)*a&65535)<<16)&4294967295)<<15|t>>>17))*s+(((t>>>16)*s&65535)<<16)&4294967295)<<13|o>>>19))+((5*(o>>>16)&65535)<<16)&4294967295))+((58964+(e>>>16)&65535)<<16);switch(t=0,i){case 3:t^=(255&n.charCodeAt(l+2))<<16;case 2:t^=(255&n.charCodeAt(l+1))<<8;case 1:o^=t=(65535&(t=(t=(65535&(t^=255&n.charCodeAt(l)))*a+(((t>>>16)*a&65535)<<16)&4294967295)<<15|t>>>17))*s+(((t>>>16)*s&65535)<<16)&4294967295}return o^=n.length,o=2246822507*(65535&(o^=o>>>16))+((2246822507*(o>>>16)&65535)<<16)&4294967295,o=3266489909*(65535&(o^=o>>>13))+((3266489909*(o>>>16)&65535)<<16)&4294967295,(o^=o>>>16)>>>0};var u=function(){function e(t,i){n(this,e),this.data={},this.hashFunction=t||l,this.equalsFunction=i||s}return r(e,[{key:"add",value:function(e){var t="hash_"+this.hashFunction(e);if(t in this.data){for(var n=this.data[t],i=0;i>>17,i*=461845907,this.count=this.count+1;var r=this.hash^i;r=5*(r=r<<13|r>>>19)+3864292196,this.hash=r}}}},{key:"finish",value:function(){var e=this.hash^4*this.count;return e^=e>>>16,e*=2246822507,e^=e>>>13,(e*=3266489909)^e>>>16}}]),e}();e.exports={Hash:p,Set:u,Map:f,BitSet:c,AltDict:d,DoubleDict:m,hashStuff:function(){var e=new p;return e.update.apply(e,arguments),e.finish()},escapeWhitespace:function(e,t){return e=e.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(e=e.replace(/ /g,"·")),e},arrayToString:a,titleCase:function(e){return e.replace(/\w\S*/g,(function(e){return e.charAt(0).toUpperCase()+e.substr(1)}))},equalArrays:function(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e===t)return!0;if(e.length!==t.length)return!1;for(var n=0;n=this.states.length)throw"Invalid state number.";var n=this.states[e],i=this.nextTokens(n);if(!i.contains(a.EPSILON))return i;var r=new o;for(r.addSet(i),r.removeOne(a.EPSILON);null!==t&&t.invokingState>=0&&i.contains(a.EPSILON);){var s=this.states[t.invokingState].transitions[0];i=this.nextTokens(s.followState),r.addSet(i),r.removeOne(a.EPSILON),t=t.parentCtx}return i.contains(a.EPSILON)&&r.addOne(a.EOF),r}}])&&function(e,t){for(var n=0;n0?",up="+this.reachesIntoOuterContext:"")+")"}}]),e}(),y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}(c,e);var t,n,i=(t=c,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,i=l(t);if(n){var r=l(this).constructor;e=Reflect.construct(i,arguments,r)}else e=i.apply(this,arguments);return a(this,e)});function c(e,t){var n;u(this,c),n=i.call(this,e,t);var r=e.lexerActionExecutor||null;return n.lexerActionExecutor=r||(null!==t?t.lexerActionExecutor:null),n.passedThroughNonGreedyDecision=null!==t&&n.checkNonGreedyDecision(t,n.state),n.hashCodeForConfigSet=c.prototype.hashCode,n.equalsForConfigSet=c.prototype.equals,a(n,s(n))}return f(c,[{key:"updateHashCode",value:function(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}},{key:"equals",value:function(e){return this===e||e instanceof c&&this.passedThroughNonGreedyDecision===e.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(e.lexerActionExecutor):!e.lexerActionExecutor)&&r(l(c.prototype),"equals",this).call(this,e)}},{key:"checkNonGreedyDecision",value:function(e,t){return e.passedThroughNonGreedyDecision||t instanceof d&&t.nonGreedy}}]),c}(g);e.exports.ATNConfig=g,e.exports.LexerATNConfig=y},5327:function(e,t,n){function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n0&&(this.dipsIntoOuterContext=!0);var n=this.configLookup.add(e);if(n===e)return this.cachedHashCode=-1,this.configs.push(e),!0;var i=!this.fullCtx,r=d(n.context,e.context,i,t);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,e.reachesIntoOuterContext),e.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=r,!0}},{key:"getStates",value:function(){for(var e=new c.Set,t=0;t=n}},{key:"deserialize",value:function(e){this.reset(e),this.checkVersion(),this.checkUUID();var t=this.readATN();this.readStates(t),this.readRules(t),this.readModes(t);var n=[];return this.readSets(t,n,this.readInt.bind(this)),this.isFeatureSupported(K,this.uuid)&&this.readSets(t,n,this.readInt32.bind(this)),this.readEdges(t,n),this.readDecisions(t),this.readLexerActions(t),this.markPrecedenceDecisions(t),this.verifyATN(t),this.deserializationOptions.generateRuleBypassTransitions&&t.grammarType===a.PARSER&&(this.generateRuleBypassTransitions(t),this.verifyATN(t)),t}},{key:"reset",value:function(e){var t=e.split("").map((function(e){var t=e.charCodeAt(0);return t>1?t-2:t+65534}));t[0]=e.charCodeAt(0),this.data=t,this.pos=0}},{key:"checkVersion",value:function(){var e=this.readInt();if(3!==e)throw"Could not deserialize ATN with version "+e+" (expected 3)."}},{key:"checkUUID",value:function(){var e=this.readUUID();if(Q.indexOf(e)<0)throw J;this.uuid=e}},{key:"readATN",value:function(){var e=this.readInt(),t=this.readInt();return new o(e,t)}},{key:"readStates",value:function(e){for(var t,n,i,r=[],o=[],a=this.readInt(),s=0;s0;)r.addTransition(f.transitions[m-1]),f.transitions=f.transitions.slice(-1);e.ruleToStartState[t].addTransition(new I(r)),o.addTransition(new I(s));var p=new u;e.addState(p),p.addTransition(new A(o,e.ruleToTokenType[t])),r.addTransition(new I(p))}},{key:"stateIsEndStateFor",value:function(e,t){if(e.ruleIndex!==t)return null;if(!(e instanceof C))return null;var n=e.transitions[e.transitions.length-1].target;return n instanceof m&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof h?e:null}},{key:"markPrecedenceDecisions",value:function(e){for(var t=0;t=0):this.checkCondition(n.transitions.length<=1||n instanceof h)}}},{key:"checkCondition",value:function(e,t){if(!e)throw null==t&&(t="IllegalState"),t}},{key:"readInt",value:function(){return this.data[this.pos++]}},{key:"readInt32",value:function(){return this.readInt()|this.readInt()<<16}},{key:"readLong",value:function(){return 4294967295&this.readInt32()|this.readInt32()<<32}},{key:"readUUID",value:function(){for(var e=[],t=7;t>=0;t--){var n=this.readInt();e[2*t+1]=255&n,e[2*t]=n>>8&255}return $[e[0]]+$[e[1]]+$[e[2]]+$[e[3]]+"-"+$[e[4]]+$[e[5]]+"-"+$[e[6]]+$[e[7]]+"-"+$[e[8]]+$[e[9]]+"-"+$[e[10]]+$[e[11]]+$[e[12]]+$[e[13]]+$[e[14]]+$[e[15]]}},{key:"edgeFactory",value:function(e,t,n,i,o,a,s,l){var u=e.states[i];switch(t){case D.EPSILON:return new I(u);case D.RANGE:return new T(u,0!==s?r.EOF:o,a);case D.RULE:return new M(e.states[o],a,s,u);case D.PREDICATE:return new O(u,o,a,0!==s);case D.PRECEDENCE:return new _(u,o);case D.ATOM:return new A(u,0!==s?r.EOF:o);case D.ACTION:return new w(u,o,a,0!==s);case D.SET:return new R(u,l[o]);case D.NOT_SET:return new k(u,l[o]);case D.WILDCARD:return new P(u);default:throw"The specified transition type: "+t+" is not valid."}}},{key:"stateFactory",value:function(e,t){if(null===this.stateFactories){var n=[];n[l.INVALID_TYPE]=null,n[l.BASIC]=function(){return new u},n[l.RULE_START]=function(){return new p},n[l.BLOCK_START]=function(){return new E},n[l.PLUS_BLOCK_START]=function(){return new b},n[l.STAR_BLOCK_START]=function(){return new x},n[l.TOKEN_START]=function(){return new g},n[l.RULE_STOP]=function(){return new h},n[l.BLOCK_END]=function(){return new d},n[l.STAR_LOOP_BACK]=function(){return new v},n[l.STAR_LOOP_ENTRY]=function(){return new C},n[l.PLUS_LOOP_BACK]=function(){return new y},n[l.LOOP_END]=function(){return new m},this.stateFactories=n}if(e>this.stateFactories.length||null===this.stateFactories[e])throw"The specified state type "+e+" is not valid.";var i=this.stateFactories[e]();if(null!==i)return i.ruleIndex=t,i}},{key:"lexerActionFactory",value:function(e,t,n){if(null===this.actionFactories){var i=[];i[U.CHANNEL]=function(e,t){return new q(e)},i[U.CUSTOM]=function(e,t){return new z(e,t)},i[U.MODE]=function(e,t){return new W(e)},i[U.MORE]=function(e,t){return j.INSTANCE},i[U.POP_MODE]=function(e,t){return G.INSTANCE},i[U.PUSH_MODE]=function(e,t){return new V(e)},i[U.SKIP]=function(e,t){return F.INSTANCE},i[U.TYPE]=function(e,t){return new H(e)},this.actionFactories=i}if(e>this.actionFactories.length||null===this.actionFactories[e])throw"The specified lexer action type "+e+" is not valid.";return this.actionFactories[e](t,n)}}])&&function(e,t){for(var n=0;nE.MAX_DFA_EDGE)return null;var n=e.edges[t-E.MIN_DFA_EDGE];return void 0===n&&(n=null),E.debug&&null!==n&&console.log("reuse state "+e.stateNumber+" edge to "+n.stateNumber),n}},{key:"computeTargetState",value:function(e,t,n){var i=new p;return this.getReachableConfigSet(e,t.configs,i,n),0===i.items.length?(i.hasSemanticContext||this.addDFAEdge(t,n,d.ERROR),d.ERROR):this.addDFAEdge(t,n,null,i)}},{key:"failOrAccept",value:function(e,t,n,i){if(null!==this.prevAccept.dfaState){var r=e.dfaState.lexerActionExecutor;return this.accept(t,r,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}if(i===u.EOF&&t.index===this.startIndex)return u.EOF;throw new x(this.recog,t,this.startIndex,n)}},{key:"getReachableConfigSet",value:function(e,t,n,i){for(var r=f.INVALID_ALT_NUMBER,o=0;oE.MAX_DFA_EDGE||(E.debug&&console.log("EDGE "+e+" -> "+n+" upon "+t),null===e.edges&&(e.edges=[]),e.edges[t-E.MIN_DFA_EDGE]=n),n}},{key:"addDFAState",value:function(e){for(var t=new m(null,e),n=null,i=0;i0&&(o=this.getAltThatFinishedDecisionEntryRule(r))!==c.INVALID_ALT_NUMBER?o:c.INVALID_ALT_NUMBER}},{key:"getAltThatFinishedDecisionEntryRule",value:function(e){for(var t=[],n=0;n0||i.state instanceof m&&i.context.hasEmptyPath())&&t.indexOf(i.alt)<0&&t.push(i.alt)}return 0===t.length?c.INVALID_ALT_NUMBER:Math.min.apply(null,t)}},{key:"splitAccordingToSemanticValidity",value:function(e,t){for(var n=new h(e.fullCtx),i=new h(e.fullCtx),r=0;r50))throw"problem";if(e.state instanceof m){if(!e.context.isEmpty()){for(var s=0;s=0&&(d+=1)}this.closureCheckingStopState(f,t,n,c,r,d,a)}}}},{key:"canDropLoopEntryEdgeInLeftRecursiveRule",value:function(e){var t=e.state;if(t.stateType!==d.STAR_LOOP_ENTRY)return!1;if(t.stateType!==d.STAR_LOOP_ENTRY||!t.isPrecedenceDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;for(var n=e.context.length,i=0;i=0?this.parser.ruleNames[e]:""}},{key:"getEpsilonTarget",value:function(e,t,n,i,r,o){switch(t.serializationType){case k.RULE:return this.ruleTransition(e,t);case k.PRECEDENCE:return this.precedenceTransition(e,t,n,i,r);case k.PREDICATE:return this.predTransition(e,t,n,i,r);case k.ACTION:return this.actionTransition(e,t);case k.EPSILON:return new p({state:t.target},e);case k.ATOM:case k.RANGE:case k.SET:return o&&t.matches(g.EOF,0,1)?new p({state:t.target},e):null;default:return null}}},{key:"actionTransition",value:function(e,t){if(this.debug){var n=-1===t.actionIndex?65535:t.actionIndex;console.log("ACTION edge "+t.ruleIndex+":"+n)}return new p({state:t.target},e)}},{key:"precedenceTransition",value:function(e,t,n,i,r){this.debug&&(console.log("PRED (collectPredicates="+n+") "+t.precedence+">=_p, ctx dependent=true"),null!==this.parser&&console.log("context surrounding pred is "+a.arrayToString(this.parser.getRuleInvocationStack())));var o=null;if(n&&i)if(r){var s=this._input.index;this._input.seek(this._startIndex);var l=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(s),l&&(o=new p({state:t.target},e))}else{var u=S.andContext(e.semanticContext,t.getPredicate());o=new p({state:t.target,semanticContext:u},e)}else o=new p({state:t.target},e);return this.debug&&console.log("config from pred transition="+o),o}},{key:"predTransition",value:function(e,t,n,i,r){this.debug&&(console.log("PRED (collectPredicates="+n+") "+t.ruleIndex+":"+t.predIndex+", ctx dependent="+t.isCtxDependent),null!==this.parser&&console.log("context surrounding pred is "+a.arrayToString(this.parser.getRuleInvocationStack())));var o=null;if(n&&(t.isCtxDependent&&i||!t.isCtxDependent))if(r){var s=this._input.index;this._input.seek(this._startIndex);var l=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(s),l&&(o=new p({state:t.target},e))}else{var u=S.andContext(e.semanticContext,t.getPredicate());o=new p({state:t.target,semanticContext:u},e)}else o=new p({state:t.target},e);return this.debug&&console.log("config from pred transition="+o),o}},{key:"ruleTransition",value:function(e,t){this.debug&&console.log("CALL rule "+this.getRuleName(t.target.ruleIndex)+", ctx="+e.context);var n=t.followState,i=_.create(e.context,n.stateNumber);return new p({state:t.target,context:i},e)}},{key:"getConflictingAlts",value:function(e){var t=x.getConflictingAltSubsets(e);return x.getAlts(t)}},{key:"getConflictingAltsOrUniqueAlt",value:function(e){var t=null;return e.uniqueAlt!==c.INVALID_ALT_NUMBER?(t=new l).add(e.uniqueAlt):t=e.conflictingAlts,t}},{key:"getTokenName",value:function(e){if(e===g.EOF)return"EOF";if(null!==this.parser&&null!==this.parser.literalNames){if(!(e>=this.parser.literalNames.length&&e>=this.parser.symbolicNames.length))return(this.parser.literalNames[e]||this.parser.symbolicNames[e])+"<"+e+">";console.log(e+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens())}return""+e}},{key:"getLookaheadName",value:function(e){return this.getTokenName(e.LA(1))}},{key:"dumpDeadEndConfigs",value:function(e){console.log("dead end configs: ");for(var t=e.getDeadEndConfigs(),n=0;n0){var o=i.state.transitions[0];o instanceof AtomTransition?r="Atom "+this.getTokenName(o.label):o instanceof M&&(r=(o instanceof T?"~":"")+"Set "+o.set)}console.error(i.toString(this.parser,!0)+":"+r)}}},{key:"noViableAlt",value:function(e,t,n,i){return new P(this.parser,e,e.get(i),e.LT(1),n,t)}},{key:"getUniqueAlt",value:function(e){for(var t=c.INVALID_ALT_NUMBER,n=0;n "+i+" upon "+this.getTokenName(n)),null===i)return null;if(i=this.addDFAState(e,i),null===t||n<-1||n>this.atn.maxTokenType)return i;if(null===t.edges&&(t.edges=[]),t.edges[n+1]=i,this.debug){var r=null===this.parser?null:this.parser.literalNames,o=null===this.parser?null:this.parser.symbolicNames;console.log("DFA=\n"+e.toString(r,o))}return i}},{key:"addDFAState",value:function(e,t){if(t===b.ERROR)return t;var n=e.states.get(t);return null!==n?n:(t.stateNumber=e.states.length,t.configs.readOnly||(t.configs.optimizeConfigs(this),t.configs.setReadonly(!0)),e.states.add(t),this.debug&&console.log("adding new DFA state: "+t),t)}},{key:"reportAttemptingFullContext",value:function(e,t,n,i,r){if(this.debug||this.retry_debug){var o=new A(i,r+1);console.log("reportAttemptingFullContext decision="+e.decision+":"+n+", input="+this.parser.getTokenStream().getText(o))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,i,r,t,n)}},{key:"reportContextSensitivity",value:function(e,t,n,i,r){if(this.debug||this.retry_debug){var o=new A(i,r+1);console.log("reportContextSensitivity decision="+e.decision+":"+n+", input="+this.parser.getTokenStream().getText(o))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,i,r,t,n)}},{key:"reportAmbiguity",value:function(e,t,n,i,r,o,a){if(this.debug||this.retry_debug){var s=new A(n,i+1);console.log("reportAmbiguity "+o+":"+a+", input="+this.parser.getTokenStream().getText(s))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,n,i,r,o,a)}}])&&function(e,t){for(var n=0;n1)return!0;return!1},allSubsetsEqual:function(e){for(var t=null,n=0;n=prec}?"}}],[{key:"filterPrecedencePredicates",value:function(e){var t=[];return e.values().map((function(e){e instanceof n&&t.push(e)})),t}}]),n}(h),v=function(e){r(n,e);var t=a(n);function n(e,i){var r;l(this,n),r=t.call(this);var o=new d;e instanceof n?e.opnds.map((function(e){o.add(e)})):o.add(e),i instanceof n?i.opnds.map((function(e){o.add(e)})):o.add(i);var a=y.filterPrecedencePredicates(o);if(a.length>0){var s=null;a.map((function(e){(null===s||e.precedence3?e.slice(3):e).join("&&")}}]),n}(h),C=function(e){r(n,e);var t=a(n);function n(e,i){var r;l(this,n),r=t.call(this);var o=new d;e instanceof n?e.opnds.map((function(e){o.add(e)})):o.add(e),i instanceof n?i.opnds.map((function(e){o.add(e)})):o.add(i);var a=y.filterPrecedencePredicates(o);if(a.length>0){var s=a.sort((function(e,t){return e.compareTo(t)})),u=s[s.length-1];o.add(u)}return r.opnds=Array.from(o.values()),r}return c(n,[{key:"equals",value:function(e){return this===e||e instanceof n&&p(this.opnds,e.opnds)}},{key:"updateHashCode",value:function(e){e.update(this.opnds,"OR")}},{key:"evaluate",value:function(e,t){for(var n=0;n3?e.slice(3):e).join("||")}}]),n}(h);e.exports={SemanticContext:h,PrecedencePredicate:y,Predicate:g}},3412:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(){return r="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(arguments.length<3?e:n):r.value}},r.apply(this,arguments)}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&a(e,t)}function a(e,t){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},a(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l(e);if(t){var o=l(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function u(e,t){for(var n=0;n=this.start&&e<=this.stop}},{key:"toString",value:function(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}}]),n}(y),E=function(e){o(n,e);var t=s(n);function n(e){return f(this,n),t.call(this,e)}return c(n)}(y),S=function(e){o(n,e);var t=s(n);function n(e,i,r,o){var a;return f(this,n),(a=t.call(this,e)).serializationType=y.PREDICATE,a.ruleIndex=i,a.predIndex=r,a.isCtxDependent=o,a.isEpsilon=!0,a}return c(n,[{key:"matches",value:function(e,t,n){return!1}},{key:"getPredicate",value:function(){return new h(this.ruleIndex,this.predIndex,this.isCtxDependent)}},{key:"toString",value:function(){return"pred_"+this.ruleIndex+":"+this.predIndex}}]),n}(E),D=function(e){o(n,e);var t=s(n);function n(e,i,r,o){var a;return f(this,n),(a=t.call(this,e)).serializationType=y.ACTION,a.ruleIndex=i,a.actionIndex=void 0===r?-1:r,a.isCtxDependent=void 0!==o&&o,a.isEpsilon=!0,a}return c(n,[{key:"matches",value:function(e,t,n){return!1}},{key:"toString",value:function(){return"action_"+this.ruleIndex+":"+this.actionIndex}}]),n}(y),A=function(e){o(n,e);var t=s(n);function n(e,i){var r;return f(this,n),(r=t.call(this,e)).serializationType=y.SET,null!=i?r.label=i:(r.label=new m,r.label.addOne(d.INVALID_TYPE)),r}return c(n,[{key:"matches",value:function(e,t,n){return this.label.contains(e)}},{key:"toString",value:function(){return this.label.toString()}}]),n}(y),R=function(e){o(n,e);var t=s(n);function n(e,i){var r;return f(this,n),(r=t.call(this,e,i)).serializationType=y.NOT_SET,r}return c(n,[{key:"matches",value:function(e,t,i){return e>=t&&e<=i&&!r(l(n.prototype),"matches",this).call(this,e,t,i)}},{key:"toString",value:function(){return"~"+r(l(n.prototype),"toString",this).call(this)}}]),n}(A),k=function(e){o(n,e);var t=s(n);function n(e){var i;return f(this,n),(i=t.call(this,e)).serializationType=y.WILDCARD,i}return c(n,[{key:"matches",value:function(e,t,n){return e>=t&&e<=n}},{key:"toString",value:function(){return"."}}]),n}(y),M=function(e){o(n,e);var t=s(n);function n(e,i){var r;return f(this,n),(r=t.call(this,e)).serializationType=y.PRECEDENCE,r.precedence=i,r.isEpsilon=!0,r}return c(n,[{key:"matches",value:function(e,t,n){return!1}},{key:"getPredicate",value:function(){return new g(this.precedence)}},{key:"toString",value:function(){return this.precedence+" >= _p"}}]),n}(E);e.exports={Transition:y,AtomTransition:v,SetTransition:A,NotSetTransition:R,RuleTransition:C,ActionTransition:D,EpsilonTransition:b,RangeTransition:x,WildcardTransition:k,PredicateTransition:S,PrecedencePredicateTransition:M,AbstractPredicateTransition:E}},5212:function(e,t,n){t.ATN=n(7835),t.ATNDeserializer=n(2162),t.LexerATNSimulator=n(4549),t.ParserATNSimulator=n(8877),t.PredictionMode=n(2523)},8386:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(7090).Set,o=n(9324).DFAState,a=n(4).StarLoopEntryState,s=n(5327).ATNConfigSet,l=n(4815).DFASerializer,u=n(4815).LexerDFASerializer,c=function(){function e(t,n){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),void 0===n&&(n=0),this.atnStartState=t,this.decision=n,this._states=new r,this.s0=null,this.precedenceDfa=!1,t instanceof a&&t.isPrecedenceDecision){this.precedenceDfa=!0;var i=new o(null,new s);i.edges=[],i.isAcceptState=!1,i.requiresFullContext=!1,this.s0=i}}var t,n;return t=e,(n=[{key:"getPrecedenceStartState",value:function(e){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return e<0||e>=this.s0.edges.length?null:this.s0.edges[e]||null}},{key:"setPrecedenceStartState",value:function(e,t){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";e<0||(this.s0.edges[e]=t)}},{key:"setPrecedenceDfa",value:function(e){if(this.precedenceDfa!==e){if(this._states=new r,e){var t=new o(null,new s);t.edges=[],t.isAcceptState=!1,t.requiresFullContext=!1,this.s0=t}else this.s0=null;this.precedenceDfa=e}}},{key:"sortedStates",value:function(){return this._states.values().sort((function(e,t){return e.stateNumber-t.stateNumber}))}},{key:"toString",value:function(e,t){return e=e||null,t=t||null,null===this.s0?"":new l(this,e,t).toString()}},{key:"toLexerString",value:function(){return null===this.s0?"":new u(this).toString()}},{key:"states",get:function(){return this._states}}])&&function(e,t){for(var n=0;n")).concat(this.getStateString(a))).concat("\n"))}}return 0===e.length?null:e}},{key:"getEdgeLabel",value:function(e){return 0===e?"EOF":null!==this.literalNames||null!==this.symbolicNames?this.literalNames[e-1]||this.symbolicNames[e-1]:String.fromCharCode(e-1)}},{key:"getStateString",value:function(e){var t=(e.isAcceptState?":":"")+"s"+e.stateNumber+(e.requiresFullContext?"^":"");return e.isAcceptState?null!==e.predicates?t+"=>"+u.arrayToString(e.predicates):t+"=>"+e.prediction.toString():t}}]),e}(),f=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&i(e,t)}(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,i=r(t);if(n){var a=r(this).constructor;e=Reflect.construct(i,arguments,a)}else e=i.apply(this,arguments);return function(e,t){if(t&&("object"===o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function u(e){return a(this,u),s.call(this,e,null)}return l(u,[{key:"getEdgeLabel",value:function(e){return"'"+String.fromCharCode(e)+"'"}}]),u}(c);e.exports={DFASerializer:c,LexerDFASerializer:f}},9324:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n=r.length)return""+n;var o=r[i]||null;return null===o||0===o.length?""+n:"".concat(n," (").concat(o,")")}},{key:"getConflictingAlts",value:function(e,t){if(null!==e)return e;for(var n=new a,i=0;i=0&&e.consume(),this.lastErrorIndex=e._input.index,null===this.lastErrorStates&&(this.lastErrorStates=[]),this.lastErrorStates.push(e.state);var n=this.getErrorRecoverySet(e);this.consumeUntil(e,n)}},{key:"sync",value:function(e){if(!this.inErrorRecoveryMode(e)){var t=e._interp.atn.states[e.state],n=e.getTokenStream().LA(1),i=e.atn.nextTokens(t);if(i.contains(n))return this.nextTokensContext=null,void(this.nextTokenState=y.INVALID_STATE_NUMBER);if(i.contains(f.EPSILON))null===this.nextTokensContext&&(this.nextTokensContext=e._ctx,this.nextTokensState=e._stateNumber);else switch(t.stateType){case y.BLOCK_START:case y.STAR_BLOCK_START:case y.PLUS_BLOCK_START:case y.STAR_LOOP_ENTRY:if(null!==this.singleTokenDeletion(e))return;throw new p(e);case y.PLUS_LOOP_BACK:case y.STAR_LOOP_BACK:this.reportUnwantedToken(e);var r=new b;r.addSet(e.getExpectedTokens());var o=r.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,o)}}}},{key:"reportNoViableAlternative",value:function(e,t){var n,i=e.getTokenStream();n=null!==i?t.startToken.type===f.EOF?"":i.getText(new C(t.startToken.tokenIndex,t.offendingToken.tokenIndex)):"";var r="no viable alternative at input "+this.escapeWSAndQuote(n);e.notifyErrorListeners(r,t.offendingToken,t)}},{key:"reportInputMismatch",value:function(e,t){var n="mismatched input "+this.getTokenErrorDisplay(t.offendingToken)+" expecting "+t.getExpectedTokens().toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t.offendingToken,t)}},{key:"reportFailedPredicate",value:function(e,t){var n="rule "+e.ruleNames[e._ctx.ruleIndex]+" "+t.message;e.notifyErrorListeners(n,t.offendingToken,t)}},{key:"reportUnwantedToken",value:function(e){if(!this.inErrorRecoveryMode(e)){this.beginErrorCondition(e);var t=e.getCurrentToken(),n="extraneous input "+this.getTokenErrorDisplay(t)+" expecting "+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t,null)}}},{key:"reportMissingToken",value:function(e){if(!this.inErrorRecoveryMode(e)){this.beginErrorCondition(e);var t=e.getCurrentToken(),n="missing "+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames)+" at "+this.getTokenErrorDisplay(t);e.notifyErrorListeners(n,t,null)}}},{key:"recoverInline",value:function(e){var t=this.singleTokenDeletion(e);if(null!==t)return e.consume(),t;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new p(e)}},{key:"singleTokenInsertion",value:function(e){var t=e.getTokenStream().LA(1),n=e._interp.atn,i=n.states[e.state].transitions[0].target;return!!n.nextTokens(i,e._ctx).contains(t)&&(this.reportMissingToken(e),!0)}},{key:"singleTokenDeletion",value:function(e){var t=e.getTokenStream().LA(2);if(this.getExpectedTokens(e).contains(t)){this.reportUnwantedToken(e),e.consume();var n=e.getCurrentToken();return this.reportMatch(e),n}return null}},{key:"getMissingSymbol",value:function(e){var t,n=e.getCurrentToken(),i=this.getExpectedTokens(e).first();t=i===f.EOF?"":"";var r=n,o=e.getTokenStream().LT(-1);return r.type===f.EOF&&null!==o&&(r=o),e.getTokenFactory().create(r.source,i,t,f.DEFAULT_CHANNEL,-1,-1,r.line,r.column)}},{key:"getExpectedTokens",value:function(e){return e.getExpectedTokens()}},{key:"getTokenErrorDisplay",value:function(e){if(null===e)return"";var t=e.text;return null===t&&(t=e.type===f.EOF?"":"<"+e.type+">"),this.escapeWSAndQuote(t)}},{key:"escapeWSAndQuote",value:function(e){return"'"+(e=(e=(e=e.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}},{key:"getErrorRecoverySet",value:function(e){for(var t=e._interp.atn,n=e._ctx,i=new b;null!==n&&n.invokingState>=0;){var r=t.states[n.invokingState].transitions[0],o=t.nextTokens(r.followState);i.addSet(o),n=n.parentCtx}return i.removeOne(f.EPSILON),i}},{key:"consumeUntil",value:function(e,t){for(var n=e.getTokenStream().LA(1);n!==f.EOF&&!t.contains(n);)e.consume(),n=e.getTokenStream().LA(1)}}]),n}(function(){function e(){l(this,e)}return c(e,[{key:"reset",value:function(e){}},{key:"recoverInline",value:function(e){}},{key:"recover",value:function(e,t){}},{key:"sync",value:function(e){}},{key:"inErrorRecoveryMode",value:function(e){}},{key:"reportError",value:function(e){}}]),e}()),E=function(e){r(n,e);var t=a(n);function n(){return l(this,n),t.call(this)}return c(n,[{key:"recover",value:function(e,t){for(var n=e._ctx;null!==n;)n.exception=t,n=n.parentCtx;throw new g(t)}},{key:"recoverInline",value:function(e){this.recover(e,new p(e))}},{key:"sync",value:function(e){}}]),n}(x);e.exports={BailErrorStrategy:E,DefaultErrorStrategy:x}},1162:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n=0&&this.startIndex=n)){var r,o=t.charCodeAt(i);return o>=55296&&o<=56319&&n>i+1&&(r=t.charCodeAt(i+1))>=56320&&r<=57343?1024*(o-55296)+r-56320+65536:o}};e?e(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}()},7700:function(){var e,t,n,i;String.fromCodePoint||(e=function(){var e;try{var t={},n=Object.defineProperty;e=n(t,t,t)&&n}catch(e){}return e}(),t=String.fromCharCode,n=Math.floor,i=function(e){var i,r,o=[],a=-1,s=arguments.length;if(!s)return"";for(var l="";++a1114111||n(u)!==u)throw RangeError("Invalid code point: "+u);u<=65535?o.push(u):(i=55296+((u-=65536)>>10),r=u%1024+56320,o.push(i,r)),(a+1===s||o.length>16384)&&(l+=t.apply(null,o),o.length=0)}return l},e?e(String,"fromCodePoint",{value:i,configurable:!0,writable:!0}):String.fromCodePoint=i)},4524:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=s(e);if(t){var o=s(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}function l(e,t){for(var n=0;n":this.symbol.text}}]),n}(g),x=function(e){r(n,e);var t=a(n);function n(e){return c(this,n),t.call(this,e)}return u(n,[{key:"isErrorNode",value:function(){return!0}},{key:"accept",value:function(e){return e.visitErrorNode(this)}}]),n}(b),E=function(){function e(){c(this,e)}return u(e,[{key:"walk",value:function(e,t){if(t instanceof y||void 0!==t.isErrorNode&&t.isErrorNode())e.visitErrorNode(t);else if(t instanceof g)e.visitTerminal(t);else{this.enterRule(e,t);for(var n=0;n0&&(r=u.toStringTree(e.getChild(0),t),a=a.concat(r));for(var s=1;s1)throw new Error("Expected singleton on right side of contains, got "+JSON.stringify(t));return o(e,t)},r.in=function(e,t){if(0==e.length)return[];if(0==t.length)return!1;if(e.length>1)throw new Error("Expected singleton on right side of in, got "+JSON.stringify(t));return o(t,e)},e.exports=r},4461:function(e,t,n){var i={},r=n(968).distinctFn,o=n(7909),a=n(7567),s=a.deepEqual,l=a.maxCollSizeForDeepEqual;i.union=function(e,t){return r(e.concat(t))},i.combineFn=function(e,t){return e.concat(t)},i.intersect=function(e,t){var n=[],i=e.length,a=t.length;if(i&&a)if(i+a>l){var u={};t.forEach((function(e){var t=o(e);u[t]?a--:u[t]=!0}));for(var c=0;c0;++c){var f=e[c],d=o(f);u[d]&&(n.push(f),u[d]=!1,a--)}}else n=r(e).filter((function(e){return t.some((function(t){return s(e,t)}))}));return n},i.exclude=function(e,t){var n=[],i=e.length,r=t.length;if(!r)return e;if(i)if(i+r>l){var a={};t.forEach((function(e){var t=o(e);a[t]=!0})),n=e.filter((function(e){return!a[o(e)]}))}else n=e.filter((function(e){return!t.some((function(t){return s(e,t)}))}));return n},e.exports=i},5263:function(e){e.exports={reset:function(){this.nowDate=new Date,this.today=null,this.now=null,this.timeOfDay=null,this.localTimezoneOffset=null},today:null,now:null,timeOfDay:null}},3526:function(e,t,n){var i={},r=n(7028),o=n(5263),a=r.FP_Date,s=r.FP_DateTime,l=r.FP_Time;i.now=function(){if(!o.now){var e=o.nowDate,t=s.isoDateTime(e);o.now=new s(t)}return o.now},i.today=function(){if(!o.today){var e=o.nowDate,t=a.isoDate(e);o.today=new a(t)}return o.today},i.timeOfDay=function(){if(!o.timeOfDay){var e=o.nowDate,t=s.isoTime(e);o.timeOfDay=new l(t)}return o.timeOfDay},e.exports=i},7567:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(7028),o=r.FP_Type,a=r.FP_Quantity,s=n(1575),l=n(4497),u=Array.prototype.slice,c=Object.keys,f=function(e){return"[object Arguments]"==Object.prototype.toString.call(e)};function d(e){return"string"==typeof e||e instanceof String}function m(e){return!isNaN(parseFloat(e))&&isFinite(e)}function p(e){return e.toUpperCase().replace(/\s+/," ")}function h(e){return null==e}e.exports={deepEqual:function e(t,n,r){if(r||(r={}),(t=s.valDataConverted(t))===(n=s.valDataConverted(n)))return!0;if(r.fuzzy){if(d(t)&&d(n))return p(t)==p(n);if(m(t)&&m(n))return l.isEquivalent(t,n)}else if("number"==typeof t&&"number"==typeof n)return l.isEqual(t,n);if(t instanceof Date&&n instanceof Date)return t.getTime()===n.getTime();if(!t||!n||"object"!=i(t)&&"object"!=i(n))return t===n;var g=t instanceof o,y=n instanceof o;if(g&&y)return r.fuzzy?t.equivalentTo(n):t.equals(n);if(g||y){var v=!1;return"number"==typeof t&&(t=new a(t,"'1'"),v=!0),"number"==typeof n&&(n=new a(n,"'1'"),v=!0),!!v&&(r.fuzzy?t.equivalentTo(n):t.equals(n))}return function(t,n,r){var o,a;if(h(t)||h(n))return!1;if(t.prototype!==n.prototype)return!1;if(f(t)||f(n))return e(t=f(t)?u.call(t):t,n=f(n)?u.call(n):n,r);try{var s=c(t),l=c(n)}catch(e){return!1}if(s.length!=l.length)return!1;for(s.sort(),l.sort(),o=s.length-1;o>=0;o--)if(s[o]!=l[o])return!1;if(1===s.length)return e(t[a=s[0]],n[a],r);for(o=s.length-1;o>=0;o--)if(!e(t[a=s[o]],n[a],r))return!1;return i(t)===i(n)}(t,n,r)},maxCollSizeForDeepEqual:6}},3776:function(e,t,n){function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,r,o,a,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,r=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw r}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0}return r>o},c.lte=function(e,t){if(!e.length||!t.length)return[];var n=i(m(e,t),2),r=n[0],o=n[1];if(r instanceof l){var a=r.compare(o);return null===a?[]:a<=0}return r<=o},c.gte=function(e,t){if(!e.length||!t.length)return[];var n=i(m(e,t),2),r=n[0],o=n[1];if(r instanceof l){var a=r.compare(o);return null===a?[]:a>=0}return r>=o},e.exports=c},4843:function(e,t,n){var i=n(1575),r=n(968),o=r.whereMacro,a=r.distinctFn,s=n(4230),l=n(7909),u=n(7567),c=u.deepEqual,f=u.maxCollSizeForDeepEqual,d={};function m(e,t){var n=e.length,r=t.length,o=n<=r;if(o)if(n+r>f){var a=t.reduce((function(e,t){return e[l(t)]=!0,e}),{});o=!e.some((function(e){return!a[l(e)]}))}else for(var s=function(n,r){var a=i.valData(e[n]);o=t.some((function(e){return c(a,i.valData(e))}))},u=0,d=e.length;ue.length)&&(t=e.length);for(var n=0,i=new Array(t);n":{fn:C.gt,arity:{2:["Any","Any"]},nullable:!0},"<=":{fn:C.lte,arity:{2:["Any","Any"]},nullable:!0},">=":{fn:C.gte,arity:{2:["Any","Any"]},nullable:!0},containsOp:{fn:b.contains,arity:{2:["Any","Any"]}},inOp:{fn:b.in,arity:{2:["Any","Any"]}},isOp:{fn:R.isFn,arity:{2:["Any","TypeSpecifier"]}},asOp:{fn:R.asFn,arity:{2:["Any","TypeSpecifier"]}},"&":{fn:x.amp,arity:{2:["String","String"]}},"+":{fn:x.plus,arity:{2:["Any","Any"]},nullable:!0},"-":{fn:x.minus,arity:{2:["Any","Any"]},nullable:!0},"*":{fn:x.mul,arity:{2:["Any","Any"]},nullable:!0},"/":{fn:x.div,arity:{2:["Any","Any"]},nullable:!0},mod:{fn:x.mod,arity:{2:["Number","Number"]},nullable:!0},div:{fn:x.intdiv,arity:{2:["Number","Number"]},nullable:!0},or:{fn:A.orOp,arity:{2:[["Boolean"],["Boolean"]]}},and:{fn:A.andOp,arity:{2:[["Boolean"],["Boolean"]]}},xor:{fn:A.xorOp,arity:{2:[["Boolean"],["Boolean"]]}},implies:{fn:A.impliesOp,arity:{2:[["Boolean"],["Boolean"]]}}},m.InvocationExpression=function(e,t,n){return n.children.reduce((function(t,n){return m.doEval(e,t,n)}),t)},m.TermExpression=function(e,t,n){return t&&(t=t.map((function(e){return e instanceof Object&&e.resourceType?_(e,e.resourceType):e}))),m.doEval(e,t,n.children[0])},m.PolarityExpression=function(e,t,n){var i=n.terminalNodeText[0],r=m.doEval(e,t,n.children[0]);if(1!==r.length)throw new Error("Unary "+i+" can only be applied to an individual number or Quantity.");if(r[0]instanceof w)"-"===i&&(r[0]=new w(-r[0].value,r[0].unit));else{if("number"!=typeof r[0]||isNaN(r[0]))throw new Error("Unary "+i+" can only be applied to a number or Quantity.");"-"===i&&(r[0]=-r[0])}return r},m.TypeSpecifier=function(e,t,n){var i,r,o=n.text.split(".").map((function(e){return e.replace(/(^`|`$)/g,"")}));switch(o.length){case 2:var a=s(o,2);i=a[0],r=a[1];break;case 1:r=s(o,1)[0];break;default:throw new Error("Expected TypeSpecifier node, got "+JSON.stringify(n))}var l=new O({namespace:i,name:r});if(!l.isValid())throw new Error('"'+l+'" cannot be resolved to a valid type identifier');return l},m.ExternalConstantTerm=function(e,t,n){var i=n.children[0].children[0],r=m.Identifier(e,t,i)[0],o=e.vars[r];if(!(r in e.vars))throw new Error("Attempting to access an undefined environment variable: "+r);return null==o?[]:o instanceof Array?o:[o]},m.LiteralTerm=function(e,t,n){var i=n.children[0];return i?m.doEval(e,t,i):[n.text]},m.StringLiteral=function(e,t,n){var i=n.text.replace(/(^'|'$)/g,"");return[i=i.replace(/\\(u\d{4}|.)/g,(function(e,t){switch(e){case"\\r":return"\r";case"\\n":return"\n";case"\\t":return"\t";case"\\f":return"\f";default:return t.length>1?String.fromCharCode("0x"+t.slice(1)):t}}))]},m.BooleanLiteral=function(e,t,n){return"true"===n.text?[!0]:[!1]},m.QuantityLiteral=function(e,t,n){var i=n.children[0],r=Number(i.terminalNodeText[0]),o=i.children[0],a=o.terminalNodeText[0];return!a&&o.children&&(a=o.children[0].terminalNodeText[0]),[new w(r,a)]},m.DateTimeLiteral=function(e,t,n){var i=n.text.slice(1);return[new M(i)]},m.TimeLiteral=function(e,t,n){var i=n.text.slice(1);return[new T(i)]},m.NumberLiteral=function(e,t,n){return[Number(n.text)]},m.Identifier=function(e,t,n){return[n.text.replace(/(^`|`$)/g,"")]},m.InvocationTerm=function(e,t,n){return m.doEval(e,t,n.children[0])},m.MemberInvocation=function(e,t,n){var i=m.doEval(e,t,n.children[0])[0],r=e.model;if(t){if(f.isCapitalized(i))return t.filter((function(e){return e instanceof P&&e.path===i}));var o=t.path||t.__path__;return t.reduce((function(e,t){return t=_(t,o),f.pushFn(e,f.makeChildResNodes(t,i,r)),e}),[])}return[]},m.IndexerExpression=function(e,t,n){var i=n.children[0],r=n.children[1],o=m.doEval(e,t,i),a=m.doEval(e,t,r);if(f.isEmpty(a))return[];var s=parseInt(a[0]);return o&&f.isSome(s)&&o.length>s&&s>=0?[o[s]]:[]},m.Functn=function(e,t,n){return n.children.map((function(n){return m.doEval(e,t,n)}))},m.realizeParams=function(e,t,n){return n&&n[0]&&n[0].children?n[0].children.map((function(n){return m.doEval(e,t,n)})):[]},m.FunctionInvocation=function(e,t,n){var i=m.doEval(e,t,n.children[0]),r=i[0];return i.shift(),function(e,t,n,i){var r,o,a,s=null!==(r=null===(o=e.userInvocationTable)||void 0===o?void 0:o[t])&&void 0!==r?r:m.invocationTable[t];if(s){if(s.arity){var l=i?i.length:0,u=s.arity[l];if(u){for(var c=[],d=0;d0)if(e.length>c)for(var n={},i=0,r=e.length;i1)throw new Error("Could not convert to quantity: input collection contains multiple items");if(1===e.length){if(t){var i=a._calendarDuration2Seconds[this.unit],o=a._calendarDuration2Seconds[t];if(!i!=!o&&(i>1||o>1))return null;a.mapTimeUnitsToUCUMCode[t]||(t="'".concat(t,"'"))}var s,l=r.valDataConverted(e[0]);if("number"==typeof l)n=new a(l,"'1'");else if(l instanceof a)n=l;else if("boolean"==typeof l)n=new a(l?1:0,"'1'");else if("string"==typeof l&&(s=c.exec(l))){var u=s[1],f=s[5],d=s[6];d&&!a.mapTimeUnitsToUCUMCode[d]||(n=new a(Number(u),f||d||"'1'"))}n&&t&&n.unit!==t&&(n=a.convUnitTo(n.unit,n.value,t))}return n||[]};var f=/^[+-]?\d+(\.\d+)?$/;function d(e){var t=e.slice(3);l["to"+t]=function(n){var i=[];if(n.length>1)throw Error("to "+t+" called for a collection of length "+n.length);if(1===n.length){var a=o[e].checkString(r.valData(n[0]));a&&(i=a)}return i}}l.toDecimal=function(e){if(1!==e.length)return[];var t=r.valData(e[0]);return!1===t?0:!0===t?1:"number"==typeof t?t:"string"==typeof t&&f.test(t)?parseFloat(t):[]},l.toString=function(e){return 1!==e.length?[]:r.valDataConverted(e[0]).toString()},d("FP_Date"),d("FP_DateTime"),d("FP_Time");var m=["true","t","yes","y","1","1.0"].reduce((function(e,t){return e[t]=!0,e}),{}),p=["false","f","no","n","0","0.0"].reduce((function(e,t){return e[t]=!0,e}),{});l.toBoolean=function(e){if(1!==e.length)return[];var t=r.valData(e[0]);switch(i(t)){case"boolean":return t;case"number":if(1===t)return!0;if(0===t)return!1;break;case"string":var n=t.toLowerCase();if(m[n])return!0;if(p[n])return!1}return[]},l.createConvertsToFn=function(e,t){return"string"==typeof t?function(n){return 1!==n.length?[]:i(e(n))===t}:function(n){return 1!==n.length?[]:e(n)instanceof t}};var h={Integer:function(e){var t=r.valData(e[0]);if(Number.isInteger(t))return t},Boolean:function(e){var t=r.valData(e[0]);return!0===t||!1===t?t:1===e.length||void 0},Number:function(e){var t=r.valData(e[0]);if("number"==typeof t)return t},String:function(e){var t=r.valData(e[0]);if("string"==typeof t)return t}};l.singleton=function(e,t){if(e.length>1)throw new Error("Unexpected collection"+JSON.stringify(e)+"; expected singleton of type "+t);if(0===e.length)return[];var n=h[t];if(n){var i=n(e);if(void 0!==i)return i;throw new Error("Expected ".concat(t.toLowerCase(),", but got: ").concat(JSON.stringify(e)))}throw new Error("Not supported type "+t)};var g=new Set;["instant","time","date","dateTime","base64Binary","decimal","integer64","boolean","string","code","markdown","id","integer","unsignedInt","positiveInt","uri","oid","uuid","canonical","url","Integer","Decimal","String","Date","DateTime","Time"].forEach((function(e){return g.add(e)})),l.hasValueFn=function(e){return 1===e.length&&null!=r.valData(e[0])&&g.has(s.fromValue(e[0]).name)},e.exports=l},6183:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(1575),o=n(7028).ResourceNode,a={children:function(e){var t=this.model;return e.reduce((function(e,n){var a=r.valData(n);if(n=o.makeResNode(n),"object"===i(a)){for(var s=0,l=Object.keys(a);s0;)r.pushFn(n,t),t=a.children.call(this,t);return n}};e.exports=a},4497:function(e){var t={};function n(e){var t=/(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/.exec(""+ +e);if(!t)return 0;var n=t[2],i=t[3];return Math.max(0,("0"===n?0:(n||"").length)-(i||0))}function i(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}var r=t.roundToMaxPrecision=function(e){return 1e-8*Math.round(e/1e-8)};t.isEquivalent=function(e,t){if(Number.isInteger(e)&&Number.isInteger(t))return e===t;var r=Math.min(n(e),n(t));return 0===r?Math.round(e)===Math.round(t):i(e,r)===i(t,r)},t.isEqual=function(e,t){return r(e)===r(t)},e.exports=t},2589:function(e,t,n){t.atn=n(5212),t.codepointat=n(2054),t.dfa=n(7853),t.fromcodepoint=n(7700),t.tree=n(703),t.error=n(1770),t.Token=n(9616).Token,t.CommonToken=n(9616).CommonToken,t.InputStream=n(3960),t.CommonTokenStream=n(8617),t.Lexer=n(4149),t.Parser=n(4680);var i=n(9699);t.PredictionContextCache=i.PredictionContextCache,t.ParserRuleContext=n(788),t.Interval=n(5062).Interval,t.IntervalSet=n(5062).IntervalSet,t.Utils=n(7090),t.LL1Analyzer=n(2894).LL1Analyzer},4081:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){for(var n=0;n\t>","?\t?@\t@A\tAB\tBC\tCD\tD","","\b","\b\t\t\t\t\n\n\n\n","\v\v\f\f\r\r\r","","","","","","","","",""," ",' !!!!!"""','"""##$$$$$',"$%%%%%%%&","&&&&&&''((","((())))))*","****++++,,",",,,-------",".......///","/////////0","0000011111","1122222233","3334444445","5555555666","6666677777","7777777788","8888888888","88ƃ\n88ƅ\n88Ƈ\n888Ɗ","\n89999:::::","::::::ƚ\n:\r::ƛ",":ƞ\n::Ơ\n::Ƣ\n::::",":::::ƫ\n:;;Ʈ\n;",";;Ʊ\n;\f;;ƴ\v;<<<","<ƹ\n<\f<<Ƽ\v<<<==","==ǃ\n=\f==dž\v===>",">Nj\n>\r>>nj>>>Ǒ\n>\r>>ǒ",">Ǖ\n>??ǘ\n?\r??Ǚ?","?@@@@@Ǣ\n@\f@@ǥ\v","@@@@@@AAAA","Aǰ\nA\fAAdz\vAAABB","BBǺ\nBCCCCCCD","DǣE\t\v","\r\b\t\n\v\f\r","!#%')+","-/13579;= ?!A","\"C#E$G%I&K'M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5i6k7m8o9q:su;w}","?@Aƒ…‡\f","2;--//C\\aac|2;C\\aac|",'^^bb))\v\f""',"\f\f\n))11^^bbhhppttvv2;CHchȔ","","\t","\v\r","","","","","!","#%","')+","-/","13","57","9;","=?A","CE","GI","KM","OQ","SUW","Y[","]_","ac","eg","ikm","oq","uw","y{","}","‰","‹","\t\v‘","\r“•","—›","Ÿ¡","£¦","¨ª","!­#°%³","'µ)·","+º-½","/À1É","3Í5Ð","7Ô9Ü;Þ","=à?â","AäCé","EïGñ","I÷Kþ","MąOćQČ","SĒUė","WěYĠ","[ħ]Į","_ĺaŀ","cŇeōgŒ","iŘkŠ","mŨoŵ","qƋsƏ","uƭwƵ","yƿ{NJ}Ǘ","ǝǫ","ƒǶ…ǻ","‡ȁ‰Š","0Š‹Œ","]ŒŽ","_Ž\b","-\n‘’/","’\f“”,","”•–1","–—˜f","˜™k™šxš","›œoœ","qžfž","Ÿ ( ","¡¢~¢","£¤>¤¥","?¥¦§",">§¨©","@©ª«","@«¬?¬ ","­®k®¯u",'¯"°±c',"±²u²$³","´?´&µ¶","€¶(·¸","#¸¹?¹*","º»#»¼€","¼,½¾k","¾¿p¿.","ÀÁeÁÂqÂ","ÃpÃÄvÄÅ","cÅÆkÆÇ","pÇÈuÈ0","ÉÊcÊËp","ËÌfÌ2Í","ÎqÎÏtÏ4","ÐÑzÑÒ","qÒÓtÓ6","ÔÕkÕÖo","Ö×r×ØnØ","ÙkÙÚgÚÛ","uÛ8ÜÝ","*Ý:Þß+","ß<àá}","á>âã","ã@äåvå","ætæçwçè","gèBéê","hêëcëìn","ìíuíîg","îDïð'ð","Fñò&òó","vóôjôõ","kõöuöH","÷ø&øùk","ùúpúûfû","ügüýzýJ","þÿ&ÿĀ","vĀāqāĂv","ĂăcăĄn","ĄLąĆ.Ć","NćĈ{Ĉĉ","gĉĊcĊċ","tċPČčo","čĎqĎďp","ďĐvĐđjđ","RĒēyēĔ","gĔĕgĕĖ","mĖTėĘf","ĘęcęĚ{","ĚVěĜjĜ","ĝqĝĞwĞğ","tğXĠġ","oġĢkĢģp","ģĤwĤĥv","ĥĦgĦZħ","ĨuĨĩgĩĪ","eĪīqīĬ","pĬĭfĭ\\","Įįoįİk","İınıIJnIJ","ijkijĴuĴĵ","gĵĶeĶķ","qķĸpĸĹf","Ĺ^ĺĻ{","ĻļgļĽcĽ","ľtľĿuĿ`","ŀŁoŁł","qłŃpŃńv","ńŅjŅņu","ņbŇňyň","ʼngʼnŊgŊŋ","mŋŌuŌd","ōŎfŎŏc","ŏŐ{Őőu","őfŒœjœ","ŔqŔŕwŕŖ","tŖŗuŗh","ŘřořŚk","ŚśpśŜw","ŜŝvŝŞgŞ","şuşjŠš","ušŢgŢţ","eţŤqŤťp","ťŦfŦŧu","ŧlŨũoũ","ŪkŪūnūŬ","nŬŭkŭŮ","uŮůgůŰe","ŰűqűŲp","ŲųfųŴuŴ","nŵŶBŶŷ","\tŷŸ\tŸŹ\t","ŹƆ\tźŻ/","Żż\tżƄ\t","Žž/žſ\tſ","Ƃ\tƀƁVƁƃ","s:ƂƀƂƃ","ƃƅƄŽ","ƄƅƅƇ","ƆźƆƇ","ƇƉƈƊ","\\ƉƈƉƊ","ƊpƋƌ","BƌƍVƍƎs:","ƎrƏƐ\tƐ","ơ\tƑƒ<ƒƓ","\tƓƟ\tƔƕ","<ƕƖ\tƖƝ\t","Ɨƙ0Ƙƚ\t","ƙƘƚƛ","ƛƙƛƜ","ƜƞƝƗ","ƝƞƞƠ","ƟƔƟƠ","ƠƢơƑ","ơƢƢƪ","ƣƫ\\Ƥƥ\tƥ","Ʀ\tƦƧ\tƧƨ","<ƨƩ\tƩƫ\t","ƪƣƪƤ","ƪƫƫt","ƬƮ\tƭƬ","ƮƲƯƱ\t","ưƯƱƴ","ƲưƲƳ","ƳvƴƲ","Ƶƺbƶƹƒ","BƷƹ\nƸƶ","ƸƷƹƼ","ƺƸƺƻ","ƻƽƼƺ","ƽƾbƾx","ƿDŽ)ǀǃƒBǁ","ǃ\nǂǀǂ","ǁǃdžDŽ","ǂDŽDžDž","LJdžDŽLJ","Lj)LjzljNj","\tNJljNjnj","njNJnjǍ","Ǎǔǎǐ","0ǏǑ\tǐǏ","Ǒǒǒǐ","ǒǓǓǕ","ǔǎǔǕ","Ǖ|ǖǘ\t\b","ǗǖǘǙ","ǙǗǙǚ","ǚǛǛǜ\b?","ǜ~ǝǞ1Ǟ","ǟ,ǟǣǠ","Ǣ\vǡǠǢ","ǥǣǤǣ","ǡǤǦǥ","ǣǦǧ,ǧ","Ǩ1Ǩǩǩ","Ǫ\b@Ǫ€ǫǬ","1Ǭǭ1ǭDZ","Ǯǰ\n\tǯǮ","ǰdzDZǯ","DZDzDzǴ","dzDZǴǵ\bA","ǵ‚Ƕǹ^","ǷǺ\t\nǸǺ…Cǹ","ǷǹǸǺ","„ǻǼwǼ","ǽ‡DǽǾ‡DǾǿ","‡DǿȀ‡DȀ†","ȁȂ\t\vȂˆ","ƂƄƆƉƛƝƟ","ơƪƭưƲƸƺǂDŽnjǒǔ","ǙǣDZǹ"].join(""),d=(new c.atn.ATNDeserializer).deserialize(f),m=d.decisionToState.map((function(e,t){return new c.dfa.DFA(e,t)})),p=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}(p,e);var t,n,l,u,f=(l=p,u=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=s(l);if(u){var n=s(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return a(e)}(this,e)});function p(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),(t=f.call(this,e))._interp=new c.atn.LexerATNSimulator(a(t),d,m,new c.PredictionContextCache),t}return t=p,(n=[{key:"atn",get:function(){return d}}])&&r(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),p}(c.Lexer);l(p,"grammarFileName","FHIRPath.g4"),l(p,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN"]),l(p,"modeNames",["DEFAULT_MODE"]),l(p,"literalNames",[null,"'.'","'['","']'","'+'","'-'","'*'","'/'","'div'","'mod'","'&'","'|'","'<='","'<'","'>'","'>='","'is'","'as'","'='","'~'","'!='","'!~'","'in'","'contains'","'and'","'or'","'xor'","'implies'","'('","')'","'{'","'}'","'true'","'false'","'%'","'$this'","'$index'","'$total'","','","'year'","'month'","'week'","'day'","'hour'","'minute'","'second'","'millisecond'","'years'","'months'","'weeks'","'days'","'hours'","'minutes'","'seconds'","'milliseconds'"]),l(p,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"DATETIME","TIME","IDENTIFIER","DELIMITEDIDENTIFIER","STRING","NUMBER","WS","COMMENT","LINE_COMMENT"]),l(p,"ruleNames",["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","T__34","T__35","T__36","T__37","T__38","T__39","T__40","T__41","T__42","T__43","T__44","T__45","T__46","T__47","T__48","T__49","T__50","T__51","T__52","T__53","DATETIME","TIME","TIMEFORMAT","IDENTIFIER","DELIMITEDIDENTIFIER","STRING","NUMBER","WS","COMMENT","LINE_COMMENT","ESC","UNICODE","HEX"]),p.EOF=c.Token.EOF,p.T__0=1,p.T__1=2,p.T__2=3,p.T__3=4,p.T__4=5,p.T__5=6,p.T__6=7,p.T__7=8,p.T__8=9,p.T__9=10,p.T__10=11,p.T__11=12,p.T__12=13,p.T__13=14,p.T__14=15,p.T__15=16,p.T__16=17,p.T__17=18,p.T__18=19,p.T__19=20,p.T__20=21,p.T__21=22,p.T__22=23,p.T__23=24,p.T__24=25,p.T__25=26,p.T__26=27,p.T__27=28,p.T__28=29,p.T__29=30,p.T__30=31,p.T__31=32,p.T__32=33,p.T__33=34,p.T__34=35,p.T__35=36,p.T__36=37,p.T__37=38,p.T__38=39,p.T__39=40,p.T__40=41,p.T__41=42,p.T__42=43,p.T__43=44,p.T__44=45,p.T__45=46,p.T__46=47,p.T__47=48,p.T__48=49,p.T__49=50,p.T__50=51,p.T__51=52,p.T__52=53,p.T__53=54,p.DATETIME=55,p.TIME=56,p.IDENTIFIER=57,p.DELIMITEDIDENTIFIER=58,p.STRING=59,p.NUMBER=60,p.WS=61,p.COMMENT=62,p.LINE_COMMENT=63,e.exports=p},4454:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}var a=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)}(u,e);var t,n,a,s,l=(a=u,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=o(a);if(s){var n=o(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function u(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),l.apply(this,arguments)}return t=u,(n=[{key:"enterEntireExpression",value:function(e){}},{key:"exitEntireExpression",value:function(e){}},{key:"enterIndexerExpression",value:function(e){}},{key:"exitIndexerExpression",value:function(e){}},{key:"enterPolarityExpression",value:function(e){}},{key:"exitPolarityExpression",value:function(e){}},{key:"enterAdditiveExpression",value:function(e){}},{key:"exitAdditiveExpression",value:function(e){}},{key:"enterMultiplicativeExpression",value:function(e){}},{key:"exitMultiplicativeExpression",value:function(e){}},{key:"enterUnionExpression",value:function(e){}},{key:"exitUnionExpression",value:function(e){}},{key:"enterOrExpression",value:function(e){}},{key:"exitOrExpression",value:function(e){}},{key:"enterAndExpression",value:function(e){}},{key:"exitAndExpression",value:function(e){}},{key:"enterMembershipExpression",value:function(e){}},{key:"exitMembershipExpression",value:function(e){}},{key:"enterInequalityExpression",value:function(e){}},{key:"exitInequalityExpression",value:function(e){}},{key:"enterInvocationExpression",value:function(e){}},{key:"exitInvocationExpression",value:function(e){}},{key:"enterEqualityExpression",value:function(e){}},{key:"exitEqualityExpression",value:function(e){}},{key:"enterImpliesExpression",value:function(e){}},{key:"exitImpliesExpression",value:function(e){}},{key:"enterTermExpression",value:function(e){}},{key:"exitTermExpression",value:function(e){}},{key:"enterTypeExpression",value:function(e){}},{key:"exitTypeExpression",value:function(e){}},{key:"enterInvocationTerm",value:function(e){}},{key:"exitInvocationTerm",value:function(e){}},{key:"enterLiteralTerm",value:function(e){}},{key:"exitLiteralTerm",value:function(e){}},{key:"enterExternalConstantTerm",value:function(e){}},{key:"exitExternalConstantTerm",value:function(e){}},{key:"enterParenthesizedTerm",value:function(e){}},{key:"exitParenthesizedTerm",value:function(e){}},{key:"enterNullLiteral",value:function(e){}},{key:"exitNullLiteral",value:function(e){}},{key:"enterBooleanLiteral",value:function(e){}},{key:"exitBooleanLiteral",value:function(e){}},{key:"enterStringLiteral",value:function(e){}},{key:"exitStringLiteral",value:function(e){}},{key:"enterNumberLiteral",value:function(e){}},{key:"exitNumberLiteral",value:function(e){}},{key:"enterDateTimeLiteral",value:function(e){}},{key:"exitDateTimeLiteral",value:function(e){}},{key:"enterTimeLiteral",value:function(e){}},{key:"exitTimeLiteral",value:function(e){}},{key:"enterQuantityLiteral",value:function(e){}},{key:"exitQuantityLiteral",value:function(e){}},{key:"enterExternalConstant",value:function(e){}},{key:"exitExternalConstant",value:function(e){}},{key:"enterMemberInvocation",value:function(e){}},{key:"exitMemberInvocation",value:function(e){}},{key:"enterFunctionInvocation",value:function(e){}},{key:"exitFunctionInvocation",value:function(e){}},{key:"enterThisInvocation",value:function(e){}},{key:"exitThisInvocation",value:function(e){}},{key:"enterIndexInvocation",value:function(e){}},{key:"exitIndexInvocation",value:function(e){}},{key:"enterTotalInvocation",value:function(e){}},{key:"exitTotalInvocation",value:function(e){}},{key:"enterFunctn",value:function(e){}},{key:"exitFunctn",value:function(e){}},{key:"enterParamList",value:function(e){}},{key:"exitParamList",value:function(e){}},{key:"enterQuantity",value:function(e){}},{key:"exitQuantity",value:function(e){}},{key:"enterUnit",value:function(e){}},{key:"exitUnit",value:function(e){}},{key:"enterDateTimePrecision",value:function(e){}},{key:"exitDateTimePrecision",value:function(e){}},{key:"enterPluralDateTimePrecision",value:function(e){}},{key:"exitPluralDateTimePrecision",value:function(e){}},{key:"enterTypeSpecifier",value:function(e){}},{key:"exitTypeSpecifier",value:function(e){}},{key:"enterQualifiedIdentifier",value:function(e){}},{key:"exitQualifiedIdentifier",value:function(e){}},{key:"enterIdentifier",value:function(e){}},{key:"exitIdentifier",value:function(e){}}])&&function(e,t){for(var n=0;n?\f","?@\t\b@PAB\f","BCCPDE\f","EFFP\fGH\f","HIIJJK","KPLM\f\bMN\t\t","NPO)O,","O/O2O5","O8O;","O>OAOD","OGOLPS","QOQRR","SQT\\\f","U\\\bV\\\nWX","XYYZZ\\","[T[U","[V[W\\","]^ ^f!_f\t\n","`f=af>bf9cf",":df\ne]e_","e`ea","ebeced","f\tgj$hk","ik=jhji","k\vlr","mr\bnr%or&","pr'qlqm","qnqoqp","r\rsttv","uw\tvu","vwwxxy","yz","{|(|~}{","~}","€€","‚„>","ƒ…\v„ƒ","„……","†Š\f‡Š\rˆ","Š=‰†‰","‡‰ˆŠ","‹Œ\t\vŒ","Ž\t\fŽ","","‘–’“","“•”’","•˜–”","–——","˜–™š","\t\rš'OQ[ejqv","„‰–"].join(""),v=(new h.atn.ATNDeserializer).deserialize(y),C=v.decisionToState.map((function(e,t){return new h.dfa.DFA(e,t)})),b=new h.PredictionContextCache,x=function(e){l(n,e);var t=c(n);function n(e){var i;return o(this,n),(i=t.call(this,e))._interp=new h.atn.ParserATNSimulator(f(i),v,C,b),i.ruleNames=n.ruleNames,i.literalNames=n.literalNames,i.symbolicNames=n.symbolicNames,i}return s(n,[{key:"atn",get:function(){return v}},{key:"sempred",value:function(e,t,n){if(1===t)return this.expression_sempred(e,n);throw"No predicate with index:"+t}},{key:"expression_sempred",value:function(e,t){switch(t){case 0:return this.precpred(this._ctx,10);case 1:return this.precpred(this._ctx,9);case 2:return this.precpred(this._ctx,8);case 3:return this.precpred(this._ctx,7);case 4:return this.precpred(this._ctx,5);case 5:return this.precpred(this._ctx,4);case 6:return this.precpred(this._ctx,3);case 7:return this.precpred(this._ctx,2);case 8:return this.precpred(this._ctx,1);case 9:return this.precpred(this._ctx,13);case 10:return this.precpred(this._ctx,12);case 11:return this.precpred(this._ctx,6);default:throw"No predicate with index:"+t}}},{key:"entireExpression",value:function(){var e=new E(this,this._ctx,this.state);this.enterRule(e,0,n.RULE_entireExpression);try{this.enterOuterAlt(e,1),this.state=30,this.expression(0),this.state=31,this.match(n.EOF)}catch(t){if(!(t instanceof h.error.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}},{key:"expression",value:function(e){void 0===e&&(e=0);var t=this._ctx,i=this.state,r=new S(this,this._ctx,i);this.enterRecursionRule(r,2,n.RULE_expression,e);var o=0;try{switch(this.enterOuterAlt(r,1),this.state=37,this._errHandler.sync(this),this._input.LA(1)){case n.T__15:case n.T__16:case n.T__21:case n.T__22:case n.T__27:case n.T__29:case n.T__31:case n.T__32:case n.T__33:case n.T__34:case n.T__35:case n.T__36:case n.DATETIME:case n.TIME:case n.IDENTIFIER:case n.DELIMITEDIDENTIFIER:case n.STRING:case n.NUMBER:r=new N(this,r),this._ctx=r,this.state=34,this.term();break;case n.T__3:case n.T__4:r=new A(this,r),this._ctx=r,this.state=35,(o=this._input.LA(1))!==n.T__3&&o!==n.T__4?this._errHandler.recoverInline(this):(this._errHandler.reportMatch(this),this.consume()),this.state=36,this.expression(11);break;default:throw new h.error.NoViableAltException(this)}this._ctx.stop=this._input.LT(-1),this.state=79,this._errHandler.sync(this);for(var a=this._interp.adaptivePredict(this._input,2,this._ctx);2!=a&&a!=h.atn.ATN.INVALID_ALT_NUMBER;){if(1===a)switch(null!==this._parseListeners&&this.triggerExitRuleEvent(),this.state=77,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,1,this._ctx)){case 1:if(r=new k(this,new S(this,t,i)),this.pushNewRecursionContext(r,2,n.RULE_expression),this.state=39,!this.precpred(this._ctx,10))throw new h.error.FailedPredicateException(this,"this.precpred(this._ctx, 10)");this.state=40,0!=(-32&(o=this._input.LA(1)))||0==(1<'","'>='","'is'","'as'","'='","'~'","'!='","'!~'","'in'","'contains'","'and'","'or'","'xor'","'implies'","'('","')'","'{'","'}'","'true'","'false'","'%'","'$this'","'$index'","'$total'","','","'year'","'month'","'week'","'day'","'hour'","'minute'","'second'","'millisecond'","'years'","'months'","'weeks'","'days'","'hours'","'minutes'","'seconds'","'milliseconds'"]),m(x,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"DATETIME","TIME","IDENTIFIER","DELIMITEDIDENTIFIER","STRING","NUMBER","WS","COMMENT","LINE_COMMENT"]),m(x,"ruleNames",["entireExpression","expression","term","literal","externalConstant","invocation","functn","paramList","quantity","unit","dateTimePrecision","pluralDateTimePrecision","typeSpecifier","qualifiedIdentifier","identifier"]),x.EOF=h.Token.EOF,x.T__0=1,x.T__1=2,x.T__2=3,x.T__3=4,x.T__4=5,x.T__5=6,x.T__6=7,x.T__7=8,x.T__8=9,x.T__9=10,x.T__10=11,x.T__11=12,x.T__12=13,x.T__13=14,x.T__14=15,x.T__15=16,x.T__16=17,x.T__17=18,x.T__18=19,x.T__19=20,x.T__20=21,x.T__21=22,x.T__22=23,x.T__23=24,x.T__24=25,x.T__25=26,x.T__26=27,x.T__27=28,x.T__28=29,x.T__29=30,x.T__30=31,x.T__31=32,x.T__32=33,x.T__33=34,x.T__34=35,x.T__35=36,x.T__36=37,x.T__37=38,x.T__38=39,x.T__39=40,x.T__40=41,x.T__41=42,x.T__42=43,x.T__43=44,x.T__44=45,x.T__45=46,x.T__46=47,x.T__47=48,x.T__48=49,x.T__49=50,x.T__50=51,x.T__51=52,x.T__52=53,x.T__53=54,x.DATETIME=55,x.TIME=56,x.IDENTIFIER=57,x.DELIMITEDIDENTIFIER=58,x.STRING=59,x.NUMBER=60,x.WS=61,x.COMMENT=62,x.LINE_COMMENT=63,x.RULE_entireExpression=0,x.RULE_expression=1,x.RULE_term=2,x.RULE_literal=3,x.RULE_externalConstant=4,x.RULE_invocation=5,x.RULE_functn=6,x.RULE_paramList=7,x.RULE_quantity=8,x.RULE_unit=9,x.RULE_dateTimePrecision=10,x.RULE_pluralDateTimePrecision=11,x.RULE_typeSpecifier=12,x.RULE_qualifiedIdentifier=13,x.RULE_identifier=14;var E=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_entireExpression,a}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(S,0)}},{key:"EOF",value:function(){return this.getToken(x.EOF,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterEntireExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitEntireExpression(this)}}]),n}(h.ParserRuleContext),S=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_expression,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),D=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterIndexerExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitIndexerExpression(this)}}]),n}(S);x.IndexerExpressionContext=D;var A=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(S,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterPolarityExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitPolarityExpression(this)}}]),n}(S);x.PolarityExpressionContext=A;var R=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterAdditiveExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitAdditiveExpression(this)}}]),n}(S);x.AdditiveExpressionContext=R;var k=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterMultiplicativeExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitMultiplicativeExpression(this)}}]),n}(S);x.MultiplicativeExpressionContext=k;var M=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterUnionExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitUnionExpression(this)}}]),n}(S);x.UnionExpressionContext=M;var T=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterOrExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitOrExpression(this)}}]),n}(S);x.OrExpressionContext=T;var w=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterAndExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitAndExpression(this)}}]),n}(S);x.AndExpressionContext=w;var I=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterMembershipExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitMembershipExpression(this)}}]),n}(S);x.MembershipExpressionContext=I;var P=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterInequalityExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitInequalityExpression(this)}}]),n}(S);x.InequalityExpressionContext=P;var O=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(S,0)}},{key:"invocation",value:function(){return this.getTypedRuleContext($,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterInvocationExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitInvocationExpression(this)}}]),n}(S);x.InvocationExpressionContext=O;var _=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterEqualityExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitEqualityExpression(this)}}]),n}(S);x.EqualityExpressionContext=_;var L=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterImpliesExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitImpliesExpression(this)}}]),n}(S);x.ImpliesExpressionContext=L;var N=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"term",value:function(){return this.getTypedRuleContext(U,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTermExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTermExpression(this)}}]),n}(S);x.TermExpressionContext=N;var B=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(S,0)}},{key:"typeSpecifier",value:function(){return this.getTypedRuleContext(ce,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTypeExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTypeExpression(this)}}]),n}(S);x.TypeExpressionContext=B;var U=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_term,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),F=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"externalConstant",value:function(){return this.getTypedRuleContext(Y,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterExternalConstantTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitExternalConstantTerm(this)}}]),n}(U);x.ExternalConstantTermContext=F;var q=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"literal",value:function(){return this.getTypedRuleContext(H,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterLiteralTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitLiteralTerm(this)}}]),n}(U);x.LiteralTermContext=q;var z=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(S,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterParenthesizedTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitParenthesizedTerm(this)}}]),n}(U);x.ParenthesizedTermContext=z;var j=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"invocation",value:function(){return this.getTypedRuleContext($,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterInvocationTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitInvocationTerm(this)}}]),n}(U);x.InvocationTermContext=j;var H=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_literal,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),V=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"TIME",value:function(){return this.getToken(x.TIME,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTimeLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTimeLiteral(this)}}]),n}(H);x.TimeLiteralContext=V;var G=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterNullLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitNullLiteral(this)}}]),n}(H);x.NullLiteralContext=G;var W=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"DATETIME",value:function(){return this.getToken(x.DATETIME,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterDateTimeLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitDateTimeLiteral(this)}}]),n}(H);x.DateTimeLiteralContext=W;var K=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"STRING",value:function(){return this.getToken(x.STRING,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterStringLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitStringLiteral(this)}}]),n}(H);x.StringLiteralContext=K;var Q=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterBooleanLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitBooleanLiteral(this)}}]),n}(H);x.BooleanLiteralContext=Q;var J=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"NUMBER",value:function(){return this.getToken(x.NUMBER,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterNumberLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitNumberLiteral(this)}}]),n}(H);x.NumberLiteralContext=J;var X=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"quantity",value:function(){return this.getTypedRuleContext(ae,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterQuantityLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitQuantityLiteral(this)}}]),n}(H);x.QuantityLiteralContext=X;var Y=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_externalConstant,a}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"STRING",value:function(){return this.getToken(x.STRING,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterExternalConstant(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitExternalConstant(this)}}]),n}(h.ParserRuleContext),$=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_invocation,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),Z=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterTotalInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTotalInvocation(this)}}]),n}($);x.TotalInvocationContext=Z;var ee=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterThisInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitThisInvocation(this)}}]),n}($);x.ThisInvocationContext=ee;var te=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterIndexInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitIndexInvocation(this)}}]),n}($);x.IndexInvocationContext=te;var ne=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"functn",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterFunctionInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitFunctionInvocation(this)}}]),n}($);x.FunctionInvocationContext=ne;var ie=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterMemberInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitMemberInvocation(this)}}]),n}($);x.MemberInvocationContext=ie;var re=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_functn,a}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"paramList",value:function(){return this.getTypedRuleContext(oe,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterFunctn(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitFunctn(this)}}]),n}(h.ParserRuleContext),oe=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),m(f(a=t.call(this,i,r)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),a.parser=e,a.ruleIndex=x.RULE_paramList,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterParamList(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitParamList(this)}}]),n}(h.ParserRuleContext),ae=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_quantity,a}return s(n,[{key:"NUMBER",value:function(){return this.getToken(x.NUMBER,0)}},{key:"unit",value:function(){return this.getTypedRuleContext(se,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterQuantity(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitQuantity(this)}}]),n}(h.ParserRuleContext),se=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_unit,a}return s(n,[{key:"dateTimePrecision",value:function(){return this.getTypedRuleContext(le,0)}},{key:"pluralDateTimePrecision",value:function(){return this.getTypedRuleContext(ue,0)}},{key:"STRING",value:function(){return this.getToken(x.STRING,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterUnit(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitUnit(this)}}]),n}(h.ParserRuleContext),le=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_dateTimePrecision,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterDateTimePrecision(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitDateTimePrecision(this)}}]),n}(h.ParserRuleContext),ue=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_pluralDateTimePrecision,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterPluralDateTimePrecision(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitPluralDateTimePrecision(this)}}]),n}(h.ParserRuleContext),ce=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_typeSpecifier,a}return s(n,[{key:"qualifiedIdentifier",value:function(){return this.getTypedRuleContext(fe,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTypeSpecifier(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTypeSpecifier(this)}}]),n}(h.ParserRuleContext),fe=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),m(f(a=t.call(this,i,r)),"identifier",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(de):this.getTypedRuleContext(de,e)})),a.parser=e,a.ruleIndex=x.RULE_qualifiedIdentifier,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterQualifiedIdentifier(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitQualifiedIdentifier(this)}}]),n}(h.ParserRuleContext),de=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_identifier,a}return s(n,[{key:"IDENTIFIER",value:function(){return this.getToken(x.IDENTIFIER,0)}},{key:"DELIMITEDIDENTIFIER",value:function(){return this.getToken(x.DELIMITEDIDENTIFIER,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterIdentifier(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitIdentifier(this)}}]),n}(h.ParserRuleContext);x.EntireExpressionContext=E,x.ExpressionContext=S,x.TermContext=U,x.LiteralContext=H,x.ExternalConstantContext=Y,x.InvocationContext=$,x.FunctnContext=re,x.ParamListContext=oe,x.QuantityContext=ae,x.UnitContext=se,x.DateTimePrecisionContext=le,x.PluralDateTimePrecisionContext=ue,x.TypeSpecifierContext=ce,x.QualifiedIdentifierContext=fe,x.IdentifierContext=de,e.exports=x},8168:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){l=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0){for(var R=[],k=0,M=s.length;kn.length)&&(t=n.length),t-=e.length;var i=n.indexOf(e,t);return-1!==i&&i===t}}),String.prototype.includes||Object.defineProperty(String.prototype,"includes",{value:function(){return-1!==this.indexOf.apply(this,arguments)}}),Object.assign||Object.defineProperty(Object,"assign",{value:function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");return i(arguments,1).reduce((function(e,t){return Object.keys(Object(t)).forEach((function(n){e[n]=t[n]})),e}),Object(e))}}),"undefined"==typeof btoa&&(n.g.btoa=function(e){return new Buffer.from(e,"binary").toString("base64")}),"undefined"==typeof atob&&(n.g.atob=function(e){return new Buffer.from(e,"base64").toString("binary")})},2705:function(e,t,n){var i=n(1575),r=n(4230),o={},a={};o.indexOf=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.indexOf(t)},o.substring=function(e,t,n){var o=r.singleton(e,"String");return i.isEmpty(o)||i.isEmpty(t)||t<0||t>=o.length?[]:void 0===n||i.isEmpty(n)?o.substring(t):o.substring(t,t+n)},o.startsWith=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.startsWith(t)},o.endsWith=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.endsWith(t)},o.containsFn=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.includes(t)},o.upper=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.toUpperCase()},o.lower=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.toLowerCase()},o.joinFn=function(e,t){return void 0===t&&(t=""),e.map((function(e){var t=i.valData(e);if("string"==typeof t)return t;throw new Error("Join requires a collection of strings.")})).join(t)},o.splitFn=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(n)?[]:n.split(t)},o.trimFn=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.trim()},o.encodeFn=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(n)?[]:"urlbase64"===t||"base64url"===t?btoa(n).replace(/\+/g,"-").replace(/\//g,"_"):"base64"===t?btoa(n):"hex"===t?Array.from(n).map((function(e){return e.charCodeAt(0)<128?e.charCodeAt(0).toString(16):encodeURIComponent(e).replace(/%/g,"")})).join(""):[]},o.decodeFn=function(e,t){var n=r.singleton(e,"String");if(i.isEmpty(n))return[];if("urlbase64"===t||"base64url"===t)return atob(n.replace(/-/g,"+").replace(/_/g,"/"));if("base64"===t)return atob(n);if("hex"===t){if(n.length%2!=0)throw new Error("Decode 'hex' requires an even number of characters.");return decodeURIComponent("%"+n.match(/.{2}/g).join("%"))}return[]};var s=!1===new RegExp("").dotAll;o.matches=s?function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:new RegExp(t,"s").test(n)}:function(e,t){var n,o=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(o)?[]:new RegExp((a[n=t]||(a[n]=n.replace(/\./g,(function(e,t,n){var i=n.substr(0,t).replace(/\\\\/g,"").replace(/\\[\][]/g,""),r="\\"===i[i.length-1],o=i.lastIndexOf("["),a=i.lastIndexOf("]");return r||o>a?".":"[^]"}))),a[n])).test(o)},o.replace=function(e,t,n){var o=r.singleton(e,"String");if(i.isEmpty(t)||i.isEmpty(n)||i.isEmpty(o))return[];var a=new RegExp(i.escapeStringForRegExp(t),"g");return o.replace(a,n)},o.replaceMatches=function(e,t,n){var o=r.singleton(e,"String");if(i.isEmpty(t)||i.isEmpty(n)||i.isEmpty(o))return[];var a=new RegExp(t,"g");return o.replace(a,n)},o.length=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.length},o.toChars=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.split("")},e.exports=o},7028:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=d(e);if(t){var o=d(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var n=0;n1||i>1))return null;if(this.unit===e.unit)return h.isEqual(this.value,e.value);var r=this._compareYearsAndMonths(e);if(r)return r.isEqual;var o=n.toUcumQuantity(this.value,this.unit),a=n.toUcumQuantity(e.value,e.unit),s=p.convertUnitTo(a.unit,a.value,o.unit);return"succeeded"===s.status&&h.isEqual(o.value,s.toVal)}},{key:"equivalentTo",value:function(e){if(!(e instanceof this.constructor))return!1;if(this.unit===e.unit)return h.isEquivalent(this.value,e.value);var t=n.getEquivalentUcumUnitCode(this.unit),i=n.getEquivalentUcumUnitCode(e.unit),r=p.convertUnitTo(i,e.value,t);return"succeeded"===r.status&&h.isEquivalent(this.value,r.toVal)}},{key:"compare",value:function(e){if(this.unit===e.unit)return this.value-e.value;var t=n._calendarDuration2Seconds[this.unit],i=n._calendarDuration2Seconds[e.unit];if(!t!=!i&&(t>1||i>1))return null;var r=n.getEquivalentUcumUnitCode(this.unit),o=n.getEquivalentUcumUnitCode(e.unit),a=p.convertUnitTo(o,e.value,r);return"succeeded"!==a.status?null:this.value-a.toVal}},{key:"plus",value:function(e){var t=n._yearMonthConversionFactor[this.unit],i=n._yearMonthConversionFactor[e.unit];if(t&&i)return new n(this.value+e.value*i/t,this.unit);var r=n._calendarDuration2Seconds[this.unit],o=n._calendarDuration2Seconds[e.unit];if(!r!=!o&&(r>1||o>1))return null;var a=r?"s":this.unit.replace(S,""),s=(r||1)*this.value,l=o?"s":e.unit.replace(S,""),u=(o||1)*e.value,c=p.convertUnitTo(l,u,a);return"succeeded"!==c.status||c.fromUnit.isSpecial_||c.toUnit.isSpecial_?null:new n(s+c.toVal,a)}},{key:"mul",value:function(e){var t=n._calendarDuration2Seconds[this.unit],i=n._calendarDuration2Seconds[e.unit];if(t>1&&"'1'"!==e.unit||i>1&&"'1'"!==this.unit)return null;var r=this.convToUcumUnits(this,t);if(!r)return null;var o=this.convToUcumUnits(e,i);return o?"'1'"===this.unit?new n(this.value*e.value,e.unit):"'1'"===e.unit?new n(this.value*e.value,this.unit):new n(r.value*o.value,"'(".concat(r.unit,").(").concat(o.unit,")'")):null}},{key:"div",value:function(e){if(0===e.value)return null;var t=n._calendarDuration2Seconds[this.unit],i=n._calendarDuration2Seconds[e.unit];if(t)if(i){var r=n._yearMonthConversionFactor[this.unit],o=n._yearMonthConversionFactor[e.unit];if(r&&o)return new n(this.value*r/(e.value*o),"'1'")}else{if("'1'"===e.unit)return new n(this.value/e.value,this.unit);if(t>1)return null}else if(i>1)return null;var a=this.convToUcumUnits(this,t);if(!a)return null;var s=this.convToUcumUnits(e,i);if(!s)return null;var l="1"===s.unit?a.unit:"(".concat(a.unit,")/(").concat(s.unit,")"),u=p.convertToBaseUnits(l,a.value/s.value);return"succeeded"!==u.status?null:new n(u.magnitude,"'".concat(Object.keys(u.unitToExp).map((function(e){return e+u.unitToExp[e]})).join(".")||"1","'"))}},{key:"convToUcumUnits",value:function(e,t){if(t)return{value:t*e.value,unit:"s"};var n=e.unit.replace(S,""),i=p.convertToBaseUnits(n,e.value);return"succeeded"!==i.status||i.fromUnitIsSpecial?null:{value:i.magnitude,unit:Object.keys(i.unitToExp).map((function(e){return e+i.unitToExp[e]})).join(".")||"1"}}},{key:"_compareYearsAndMonths",value:function(e){var t=n._yearMonthConversionFactor[this.unit],i=n._yearMonthConversionFactor[e.unit];return t&&i?{isEqual:h.isEqual(this.value*t,e.value*i)}:null}}]),n}(x),S=/^'|'$/g;E.getEquivalentUcumUnitCode=function(e){return E.mapTimeUnitsToUCUMCode[e]||e.replace(S,"")},E.toUcumQuantity=function(e,t){var n=E._calendarDuration2Seconds[t];return n?{value:n*e,unit:"s"}:{value:e,unit:t.replace(S,"")}},E.convUnitTo=function(e,t,n){var i=E._yearMonthConversionFactor[e],r=E._yearMonthConversionFactor[n];if(i&&r)return new E(i*t/r,n);var o=E._calendarDuration2Seconds[e],a=E._calendarDuration2Seconds[n];if(a){if(o)return new E(o*t/a,n);var s=p.convertUnitTo(e.replace(/^'|'$/g,""),t,"s");if("succeeded"===s.status)return new E(s.toVal/a,n)}else{var l=o?p.convertUnitTo("s",o*t,n.replace(/^'|'$/g,"")):p.convertUnitTo(e.replace(/^'|'$/g,""),t,n.replace(/^'|'$/g,""));if("succeeded"===l.status)return new E(l.toVal,n)}return null},E._calendarDuration2Seconds={years:31536e3,months:2592e3,weeks:604800,days:86400,hours:3600,minutes:60,seconds:1,milliseconds:.001,year:31536e3,month:2592e3,week:604800,day:86400,hour:3600,minute:60,second:1,millisecond:.001},E._yearMonthConversionFactor={years:12,months:1,year:12,month:1},E.dateTimeArithmeticDurationUnits={years:"year",months:"month",weeks:"week",days:"day",hours:"hour",minutes:"minute",seconds:"second",milliseconds:"millisecond",year:"year",month:"month",week:"week",day:"day",hour:"hour",minute:"minute",second:"second",millisecond:"millisecond","'s'":"second","'ms'":"millisecond"},E.mapUCUMCodeToTimeUnits={a:"year",mo:"month",wk:"week",d:"day",h:"hour",min:"minute",s:"second",ms:"millisecond"},E.mapTimeUnitsToUCUMCode=Object.keys(E.mapUCUMCodeToTimeUnits).reduce((function(e,t){return e[E.mapUCUMCodeToTimeUnits[t]]=t,e[E.mapUCUMCodeToTimeUnits[t]+"s"]=t,e}),{});var D=function(e){r(n,e);var t=a(n);function n(e){var i;return s(this,n),(i=t.call(this)).asStr=e,i}return u(n,[{key:"plus",value:function(e){var t=e.unit,i=E.dateTimeArithmeticDurationUnits[t];if(!i)throw new Error("For date/time arithmetic, the unit of the quantity must be one of the following time-based units: "+Object.keys(E.dateTimeArithmeticDurationUnits));var r=this.constructor,o=r._timeUnitToDatePrecision[i];if(void 0===o)throw new Error("Unsupported unit for +. The unit should be one of "+Object.keys(r._timeUnitToDatePrecision).join(", ")+".");var a=e.value,s=r===R;if((s?o<2:o<5)&&(a=Math.trunc(a)),this._getPrecision()2?new A(o)._getTimeParts():this._getTimeParts(),l=i>2?new A(a)._getTimeParts():e._getTimeParts(),u=0;u<=r&&!1!==t;++u)t=s[u]==l[u];t&&(t=void 0)}}else t=!1;return t}},{key:"equivalentTo",value:function(e){var t=e instanceof this.constructor;return t&&(t=this._getPrecision()==e._getPrecision())&&(t=this._getDateObj().getTime()==e._getDateObj().getTime()),t}},{key:"compare",value:function(e){var t=this._getPrecision(),n=e._getPrecision(),i=t<=n?this._getDateObj().getTime():this._dateAtPrecision(n).getTime(),r=n<=t?e._getDateObj().getTime():e._dateAtPrecision(t).getTime();return t!==n&&i===r?null:i-r}},{key:"_getPrecision",value:function(){return void 0===this.precision&&this._getMatchData(),this.precision}},{key:"_getMatchData",value:function(e,t){if(void 0===this.timeMatchData&&(this.timeMatchData=this.asStr.match(e),this.timeMatchData))for(var n=t;n>=0&&void 0===this.precision;--n)this.timeMatchData[n]&&(this.precision=n);return this.timeMatchData}},{key:"_getTimeParts",value:function(e){var t=[];t=[e[0]];var n=e[4];if(n){var i=t[0];t[0]=i.slice(0,i.length-n.length)}var r=e[1];if(r){var o=t[0];t[0]=o.slice(0,o.length-r.length),t[1]=r;var a=e[2];if(a){t[1]=r.slice(0,r.length-a.length),t[2]=a;var s=e[3];s&&(t[2]=a.slice(0,a.length-s.length),t[3]=s)}}return t}},{key:"_getDateObj",value:function(){if(!this.dateObj){var e=this._getPrecision();this.dateObj=this._dateAtPrecision(e)}return this.dateObj}},{key:"_createDate",value:function(e,t,n,i,r,o,a,s){var l=new Date(e,t,n,i,r,o,a);if(s){var u=l.getTimezoneOffset(),c=0;if("Z"!=s){var f=s.split(":"),d=parseInt(f[0]);c=parseInt(f[1]),d<0&&(c=-c),c+=60*d}l=m(l,-u-c)}return l}}]),n}(x);D.timeUnitToAddFn={year:n(8303),month:n(8459),week:n(8998),day:n(7929),hour:n(1973),minute:n(9829),second:n(7492),millisecond:n(3936)};var A=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:"compare",value:function(e){if(!(e instanceof n))throw"Invalid comparison of a DateTime with something else";return f(d(n.prototype),"compare",this).call(this,e)}},{key:"_getMatchData",value:function(){return f(d(n.prototype),"_getMatchData",this).call(this,v,5)}},{key:"_getTimeParts",value:function(){if(!this.timeParts){var e=this._getMatchData(),t=e[0];this.timeParts=[t];var i=e[1];if(i){this.timeParts[0]=t.slice(0,t.length-i.length),this.timeParts[1]=i;var r=e[2];if(r){this.timeParts[1]=i.slice(0,i.length-r.length),this.timeParts[2]=r;var o=e[3];o&&(this.timeParts[2]=r.slice(0,r.length-o.length),"T"===o[0]&&(e[3]=o.slice(1)),this.timeParts=this.timeParts.concat(f(d(n.prototype),"_getTimeParts",this).call(this,e.slice(3))))}}}return this.timeParts}},{key:"_dateAtPrecision",value:function(e){var t=this._getTimeParts(),n=this._getMatchData()[7],i=this._getPrecision(),r=parseInt(t[0]),o=i>0?parseInt(t[1].slice(1))-1:0,a=i>1?parseInt(t[2].slice(1)):1,s=i>2?parseInt(t[3]):0,l=i>3?parseInt(t[4].slice(1)):0,u=i>4?parseInt(t[5].slice(1)):0,c=t.length>6?parseInt(t[6].slice(1)):0,f=this._createDate(r,o,a,s,l,u,c,n);return e0?f.getMonth():0,a=e>1?f.getDate():1,s=e>2?f.getHours():0,l=e>3?f.getMinutes():0,f=new Date(r,o,a,s,l)),f}}]),n}(D);A.checkString=function(e){var t=new A(e);return t._getMatchData()||(t=null),t},A._timeUnitToDatePrecision={year:0,month:1,week:2,day:2,hour:3,minute:4,second:5,millisecond:6},A._datePrecisionToTimeUnit=["year","month","day","hour","minute","second","millisecond"];var R=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),"T"==e[0]&&(e=e.slice(1)),t.call(this,e)}return u(n,[{key:"compare",value:function(e){if(!(e instanceof n))throw"Invalid comparison of a time with something else";return f(d(n.prototype),"compare",this).call(this,e)}},{key:"_dateAtPrecision",value:function(e){var t=this._getTimeParts(),n=this._getMatchData()[4],i=this._getPrecision(),r=2010,o=parseInt(t[0]),a=i>0?parseInt(t[1].slice(1)):0,s=i>1?parseInt(t[2].slice(1)):0,l=t.length>3?parseInt(t[3].slice(1)):0,u=this._createDate(r,0,1,o,a,s,l,n);return n&&(u.setYear(r),u.setMonth(0),u.setDate(1)),e0?u.getMinutes():0,u=new Date(r,0,1,o,a)),u}},{key:"_getMatchData",value:function(){return f(d(n.prototype),"_getMatchData",this).call(this,y,2)}},{key:"_getTimeParts",value:function(){return this.timeParts||(this.timeParts=f(d(n.prototype),"_getTimeParts",this).call(this,this._getMatchData())),this.timeParts}}]),n}(D);function k(e,t){var n=e;return 3===t&&e<100&&(n="0"+e),e<10&&(n="0"+n),n}R.checkString=function(e){var t=new R(e);return t._getMatchData()||(t=null),t},R._timeUnitToDatePrecision={hour:0,minute:1,second:2,millisecond:3},R._datePrecisionToTimeUnit=["hour","minute","second","millisecond"],A.isoDateTime=function(e,t){void 0===t&&(t=5);var n=""+e.getFullYear();if(t>0&&(n+="-"+k(e.getMonth()+1),t>1&&(n+="-"+k(e.getDate()),t>2&&(n+="T"+A.isoTime(e,t-3)))),t>2){var i=e.getTimezoneOffset(),r=i<0?"+":"-",o=(i=Math.abs(i))%60;n+=r+k((i-o)/60)+":"+k(o)}return n},A.isoTime=function(e,t){void 0===t&&(t=2);var n=""+k(e.getHours());return t>0&&(n+=":"+k(e.getMinutes()),t>1&&(n+=":"+k(e.getSeconds()),e.getMilliseconds()&&(n+="."+k(e.getMilliseconds(),3)))),n};var M=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:"_getMatchData",value:function(){return D.prototype._getMatchData.apply(this,[C,2])}}]),n}(A);M.checkString=function(e){var t=new M(e);return t._getMatchData()||(t=null),t},M.isoDate=function(e,t){return(void 0===t||t>2)&&(t=2),A.isoDateTime(e,t)};var T=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:"_getMatchData",value:function(){return D.prototype._getMatchData.apply(this,[b,5])}}]),n}(A);T.checkString=function(e){var t=new T(e);return t._getMatchData()||(t=null),t};var w=function(){function e(t,n,i,r){s(this,e),null!=t&&t.resourceType&&(n=t.resourceType),this.path=n,this.data=t,this._data=i||{},this.isBackbone=r}return u(e,[{key:"getTypeInfo",value:function(){var e;return _.model?this.isBackbone?e=new _({namespace:_.FHIR,name:"BackboneElement"}):/^System\.(.*)$/.test(this.path)?e=new _({namespace:_.System,name:RegExp.$1}):-1===this.path.indexOf(".")&&(e=new _({namespace:_.FHIR,name:this.path})):e=_.createByValueInSystemNamespace(this.data),e||_.createByValueInSystemNamespace(this.data)}},{key:"toJSON",value:function(){return JSON.stringify(this.data)}},{key:"convertData",value:function(){var e=this.data,t=_.typeToClassWithCheckString[this.path];if(t)e=t.checkString(e)||e;else if(_.isType(this.path,"Quantity")){var n;if("http://unitsofmeasure.org"===(null===(n=e)||void 0===n?void 0:n.system)&&"number"==typeof e.value&&"string"==typeof e.code){if(void 0!==e.comparator)throw new Error("Cannot convert a FHIR.Quantity that has a comparator");e=new E(e.value,E.mapUCUMCodeToTimeUnits[e.code]||"'"+e.code+"'")}}return e}}]),e}();w.makeResNode=function(e,t,n){return e instanceof w?e:new w(e,t,n,arguments.length>3&&void 0!==arguments[3]&&arguments[3])};var I=new Set;["Boolean","String","Integer","Decimal","Date","DateTime","Time","Quantity"].forEach((function(e){return I.add(e)}));var P,O,_=function(){function e(t){var n=t.name,i=t.namespace;s(this,e),this.name=n,this.namespace=i}return u(e,[{key:"is",value:function(t){return t instanceof e&&(!this.namespace||!t.namespace||this.namespace===t.namespace)&&(!e.model||this.namespace&&this.namespace!==e.FHIR?this.name===t.name:e.isType(this.name,t.name))}},{key:"toString",value:function(){return(this.namespace?this.namespace+".":"")+this.name}},{key:"isValid",value:function(){var t=!1;if("System"===this.namespace)t=I.has(this.name);else if("FHIR"===this.namespace){var n;t=null===(n=e.model)||void 0===n?void 0:n.availableTypes.has(this.name)}else if(!this.namespace){var i;t=I.has(this.name)||(null===(i=e.model)||void 0===i?void 0:i.availableTypes.has(this.name))}return t}}]),e}();P=_,(O=c(O="model"))in P?Object.defineProperty(P,O,{value:null,enumerable:!0,configurable:!0,writable:!0}):P[O]=null,_.typeToClassWithCheckString={date:M,dateTime:A,instant:T,time:R},_.isType=function(e,t){do{var n;if(e===t)return!0}while(e=null===(n=_.model)||void 0===n?void 0:n.type2Parent[e]);return!1},_.System="System",_.FHIR="FHIR",_.createByValueInSystemNamespace=function(e){var t=i(e);return Number.isInteger(e)?t="integer":"number"===t?t="decimal":e instanceof M?t="date":e instanceof A?t="dateTime":e instanceof R?t="time":e instanceof E&&(t="Quantity"),t=t.replace(/^\w/,(function(e){return e.toUpperCase()})),new _({namespace:_.System,name:t})},_.fromValue=function(e){return e instanceof w?e.getTypeInfo():_.createByValueInSystemNamespace(e)},e.exports={FP_Type:x,FP_TimeBase:D,FP_Date:M,FP_DateTime:A,FP_Instant:T,FP_Time:R,FP_Quantity:E,timeRE:y,dateTimeRE:v,ResourceNode:w,TypeInfo:_,typeFn:function(e){return e.map((function(e){return _.fromValue(e)}))},isFn:function(e,t){if(0===e.length)return[];if(e.length>1)throw new Error("Expected singleton on left side of 'is', got "+JSON.stringify(e));return _.fromValue(e[0]).is(t)},asFn:function(e,t){if(0===e.length)return[];if(e.length>1)throw new Error("Expected singleton on left side of 'as', got "+JSON.stringify(e));return _.fromValue(e[0]).is(t)?e:[]}}},1575:function(e,t,n){function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n1&&o.raiseError("Was expecting no more than one element but got "+JSON.stringify(e),t)},o.assertType=function(e,t,n){var i=this.valData(e);if(t.indexOf(r(i))<0){var a=t.length>1?"one of "+t.join(", "):t[0];o.raiseError("Found type '"+r(e)+"' but was expecting "+a,n)}return i},o.isEmpty=function(e){return Array.isArray(e)&&0==e.length},o.isSome=function(e){return null!=e&&!o.isEmpty(e)},o.isTrue=function(e){return null!=e&&(!0===e||1==e.length&&!0===e[0])},o.isFalse=function(e){return null!=e&&(!1===e||1==e.length&&!1===e[0])},o.isCapitalized=function(e){return e&&e[0]===e[0].toUpperCase()},o.flatten=function(e){return e.reduce((function(e,t){return Array.isArray(t)?e=e.concat(t):e.push(t),e}),[])},o.arraify=function(e){return Array.isArray(e)?e:o.isSome(e)?[e]:[]},o.valData=function(e){return e instanceof a?e.data:e},o.valDataConverted=function(e){return e instanceof a&&(e=e.convertData()),e},o.escapeStringForRegExp=function(e){return e.replace(/[-[\]{}()*+?.,\\/^$|#\s]/g,"\\$&")},o.pushFn=Function.prototype.apply.bind(Array.prototype.push),o.makeChildResNodes=function(e,t,n){var r,s,l=e.path+"."+t;if(n){var u=n.pathsDefinedElsewhere[l];u&&(l=u)}var c=n&&n.choiceTypePaths[l];if(c){var f,d=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e))){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){l=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw a}}}}(c);try{for(d.s();!(f=d.n()).done;){var m,p,h=f.value,g=t+h;if(r=null===(m=e.data)||void 0===m?void 0:m[g],s=null===(p=e.data)||void 0===p?void 0:p["_"+g],void 0!==r||void 0!==s){l+=h;break}}}catch(e){d.e(e)}finally{d.f()}}else{var y,v;r=null===(y=e.data)||void 0===y?void 0:y[t],s=null===(v=e.data)||void 0===v?void 0:v["_"+t],void 0===r&&void 0===s&&(r=e._data[t]),"extension"===t&&(l="Extension")}var C,b=n&&n.path2Type[l],x="BackboneElement"===b;if(l=x?l:b||l,o.isSome(r)||o.isSome(s))if(Array.isArray(r)){var E;C=r.map((function(e,t){return a.makeResNode(e,l,s&&s[t],x)}));for(var S=(null===(E=s)||void 0===E?void 0:E.length)||0,D=r.length;D0&&(O+=F)}return new Date(_+L+O)}return new Date(e)}},7643:function(e){"use strict";e.exports=Number.isFinite||function(e){return!("number"!=typeof e||e!=e||e===1/0||e===-1/0)}},1781:function(e,t,n){var i=n(7643);e.exports=Number.isInteger||function(e){return"number"==typeof e&&i(e)&&Math.floor(e)===e}},4557:function(e){"use strict";e.exports={version:"3.10.4"}},7698:function(e){"use strict";e.exports=JSON.parse('{"license":"The following data (prefixes and units) was generated by the UCUM LHC code from the UCUM data and selected LOINC combinations of UCUM units. The license for the UCUM LHC code (demo and library code as well as the combined units) is located at https://github.com/lhncbc/ucum-lhc/blob/LICENSE.md.","prefixes":{"config":["code_","ciCode_","name_","printSymbol_","value_","exp_"],"data":[["E","EX","exa","E",1000000000000000000,"18"],["G","GA","giga","G",1000000000,"9"],["Gi","GIB","gibi","Gi",1073741824,null],["Ki","KIB","kibi","Ki",1024,null],["M","MA","mega","M",1000000,"6"],["Mi","MIB","mebi","Mi",1048576,null],["P","PT","peta","P",1000000000000000,"15"],["T","TR","tera","T",1000000000000,"12"],["Ti","TIB","tebi","Ti",1099511627776,null],["Y","YA","yotta","Y",1e+24,"24"],["Z","ZA","zetta","Z",1e+21,"21"],["a","A","atto","a",1e-18,"-18"],["c","C","centi","c",0.01,"-2"],["d","D","deci","d",0.1,"-1"],["da","DA","deka","da",10,"1"],["f","F","femto","f",1e-15,"-15"],["h","H","hecto","h",100,"2"],["k","K","kilo","k",1000,"3"],["m","M","milli","m",0.001,"-3"],["n","N","nano","n",1e-9,"-9"],["p","P","pico","p",1e-12,"-12"],["u","U","micro","μ",0.000001,"-6"],["y","YO","yocto","y",1.0000000000000001e-24,"-24"],["z","ZO","zepto","z",1e-21,"-21"]]},"units":{"config":["isBase_","name_","csCode_","ciCode_","property_","magnitude_",["dim_","dimVec_"],"printSymbol_","class_","isMetric_","variable_","cnv_","cnvPfx_","isSpecial_","isArbitrary_","moleExp_","synonyms_","source_","loincProperty_","category_","guidance_","csUnitString_","ciUnitString_","baseFactorStr_","baseFactor_","defError_"],"data":[[true,"meter","m","M","length",1,[1,0,0,0,0,0,0],"m",null,false,"L",null,1,false,false,0,"meters; metres; distance","UCUM","Len","Clinical","unit of length = 1.09361 yards",null,null,null,null,false],[true,"second - time","s","S","time",1,[0,1,0,0,0,0,0],"s",null,false,"T",null,1,false,false,0,"seconds","UCUM","Time","Clinical","",null,null,null,null,false],[true,"gram","g","G","mass",1,[0,0,1,0,0,0,0],"g",null,false,"M",null,1,false,false,0,"grams; gm","UCUM","Mass","Clinical","",null,null,null,null,false],[true,"radian","rad","RAD","plane angle",1,[0,0,0,1,0,0,0],"rad",null,false,"A",null,1,false,false,0,"radians","UCUM","Angle","Clinical","unit of angular measure where 1 radian = 1/2π turn = 57.296 degrees. ",null,null,null,null,false],[true,"degree Kelvin","K","K","temperature",1,[0,0,0,0,1,0,0],"K",null,false,"C",null,1,false,false,0,"Kelvin; degrees","UCUM","Temp","Clinical","absolute, thermodynamic temperature scale ",null,null,null,null,false],[true,"coulomb","C","C","electric charge",1,[0,0,0,0,0,1,0],"C",null,false,"Q",null,1,false,false,0,"coulombs","UCUM","","Clinical","defined as amount of 1 electron charge = 6.2415093×10^18 e, and equivalent to 1 Ampere-second",null,null,null,null,false],[true,"candela","cd","CD","luminous intensity",1,[0,0,0,0,0,0,1],"cd",null,false,"F",null,1,false,false,0,"candelas","UCUM","","Clinical","SI base unit of luminous intensity",null,null,null,null,false],[false,"the number ten for arbitrary powers","10*","10*","number",10,[0,0,0,0,0,0,0],"10","dimless",false,null,null,1,false,false,0,"10^; 10 to the arbitrary powers","UCUM","Num","Clinical","10* by itself is the same as 10, but users can add digits after the *. For example, 10*3 = 1000.","1","1","10",10,false],[false,"the number ten for arbitrary powers","10^","10^","number",10,[0,0,0,0,0,0,0],"10","dimless",false,null,null,1,false,false,0,"10*; 10 to the arbitrary power","UCUM","Num","Clinical","10* by itself is the same as 10, but users can add digits after the *. For example, 10*3 = 1000.","1","1","10",10,false],[false,"the number pi","[pi]","[PI]","number",3.141592653589793,[0,0,0,0,0,0,0],"π","dimless",false,null,null,1,false,false,0,"π","UCUM","","Constant","a mathematical constant; the ratio of a circle\'s circumference to its diameter ≈ 3.14159","1","1","3.1415926535897932384626433832795028841971693993751058209749445923",3.141592653589793,false],[false,"","%","%","fraction",0.01,[0,0,0,0,0,0,0],"%","dimless",false,null,null,1,false,false,0,"percents","UCUM","FR; NFR; MFR; CFR; SFR Rto; etc. ","Clinical","","10*-2","10*-2","1",1,false],[false,"parts per thousand","[ppth]","[PPTH]","fraction",0.001,[0,0,0,0,0,0,0],"ppth","dimless",false,null,null,1,false,false,0,"ppth; 10^-3","UCUM","MCnc; MCnt","Clinical","[ppth] is often used in solution concentrations as 1 g/L or 1 g/kg.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-3","10*-3","1",1,false],[false,"parts per million","[ppm]","[PPM]","fraction",0.000001,[0,0,0,0,0,0,0],"ppm","dimless",false,null,null,1,false,false,0,"ppm; 10^-6","UCUM","MCnt; MCnc; SFr","Clinical","[ppm] is often used in solution concentrations as 1 mg/L or 1 mg/kg. Also used to express mole fractions as 1 mmol/mol.\\n\\n[ppm] is also used in nuclear magnetic resonance (NMR) to represent chemical shift - the difference of a measured frequency in parts per million from the reference frequency.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-6","10*-6","1",1,false],[false,"parts per billion","[ppb]","[PPB]","fraction",1e-9,[0,0,0,0,0,0,0],"ppb","dimless",false,null,null,1,false,false,0,"ppb; 10^-9","UCUM","MCnt; MCnc; SFr","Clinical","[ppb] is often used in solution concentrations as 1 ug/L or 1 ug/kg. Also used to express mole fractions as 1 umol/mol.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-9","10*-9","1",1,false],[false,"parts per trillion","[pptr]","[PPTR]","fraction",1e-12,[0,0,0,0,0,0,0],"pptr","dimless",false,null,null,1,false,false,0,"pptr; 10^-12","UCUM","MCnt; MCnc; SFr","Clinical","[pptr] is often used in solution concentrations as 1 ng/L or 1 ng/kg. Also used to express mole fractions as 1 nmol/mol.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-12","10*-12","1",1,false],[false,"mole","mol","MOL","amount of substance",6.0221367e+23,[0,0,0,0,0,0,0],"mol","si",true,null,null,1,false,false,1,"moles","UCUM","Sub","Clinical","Measure the number of molecules ","10*23","10*23","6.0221367",6.0221367,false],[false,"steradian - solid angle","sr","SR","solid angle",1,[0,0,0,2,0,0,0],"sr","si",true,null,null,1,false,false,0,"square radian; rad2; rad^2","UCUM","Angle","Clinical","unit of solid angle in three-dimensional geometry analagous to radian; used in photometry which measures the perceived brightness of object by human eye (e.g. radiant intensity = watt/steradian)","rad2","RAD2","1",1,false],[false,"hertz","Hz","HZ","frequency",1,[0,-1,0,0,0,0,0],"Hz","si",true,null,null,1,false,false,0,"Herz; frequency; frequencies","UCUM","Freq; Num","Clinical","equal to one cycle per second","s-1","S-1","1",1,false],[false,"newton","N","N","force",1000,[1,-2,1,0,0,0,0],"N","si",true,null,null,1,false,false,0,"Newtons","UCUM","Force","Clinical","unit of force with base units kg.m/s2","kg.m/s2","KG.M/S2","1",1,false],[false,"pascal","Pa","PAL","pressure",1000,[-1,-2,1,0,0,0,0],"Pa","si",true,null,null,1,false,false,0,"pascals","UCUM","Pres","Clinical","standard unit of pressure equal to 1 newton per square meter (N/m2)","N/m2","N/M2","1",1,false],[false,"joule","J","J","energy",1000,[2,-2,1,0,0,0,0],"J","si",true,null,null,1,false,false,0,"joules","UCUM","Enrg","Clinical","unit of energy defined as the work required to move an object 1 m with a force of 1 N (N.m) or an electric charge of 1 C through 1 V (C.V), or to produce 1 W for 1 s (W.s) ","N.m","N.M","1",1,false],[false,"watt","W","W","power",1000,[2,-3,1,0,0,0,0],"W","si",true,null,null,1,false,false,0,"watts","UCUM","EngRat","Clinical","unit of power equal to 1 Joule per second (J/s) = kg⋅m2⋅s−3","J/s","J/S","1",1,false],[false,"Ampere","A","A","electric current",1,[0,-1,0,0,0,1,0],"A","si",true,null,null,1,false,false,0,"Amperes","UCUM","ElpotRat","Clinical","unit of electric current equal to flow rate of electrons equal to 16.2415×10^18 elementary charges moving past a boundary in one second or 1 Coulomb/second","C/s","C/S","1",1,false],[false,"volt","V","V","electric potential",1000,[2,-2,1,0,0,-1,0],"V","si",true,null,null,1,false,false,0,"volts","UCUM","Elpot","Clinical","unit of electric potential (voltage) = 1 Joule per Coulomb (J/C)","J/C","J/C","1",1,false],[false,"farad","F","F","electric capacitance",0.001,[-2,2,-1,0,0,2,0],"F","si",true,null,null,1,false,false,0,"farads; electric capacitance","UCUM","","Clinical","CGS unit of electric capacitance with base units C/V (Coulomb per Volt)","C/V","C/V","1",1,false],[false,"ohm","Ohm","OHM","electric resistance",1000,[2,-1,1,0,0,-2,0],"Ω","si",true,null,null,1,false,false,0,"Ω; resistance; ohms","UCUM","","Clinical","unit of electrical resistance with units of Volt per Ampere","V/A","V/A","1",1,false],[false,"siemens","S","SIE","electric conductance",0.001,[-2,1,-1,0,0,2,0],"S","si",true,null,null,1,false,false,0,"Reciprocal ohm; mho; Ω−1; conductance","UCUM","","Clinical","unit of electric conductance (the inverse of electrical resistance) equal to ohm^-1","Ohm-1","OHM-1","1",1,false],[false,"weber","Wb","WB","magnetic flux",1000,[2,-1,1,0,0,-1,0],"Wb","si",true,null,null,1,false,false,0,"magnetic flux; webers","UCUM","","Clinical","unit of magnetic flux equal to Volt second","V.s","V.S","1",1,false],[false,"degree Celsius","Cel","CEL","temperature",1,[0,0,0,0,1,0,0],"°C","si",true,null,"Cel",1,true,false,0,"°C; degrees","UCUM","Temp","Clinical","","K",null,null,1,false],[false,"tesla","T","T","magnetic flux density",1000,[0,-1,1,0,0,-1,0],"T","si",true,null,null,1,false,false,0,"Teslas; magnetic field","UCUM","","Clinical","SI unit of magnetic field strength for magnetic field B equal to 1 Weber/square meter = 1 kg/(s2*A)","Wb/m2","WB/M2","1",1,false],[false,"henry","H","H","inductance",1000,[2,0,1,0,0,-2,0],"H","si",true,null,null,1,false,false,0,"henries; inductance","UCUM","","Clinical","unit of electrical inductance; usually expressed in millihenrys (mH) or microhenrys (uH).","Wb/A","WB/A","1",1,false],[false,"lumen","lm","LM","luminous flux",1,[0,0,0,2,0,0,1],"lm","si",true,null,null,1,false,false,0,"luminous flux; lumens","UCUM","","Clinical","unit of luminous flux defined as 1 lm = 1 cd⋅sr (candela times sphere)","cd.sr","CD.SR","1",1,false],[false,"lux","lx","LX","illuminance",1,[-2,0,0,2,0,0,1],"lx","si",true,null,null,1,false,false,0,"illuminance; luxes","UCUM","","Clinical","unit of illuminance equal to one lumen per square meter. ","lm/m2","LM/M2","1",1,false],[false,"becquerel","Bq","BQ","radioactivity",1,[0,-1,0,0,0,0,0],"Bq","si",true,null,null,1,false,false,0,"activity; radiation; becquerels","UCUM","","Clinical","measure of the atomic radiation rate with units s^-1","s-1","S-1","1",1,false],[false,"gray","Gy","GY","energy dose",1,[2,-2,0,0,0,0,0],"Gy","si",true,null,null,1,false,false,0,"absorbed doses; ionizing radiation doses; kerma; grays","UCUM","EngCnt","Clinical","unit of ionizing radiation dose with base units of 1 joule of radiation energy per kilogram of matter","J/kg","J/KG","1",1,false],[false,"sievert","Sv","SV","dose equivalent",1,[2,-2,0,0,0,0,0],"Sv","si",true,null,null,1,false,false,0,"sieverts; radiation dose quantities; equivalent doses; effective dose; operational dose; committed dose","UCUM","","Clinical","SI unit for radiation dose equivalent equal to 1 Joule/kilogram.","J/kg","J/KG","1",1,false],[false,"degree - plane angle","deg","DEG","plane angle",0.017453292519943295,[0,0,0,1,0,0,0],"°","iso1000",false,null,null,1,false,false,0,"°; degree of arc; arc degree; arcdegree; angle","UCUM","Angle","Clinical","one degree is equivalent to π/180 radians.","[pi].rad/360","[PI].RAD/360","2",2,false],[false,"gon","gon","GON","plane angle",0.015707963267948967,[0,0,0,1,0,0,0],"□g","iso1000",false,null,null,1,false,false,0,"gon (grade); gons","UCUM","Angle","Nonclinical","unit of plane angle measurement equal to 1/400 circle","deg","DEG","0.9",0.9,false],[false,"arc minute","\'","\'","plane angle",0.0002908882086657216,[0,0,0,1,0,0,0],"\'","iso1000",false,null,null,1,false,false,0,"arcminutes; arcmin; arc minutes; arc mins","UCUM","Angle","Clinical","equal to 1/60 degree; used in optometry and opthamology (e.g. visual acuity tests)","deg/60","DEG/60","1",1,false],[false,"arc second","\'\'","\'\'","plane angle",0.00000484813681109536,[0,0,0,1,0,0,0],"\'\'","iso1000",false,null,null,1,false,false,0,"arcseconds; arcsecs","UCUM","Angle","Clinical","equal to 1/60 arcminute = 1/3600 degree; used in optometry and opthamology (e.g. visual acuity tests)","\'/60","\'/60","1",1,false],[false,"Liters","l","L","volume",0.001,[3,0,0,0,0,0,0],"l","iso1000",true,null,null,1,false,false,0,"cubic decimeters; decimeters cubed; decimetres; dm3; dm^3; litres; liters, LT ","UCUM","Vol","Clinical","Because lower case \\"l\\" can be read as the number \\"1\\", though this is a valid UCUM units. UCUM strongly reccomends using \\"L\\"","dm3","DM3","1",1,false],[false,"Liters","L","L","volume",0.001,[3,0,0,0,0,0,0],"L","iso1000",true,null,null,1,false,false,0,"cubic decimeters; decimeters cubed; decimetres; dm3; dm^3; litres; liters, LT ","UCUM","Vol","Clinical","Because lower case \\"l\\" can be read as the number \\"1\\", though this is a valid UCUM units. UCUM strongly reccomends using \\"L\\"","l",null,"1",1,false],[false,"are","ar","AR","area",100,[2,0,0,0,0,0,0],"a","iso1000",true,null,null,1,false,false,0,"100 m2; 100 m^2; 100 square meter; meters squared; metres","UCUM","Area","Clinical","metric base unit for area defined as 100 m^2","m2","M2","100",100,false],[false,"minute","min","MIN","time",60,[0,1,0,0,0,0,0],"min","iso1000",false,null,null,1,false,false,0,"minutes","UCUM","Time","Clinical","","s","S","60",60,false],[false,"hour","h","HR","time",3600,[0,1,0,0,0,0,0],"h","iso1000",false,null,null,1,false,false,0,"hours; hrs; age","UCUM","Time","Clinical","","min","MIN","60",60,false],[false,"day","d","D","time",86400,[0,1,0,0,0,0,0],"d","iso1000",false,null,null,1,false,false,0,"days; age; dy; 24 hours; 24 hrs","UCUM","Time","Clinical","","h","HR","24",24,false],[false,"tropical year","a_t","ANN_T","time",31556925.216,[0,1,0,0,0,0,0],"at","iso1000",false,null,null,1,false,false,0,"solar years; a tropical; years","UCUM","Time","Clinical","has an average of 365.242181 days but is constantly changing.","d","D","365.24219",365.24219,false],[false,"mean Julian year","a_j","ANN_J","time",31557600,[0,1,0,0,0,0,0],"aj","iso1000",false,null,null,1,false,false,0,"mean Julian yr; a julian; years","UCUM","Time","Clinical","has an average of 365.25 days, and in everyday use, has been replaced by the Gregorian year. However, this unit is used in astronomy to calculate light year. ","d","D","365.25",365.25,false],[false,"mean Gregorian year","a_g","ANN_G","time",31556952,[0,1,0,0,0,0,0],"ag","iso1000",false,null,null,1,false,false,0,"mean Gregorian yr; a gregorian; years","UCUM","Time","Clinical","has an average of 365.2425 days and is the most internationally used civil calendar.","d","D","365.2425",365.2425,false],[false,"year","a","ANN","time",31557600,[0,1,0,0,0,0,0],"a","iso1000",false,null,null,1,false,false,0,"years; a; yr, yrs; annum","UCUM","Time","Clinical","","a_j","ANN_J","1",1,false],[false,"week","wk","WK","time",604800,[0,1,0,0,0,0,0],"wk","iso1000",false,null,null,1,false,false,0,"weeks; wks","UCUM","Time","Clinical","","d","D","7",7,false],[false,"synodal month","mo_s","MO_S","time",2551442.976,[0,1,0,0,0,0,0],"mos","iso1000",false,null,null,1,false,false,0,"Moon; synodic month; lunar month; mo-s; mo s; months; moons","UCUM","Time","Nonclinical","has an average of 29.53 days per month, unit used in astronomy","d","D","29.53059",29.53059,false],[false,"mean Julian month","mo_j","MO_J","time",2629800,[0,1,0,0,0,0,0],"moj","iso1000",false,null,null,1,false,false,0,"mo-julian; mo Julian; months","UCUM","Time","Clinical","has an average of 30.435 days per month","a_j/12","ANN_J/12","1",1,false],[false,"mean Gregorian month","mo_g","MO_G","time",2629746,[0,1,0,0,0,0,0],"mog","iso1000",false,null,null,1,false,false,0,"months; month-gregorian; mo-gregorian","UCUM","Time","Clinical","has an average 30.436875 days per month and is from the most internationally used civil calendar.","a_g/12","ANN_G/12","1",1,false],[false,"month","mo","MO","time",2629800,[0,1,0,0,0,0,0],"mo","iso1000",false,null,null,1,false,false,0,"months; duration","UCUM","Time","Clinical","based on Julian calendar which has an average of 30.435 days per month (this unit is used in astronomy but not in everyday life - see mo_g)","mo_j","MO_J","1",1,false],[false,"metric ton","t","TNE","mass",1000000,[0,0,1,0,0,0,0],"t","iso1000",true,null,null,1,false,false,0,"tonnes; megagrams; tons","UCUM","Mass","Nonclinical","equal to 1000 kg used in the US (recognized by NIST as metric ton), and internationally (recognized as tonne)","kg","KG","1e3",1000,false],[false,"bar","bar","BAR","pressure",100000000,[-1,-2,1,0,0,0,0],"bar","iso1000",true,null,null,1,false,false,0,"bars","UCUM","Pres","Nonclinical","unit of pressure equal to 10^5 Pascals, primarily used by meteorologists and in weather forecasting","Pa","PAL","1e5",100000,false],[false,"unified atomic mass unit","u","AMU","mass",1.6605402e-24,[0,0,1,0,0,0,0],"u","iso1000",true,null,null,1,false,false,0,"unified atomic mass units; amu; Dalton; Da","UCUM","Mass","Clinical","the mass of 1/12 of an unbound Carbon-12 atom nuclide equal to 1.6606x10^-27 kg ","g","G","1.6605402e-24",1.6605402e-24,false],[false,"astronomic unit","AU","ASU","length",149597870691,[1,0,0,0,0,0,0],"AU","iso1000",false,null,null,1,false,false,0,"AU; units","UCUM","Len","Clinical","unit of length used in astronomy for measuring distance in Solar system","Mm","MAM","149597.870691",149597.870691,false],[false,"parsec","pc","PRS","length",30856780000000000,[1,0,0,0,0,0,0],"pc","iso1000",true,null,null,1,false,false,0,"parsecs","UCUM","Len","Clinical","unit of length equal to 3.26 light years, nad used to measure large distances to objects outside our Solar System","m","M","3.085678e16",30856780000000000,false],[false,"velocity of light in a vacuum","[c]","[C]","velocity",299792458,[1,-1,0,0,0,0,0],"c","const",true,null,null,1,false,false,0,"speed of light","UCUM","Vel","Constant","equal to 299792458 m/s (approximately 3 x 10^8 m/s)","m/s","M/S","299792458",299792458,false],[false,"Planck constant","[h]","[H]","action",6.6260755e-31,[2,-1,1,0,0,0,0],"h","const",true,null,null,1,false,false,0,"Planck\'s constant","UCUM","","Constant","constant = 6.62607004 × 10-34 m2.kg/s; defined as quantum of action","J.s","J.S","6.6260755e-34",6.6260755e-34,false],[false,"Boltzmann constant","[k]","[K]","(unclassified)",1.380658e-20,[2,-2,1,0,-1,0,0],"k","const",true,null,null,1,false,false,0,"k; kB","UCUM","","Constant","physical constant relating energy at the individual particle level with temperature = 1.38064852 ×10^−23 J/K","J/K","J/K","1.380658e-23",1.380658e-23,false],[false,"permittivity of vacuum - electric","[eps_0]","[EPS_0]","electric permittivity",8.854187817000001e-15,[-3,2,-1,0,0,2,0],"ε0","const",true,null,null,1,false,false,0,"ε0; Electric Constant; vacuum permittivity; permittivity of free space ","UCUM","","Constant","approximately equal to 8.854 × 10^−12 F/m (farads per meter)","F/m","F/M","8.854187817e-12",8.854187817e-12,false],[false,"permeability of vacuum - magnetic","[mu_0]","[MU_0]","magnetic permeability",0.0012566370614359172,[1,0,1,0,0,-2,0],"μ0","const",true,null,null,1,false,false,0,"μ0; vacuum permeability; permeability of free space; magnetic constant","UCUM","","Constant","equal to 4π×10^−7 N/A2 (Newtons per square ampere) ≈ 1.2566×10^−6 H/m (Henry per meter)","N/A2","4.[PI].10*-7.N/A2","1",0.0000012566370614359173,false],[false,"elementary charge","[e]","[E]","electric charge",1.60217733e-19,[0,0,0,0,0,1,0],"e","const",true,null,null,1,false,false,0,"e; q; electric charges","UCUM","","Constant","the magnitude of the electric charge carried by a single electron or proton ≈ 1.60217×10^-19 Coulombs","C","C","1.60217733e-19",1.60217733e-19,false],[false,"electronvolt","eV","EV","energy",1.60217733e-16,[2,-2,1,0,0,0,0],"eV","iso1000",true,null,null,1,false,false,0,"Electron Volts; electronvolts","UCUM","Eng","Clinical","unit of kinetic energy = 1 V * 1.602×10^−19 C = 1.6×10−19 Joules","[e].V","[E].V","1",1,false],[false,"electron mass","[m_e]","[M_E]","mass",9.1093897e-28,[0,0,1,0,0,0,0],"me","const",true,null,null,1,false,false,0,"electron rest mass; me","UCUM","Mass","Constant","approximately equal to 9.10938356 × 10-31 kg; defined as the mass of a stationary electron","g","g","9.1093897e-28",9.1093897e-28,false],[false,"proton mass","[m_p]","[M_P]","mass",1.6726231e-24,[0,0,1,0,0,0,0],"mp","const",true,null,null,1,false,false,0,"mp; masses","UCUM","Mass","Constant","approximately equal to 1.672622×10−27 kg","g","g","1.6726231e-24",1.6726231e-24,false],[false,"Newtonian constant of gravitation","[G]","[GC]","(unclassified)",6.67259e-14,[3,-2,-1,0,0,0,0],"G","const",true,null,null,1,false,false,0,"G; gravitational constant; Newton\'s constant","UCUM","","Constant","gravitational constant = 6.674×10−11 N⋅m2/kg2","m3.kg-1.s-2","M3.KG-1.S-2","6.67259e-11",6.67259e-11,false],[false,"standard acceleration of free fall","[g]","[G]","acceleration",9.80665,[1,-2,0,0,0,0,0],"gn","const",true,null,null,1,false,false,0,"standard gravity; g; ɡ0; ɡn","UCUM","Accel","Constant","defined by standard = 9.80665 m/s2","m/s2","M/S2","980665e-5",9.80665,false],[false,"Torr","Torr","Torr","pressure",133322,[-1,-2,1,0,0,0,0],"Torr","const",false,null,null,1,false,false,0,"torrs","UCUM","Pres","Clinical","1 torr = 1 mmHg; unit used to measure blood pressure","Pa","PAL","133.322",133.322,false],[false,"standard atmosphere","atm","ATM","pressure",101325000,[-1,-2,1,0,0,0,0],"atm","const",false,null,null,1,false,false,0,"reference pressure; atmos; std atmosphere","UCUM","Pres","Clinical","defined as being precisely equal to 101,325 Pa","Pa","PAL","101325",101325,false],[false,"light-year","[ly]","[LY]","length",9460730472580800,[1,0,0,0,0,0,0],"l.y.","const",true,null,null,1,false,false,0,"light years; ly","UCUM","Len","Constant","unit of astronomal distance = 5.88×10^12 mi","[c].a_j","[C].ANN_J","1",1,false],[false,"gram-force","gf","GF","force",9.80665,[1,-2,1,0,0,0,0],"gf","const",true,null,null,1,false,false,0,"Newtons; gram forces","UCUM","Force","Clinical","May be specific to unit related to cardiac output","g.[g]","G.[G]","1",1,false],[false,"Kayser","Ky","KY","lineic number",100,[-1,0,0,0,0,0,0],"K","cgs",true,null,null,1,false,false,0,"wavenumbers; kaysers","UCUM","InvLen","Clinical","unit of wavelength equal to cm^-1","cm-1","CM-1","1",1,false],[false,"Gal","Gal","GL","acceleration",0.01,[1,-2,0,0,0,0,0],"Gal","cgs",true,null,null,1,false,false,0,"galileos; Gals","UCUM","Accel","Clinical","unit of acceleration used in gravimetry; equivalent to cm/s2 ","cm/s2","CM/S2","1",1,false],[false,"dyne","dyn","DYN","force",0.01,[1,-2,1,0,0,0,0],"dyn","cgs",true,null,null,1,false,false,0,"dynes","UCUM","Force","Clinical","unit of force equal to 10^-5 Newtons","g.cm/s2","G.CM/S2","1",1,false],[false,"erg","erg","ERG","energy",0.0001,[2,-2,1,0,0,0,0],"erg","cgs",true,null,null,1,false,false,0,"10^-7 Joules, 10-7 Joules; 100 nJ; 100 nanoJoules; 1 dyne cm; 1 g.cm2/s2","UCUM","Eng","Clinical","unit of energy = 1 dyne centimeter = 10^-7 Joules","dyn.cm","DYN.CM","1",1,false],[false,"Poise","P","P","dynamic viscosity",100,[-1,-1,1,0,0,0,0],"P","cgs",true,null,null,1,false,false,0,"dynamic viscosity; poises","UCUM","Visc","Clinical","unit of dynamic viscosity where 1 Poise = 1/10 Pascal second","dyn.s/cm2","DYN.S/CM2","1",1,false],[false,"Biot","Bi","BI","electric current",10,[0,-1,0,0,0,1,0],"Bi","cgs",true,null,null,1,false,false,0,"Bi; abamperes; abA","UCUM","ElpotRat","Clinical","equal to 10 amperes","A","A","10",10,false],[false,"Stokes","St","ST","kinematic viscosity",0.0001,[2,-1,0,0,0,0,0],"St","cgs",true,null,null,1,false,false,0,"kinematic viscosity","UCUM","Visc","Clinical","unit of kimematic viscosity with units cm2/s","cm2/s","CM2/S","1",1,false],[false,"Maxwell","Mx","MX","flux of magnetic induction",0.00001,[2,-1,1,0,0,-1,0],"Mx","cgs",true,null,null,1,false,false,0,"magnetix flux; Maxwells","UCUM","","Clinical","unit of magnetic flux","Wb","WB","1e-8",1e-8,false],[false,"Gauss","G","GS","magnetic flux density",0.1,[0,-1,1,0,0,-1,0],"Gs","cgs",true,null,null,1,false,false,0,"magnetic fields; magnetic flux density; induction; B","UCUM","magnetic","Clinical","CGS unit of magnetic flux density, known as magnetic field B; defined as one maxwell unit per square centimeter (see Oersted for CGS unit for H field)","T","T","1e-4",0.0001,false],[false,"Oersted","Oe","OE","magnetic field intensity",79.57747154594767,[-1,-1,0,0,0,1,0],"Oe","cgs",true,null,null,1,false,false,0,"H magnetic B field; Oersteds","UCUM","","Clinical","CGS unit of the auxiliary magnetic field H defined as 1 dyne per unit pole = 1000/4π amperes per meter (see Gauss for CGS unit for B field)","A/m","/[PI].A/M","250",79.57747154594767,false],[false,"Gilbert","Gb","GB","magnetic tension",0.7957747154594768,[0,-1,0,0,0,1,0],"Gb","cgs",true,null,null,1,false,false,0,"Gi; magnetomotive force; Gilberts","UCUM","","Clinical","unit of magnetomotive force (magnetic potential)","Oe.cm","OE.CM","1",1,false],[false,"stilb","sb","SB","lum. intensity density",10000,[-2,0,0,0,0,0,1],"sb","cgs",true,null,null,1,false,false,0,"stilbs","UCUM","","Obsolete","unit of luminance; equal to and replaced by unit candela per square centimeter (cd/cm2)","cd/cm2","CD/CM2","1",1,false],[false,"Lambert","Lmb","LMB","brightness",3183.098861837907,[-2,0,0,0,0,0,1],"L","cgs",true,null,null,1,false,false,0,"luminance; lamberts","UCUM","","Clinical","unit of luminance defined as 1 lambert = 1/ π candela per square meter","cd/cm2/[pi]","CD/CM2/[PI]","1",1,false],[false,"phot","ph","PHT","illuminance",0.0001,[-2,0,0,2,0,0,1],"ph","cgs",true,null,null,1,false,false,0,"phots","UCUM","","Clinical","CGS photometric unit of illuminance, or luminous flux through an area equal to 10000 lumens per square meter = 10000 lux","lx","LX","1e-4",0.0001,false],[false,"Curie","Ci","CI","radioactivity",37000000000,[0,-1,0,0,0,0,0],"Ci","cgs",true,null,null,1,false,false,0,"curies","UCUM","","Obsolete","unit for measuring atomic disintegration rate; replaced by the Bequerel (Bq) unit","Bq","BQ","37e9",37000000000,false],[false,"Roentgen","R","ROE","ion dose",2.58e-7,[0,0,-1,0,0,1,0],"R","cgs",true,null,null,1,false,false,0,"röntgen; Roentgens","UCUM","","Clinical","unit of exposure of X-rays and gamma rays in air; unit used primarily in the US but strongly discouraged by NIST","C/kg","C/KG","2.58e-4",0.000258,false],[false,"radiation absorbed dose","RAD","[RAD]","energy dose",0.01,[2,-2,0,0,0,0,0],"RAD","cgs",true,null,null,1,false,false,0,"doses","UCUM","","Clinical","unit of radiation absorbed dose used primarily in the US with base units 100 ergs per gram of material. Also see the SI unit Gray (Gy).","erg/g","ERG/G","100",100,false],[false,"radiation equivalent man","REM","[REM]","dose equivalent",0.01,[2,-2,0,0,0,0,0],"REM","cgs",true,null,null,1,false,false,0,"Roentgen Equivalent in Man; rems; dose equivalents","UCUM","","Clinical","unit of equivalent dose which measures the effect of radiation on humans equal to 0.01 sievert. Used primarily in the US. Also see SI unit Sievert (Sv)","RAD","[RAD]","1",1,false],[false,"inch","[in_i]","[IN_I]","length",0.025400000000000002,[1,0,0,0,0,0,0],"in","intcust",false,null,null,1,false,false,0,"inches; in; international inch; body height","UCUM","Len","Clinical","standard unit for inch in the US and internationally","cm","CM","254e-2",2.54,false],[false,"foot","[ft_i]","[FT_I]","length",0.3048,[1,0,0,0,0,0,0],"ft","intcust",false,null,null,1,false,false,0,"ft; fts; foot; international foot; feet; international feet; height","UCUM","Len","Clinical","unit used in the US and internationally","[in_i]","[IN_I]","12",12,false],[false,"yard","[yd_i]","[YD_I]","length",0.9144000000000001,[1,0,0,0,0,0,0],"yd","intcust",false,null,null,1,false,false,0,"international yards; yds; distance","UCUM","Len","Clinical","standard unit used in the US and internationally","[ft_i]","[FT_I]","3",3,false],[false,"mile","[mi_i]","[MI_I]","length",1609.344,[1,0,0,0,0,0,0],"mi","intcust",false,null,null,1,false,false,0,"international miles; mi I; statute mile","UCUM","Len","Clinical","standard unit used in the US and internationally","[ft_i]","[FT_I]","5280",5280,false],[false,"fathom","[fth_i]","[FTH_I]","depth of water",1.8288000000000002,[1,0,0,0,0,0,0],"fth","intcust",false,null,null,1,false,false,0,"international fathoms","UCUM","Len","Nonclinical","unit used in the US and internationally to measure depth of water; same length as the US fathom","[ft_i]","[FT_I]","6",6,false],[false,"nautical mile","[nmi_i]","[NMI_I]","length",1852,[1,0,0,0,0,0,0],"n.mi","intcust",false,null,null,1,false,false,0,"nautical mile; nautical miles; international nautical mile; international nautical miles; nm; n.m.; nmi","UCUM","Len","Nonclinical","standard unit used in the US and internationally","m","M","1852",1852,false],[false,"knot","[kn_i]","[KN_I]","velocity",0.5144444444444445,[1,-1,0,0,0,0,0],"knot","intcust",false,null,null,1,false,false,0,"kn; kt; international knots","UCUM","Vel","Nonclinical","defined as equal to one nautical mile (1.852 km) per hour","[nmi_i]/h","[NMI_I]/H","1",1,false],[false,"square inch","[sin_i]","[SIN_I]","area",0.0006451600000000001,[2,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"in2; in^2; inches squared; sq inch; inches squared; international","UCUM","Area","Clinical","standard unit used in the US and internationally","[in_i]2","[IN_I]2","1",1,false],[false,"square foot","[sft_i]","[SFT_I]","area",0.09290304,[2,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"ft2; ft^2; ft squared; sq ft; feet; international","UCUM","Area","Clinical","standard unit used in the US and internationally","[ft_i]2","[FT_I]2","1",1,false],[false,"square yard","[syd_i]","[SYD_I]","area",0.8361273600000002,[2,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"yd2; yd^2; sq. yds; yards squared; international","UCUM","Area","Clinical","standard unit used in the US and internationally","[yd_i]2","[YD_I]2","1",1,false],[false,"cubic inch","[cin_i]","[CIN_I]","volume",0.000016387064000000003,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"in3; in^3; in*3; inches^3; inches*3; cu. in; cu in; cubic inches; inches cubed; cin","UCUM","Vol","Clinical","standard unit used in the US and internationally","[in_i]3","[IN_I]3","1",1,false],[false,"cubic foot","[cft_i]","[CFT_I]","volume",0.028316846592000004,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"ft3; ft^3; ft*3; cu. ft; cubic feet; cubed; [ft_i]3; international","UCUM","Vol","Clinical","","[ft_i]3","[FT_I]3","1",1,false],[false,"cubic yard","[cyd_i]","[CYD_I]","volume",0.7645548579840002,[3,0,0,0,0,0,0],"cu.yd","intcust",false,null,null,1,false,false,0,"cubic yards; cubic yds; cu yards; CYs; yards^3; yd^3; yds^3; yd3; yds3","UCUM","Vol","Nonclinical","standard unit used in the US and internationally","[yd_i]3","[YD_I]3","1",1,false],[false,"board foot","[bf_i]","[BF_I]","volume",0.002359737216,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"BDFT; FBM; BF; board feet; international","UCUM","Vol","Nonclinical","unit of volume used to measure lumber","[in_i]3","[IN_I]3","144",144,false],[false,"cord","[cr_i]","[CR_I]","volume",3.6245563637760005,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"crd I; international cords","UCUM","Vol","Nonclinical","unit of measure of dry volume used to measure firewood equal 128 ft3","[ft_i]3","[FT_I]3","128",128,false],[false,"mil","[mil_i]","[MIL_I]","length",0.000025400000000000004,[1,0,0,0,0,0,0],"mil","intcust",false,null,null,1,false,false,0,"thou, thousandth; mils; international","UCUM","Len","Clinical","equal to 0.001 international inch","[in_i]","[IN_I]","1e-3",0.001,false],[false,"circular mil","[cml_i]","[CML_I]","area",5.067074790974979e-10,[2,0,0,0,0,0,0],"circ.mil","intcust",false,null,null,1,false,false,0,"circular mils; cml I; international","UCUM","Area","Clinical","","[pi]/4.[mil_i]2","[PI]/4.[MIL_I]2","1",1,false],[false,"hand","[hd_i]","[HD_I]","height of horses",0.10160000000000001,[1,0,0,0,0,0,0],"hd","intcust",false,null,null,1,false,false,0,"hands; international","UCUM","Len","Nonclinical","used to measure horse height","[in_i]","[IN_I]","4",4,false],[false,"foot - US","[ft_us]","[FT_US]","length",0.3048006096012192,[1,0,0,0,0,0,0],"ftus","us-lengths",false,null,null,1,false,false,0,"US foot; foot US; us ft; ft us; height; visual distance; feet","UCUM","Len","Obsolete","Better to use [ft_i] which refers to the length used worldwide, including in the US; [ft_us] may be confused with land survey units. ","m/3937","M/3937","1200",1200,false],[false,"yard - US","[yd_us]","[YD_US]","length",0.9144018288036575,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US yards; us yds; distance","UCUM","Len; Nrat","Obsolete","Better to use [yd_i] which refers to the length used worldwide, including in the US; [yd_us] refers to unit used in land surveys in the US","[ft_us]","[FT_US]","3",3,false],[false,"inch - US","[in_us]","[IN_US]","length",0.0254000508001016,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US inches; in us; us in; inch US","UCUM","Len","Obsolete","Better to use [in_i] which refers to the length used worldwide, including in the US","[ft_us]/12","[FT_US]/12","1",1,false],[false,"rod - US","[rd_us]","[RD_US]","length",5.029210058420117,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US rod; US rods; rd US; US rd","UCUM","Len","Obsolete","","[ft_us]","[FT_US]","16.5",16.5,false],[false,"Gunter\'s chain - US","[ch_us]","[CH_US]","length",20.116840233680467,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"surveyor\'s chain; Surveyor\'s chain USA; Gunter’s measurement; surveyor’s measurement; Gunter\'s Chain USA","UCUM","Len","Obsolete","historical unit used for land survey used only in the US","[rd_us]","[RD_US]","4",4,false],[false,"link for Gunter\'s chain - US","[lk_us]","[LK_US]","length",0.20116840233680466,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"Links for Gunter\'s Chain USA","UCUM","Len","Obsolete","","[ch_us]/100","[CH_US]/100","1",1,false],[false,"Ramden\'s chain - US","[rch_us]","[RCH_US]","length",30.480060960121918,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"Ramsden\'s chain; engineer\'s chains","UCUM","Len","Obsolete","distance measuring device used for land survey","[ft_us]","[FT_US]","100",100,false],[false,"link for Ramden\'s chain - US","[rlk_us]","[RLK_US]","length",0.3048006096012192,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"links for Ramsden\'s chain","UCUM","Len","Obsolete","","[rch_us]/100","[RCH_US]/100","1",1,false],[false,"fathom - US","[fth_us]","[FTH_US]","length",1.828803657607315,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US fathoms; fathom USA; fth us","UCUM","Len","Obsolete","same length as the international fathom - better to use international fathom ([fth_i])","[ft_us]","[FT_US]","6",6,false],[false,"furlong - US","[fur_us]","[FUR_US]","length",201.16840233680466,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US furlongs; fur us","UCUM","Len","Nonclinical","distance unit in horse racing","[rd_us]","[RD_US]","40",40,false],[false,"mile - US","[mi_us]","[MI_US]","length",1609.3472186944373,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"U.S. Survey Miles; US statute miles; survey mi; US mi; distance","UCUM","Len","Nonclinical","Better to use [mi_i] which refers to the length used worldwide, including in the US","[fur_us]","[FUR_US]","8",8,false],[false,"acre - US","[acr_us]","[ACR_US]","area",4046.872609874252,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"Acre USA Survey; Acre USA; survey acres","UCUM","Area","Nonclinical","an older unit based on pre 1959 US statute lengths that is still sometimes used in the US only for land survey purposes. ","[rd_us]2","[RD_US]2","160",160,false],[false,"square rod - US","[srd_us]","[SRD_US]","area",25.292953811714074,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"rod2; rod^2; sq. rod; rods squared","UCUM","Area","Nonclinical","Used only in the US to measure land area, based on US statute land survey length units","[rd_us]2","[RD_US]2","1",1,false],[false,"square mile - US","[smi_us]","[SMI_US]","area",2589998.470319521,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"mi2; mi^2; sq mi; miles squared","UCUM","Area","Nonclinical","historical unit used only in the US for land survey purposes (based on the US survey mile), not the internationally recognized [mi_i]","[mi_us]2","[MI_US]2","1",1,false],[false,"section","[sct]","[SCT]","area",2589998.470319521,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"sct; sections","UCUM","Area","Nonclinical","tract of land approximately equal to 1 mile square containing 640 acres","[mi_us]2","[MI_US]2","1",1,false],[false,"township","[twp]","[TWP]","area",93239944.93150276,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"twp; townships","UCUM","Area","Nonclinical","land measurement equal to 6 mile square","[sct]","[SCT]","36",36,false],[false,"mil - US","[mil_us]","[MIL_US]","length",0.0000254000508001016,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"thou, thousandth; mils","UCUM","Len","Obsolete","better to use [mil_i] which is based on the internationally recognized inch","[in_us]","[IN_US]","1e-3",0.001,false],[false,"inch - British","[in_br]","[IN_BR]","length",0.025399980000000003,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"imperial inches; imp in; br in; british inches","UCUM","Len","Obsolete","","cm","CM","2.539998",2.539998,false],[false,"foot - British","[ft_br]","[FT_BR]","length",0.30479976000000003,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British Foot; Imperial Foot; feet; imp fts; br fts","UCUM","Len","Obsolete","","[in_br]","[IN_BR]","12",12,false],[false,"rod - British","[rd_br]","[RD_BR]","length",5.02919604,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British rods; br rd","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","16.5",16.5,false],[false,"Gunter\'s chain - British","[ch_br]","[CH_BR]","length",20.11678416,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"Gunter\'s Chain British; Gunters Chain British; Surveyor\'s Chain British","UCUM","Len","Obsolete","historical unit used for land survey used only in Great Britain","[rd_br]","[RD_BR]","4",4,false],[false,"link for Gunter\'s chain - British","[lk_br]","[LK_BR]","length",0.2011678416,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"Links for Gunter\'s Chain British","UCUM","Len","Obsolete","","[ch_br]/100","[CH_BR]/100","1",1,false],[false,"fathom - British","[fth_br]","[FTH_BR]","length",1.82879856,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British fathoms; imperial fathoms; br fth; imp fth","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","6",6,false],[false,"pace - British","[pc_br]","[PC_BR]","length",0.7619994000000001,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British paces; br pc","UCUM","Len","Nonclinical","traditional unit of length equal to 152.4 centimeters, or 1.52 meter. ","[ft_br]","[FT_BR]","2.5",2.5,false],[false,"yard - British","[yd_br]","[YD_BR]","length",0.91439928,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British yards; Br yds; distance","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","3",3,false],[false,"mile - British","[mi_br]","[MI_BR]","length",1609.3427328000002,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"imperial miles; British miles; English statute miles; imp mi, br mi","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","5280",5280,false],[false,"nautical mile - British","[nmi_br]","[NMI_BR]","length",1853.1825408000002,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British nautical miles; Imperial nautical miles; Admiralty miles; n.m. br; imp nm","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","6080",6080,false],[false,"knot - British","[kn_br]","[KN_BR]","velocity",0.5147729280000001,[1,-1,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British knots; kn br; kt","UCUM","Vel","Obsolete","based on obsolete British nautical mile ","[nmi_br]/h","[NMI_BR]/H","1",1,false],[false,"acre","[acr_br]","[ACR_BR]","area",4046.850049400269,[2,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"Imperial acres; British; a; ac; ar; acr","UCUM","Area","Nonclinical","the standard unit for acre used in the US and internationally","[yd_br]2","[YD_BR]2","4840",4840,false],[false,"gallon - US","[gal_us]","[GAL_US]","fluid volume",0.0037854117840000006,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US gallons; US liquid gallon; gal us; Queen Anne\'s wine gallon","UCUM","Vol","Nonclinical","only gallon unit used in the US; [gal_us] is only used in some other countries in South American and Africa to measure gasoline volume","[in_i]3","[IN_I]3","231",231,false],[false,"barrel - US","[bbl_us]","[BBL_US]","fluid volume",0.158987294928,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"bbl","UCUM","Vol","Nonclinical","[bbl_us] is the standard unit for oil barrel, which is a unit only used in the US to measure the volume oil. ","[gal_us]","[GAL_US]","42",42,false],[false,"quart - US","[qt_us]","[QT_US]","fluid volume",0.0009463529460000001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US quarts; us qts","UCUM","Vol","Clinical","Used only in the US","[gal_us]/4","[GAL_US]/4","1",1,false],[false,"pint - US","[pt_us]","[PT_US]","fluid volume",0.00047317647300000007,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US pints; pint US; liquid pint; pt us; us pt","UCUM","Vol","Clinical","Used only in the US","[qt_us]/2","[QT_US]/2","1",1,false],[false,"gill - US","[gil_us]","[GIL_US]","fluid volume",0.00011829411825000002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US gills; gil us","UCUM","Vol","Nonclinical","only used in the context of alcohol volume in the US","[pt_us]/4","[PT_US]/4","1",1,false],[false,"fluid ounce - US","[foz_us]","[FOZ_US]","fluid volume",0.000029573529562500005,[3,0,0,0,0,0,0],"oz fl","us-volumes",false,null,null,1,false,false,0,"US fluid ounces; fl ozs; FO; fl. oz.; foz us","UCUM","Vol","Clinical","unit used only in the US","[gil_us]/4","[GIL_US]/4","1",1,false],[false,"fluid dram - US","[fdr_us]","[FDR_US]","fluid volume",0.0000036966911953125006,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US fluid drams; fdr us","UCUM","Vol","Nonclinical","equal to 1/8 US fluid ounce = 3.69 mL; used informally to mean small amount of liquor, especially Scotch whiskey","[foz_us]/8","[FOZ_US]/8","1",1,false],[false,"minim - US","[min_us]","[MIN_US]","fluid volume",6.1611519921875e-8,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"min US; US min; ♏ US","UCUM","Vol","Obsolete","","[fdr_us]/60","[FDR_US]/60","1",1,false],[false,"cord - US","[crd_us]","[CRD_US]","fluid volume",3.6245563637760005,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US cord; US cords; crd us; us crd","UCUM","Vol","Nonclinical","unit of measure of dry volume used to measure firewood equal 128 ft3 (the same as international cord [cr_i])","[ft_i]3","[FT_I]3","128",128,false],[false,"bushel - US","[bu_us]","[BU_US]","dry volume",0.03523907016688001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US bushels; US bsh; US bu","UCUM","Vol","Obsolete","Historical unit of dry volume that is rarely used today","[in_i]3","[IN_I]3","2150.42",2150.42,false],[false,"gallon - historical","[gal_wi]","[GAL_WI]","dry volume",0.004404883770860001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"Corn Gallon British; Dry Gallon US; Gallons Historical; Grain Gallon British; Winchester Corn Gallon; historical winchester gallons; wi gal","UCUM","Vol","Obsolete","historical unit of dry volume no longer used","[bu_us]/8","[BU_US]/8","1",1,false],[false,"peck - US","[pk_us]","[PK_US]","dry volume",0.008809767541720002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US pecks; US pk","UCUM","Vol","Nonclinical","unit of dry volume rarely used today (can be used to measure volume of apples)","[bu_us]/4","[BU_US]/4","1",1,false],[false,"dry quart - US","[dqt_us]","[DQT_US]","dry volume",0.0011012209427150002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"dry quarts; dry quart US; US dry quart; dry qt; us dry qt; dqt; dqt us","UCUM","Vol","Nonclinical","historical unit of dry volume only in the US, but is rarely used today","[pk_us]/8","[PK_US]/8","1",1,false],[false,"dry pint - US","[dpt_us]","[DPT_US]","dry volume",0.0005506104713575001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"dry pints; dry pint US; US dry pint; dry pt; dpt; dpt us","UCUM","Vol","Nonclinical","historical unit of dry volume only in the US, but is rarely used today","[dqt_us]/2","[DQT_US]/2","1",1,false],[false,"tablespoon - US","[tbs_us]","[TBS_US]","volume",0.000014786764781250002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"Tbs; tbsp; tbs us; US tablespoons","UCUM","Vol","Clinical","unit defined as 0.5 US fluid ounces or 3 teaspoons - used only in the US. See [tbs_m] for the unit used internationally and in the US for nutrional labelling. ","[foz_us]/2","[FOZ_US]/2","1",1,false],[false,"teaspoon - US","[tsp_us]","[TSP_US]","volume",0.0000049289215937500005,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"tsp; t; US teaspoons","UCUM","Vol","Nonclinical","unit defined as 1/6 US fluid ounces - used only in the US. See [tsp_m] for the unit used internationally and in the US for nutrional labelling. ","[tbs_us]/3","[TBS_US]/3","1",1,false],[false,"cup - US customary","[cup_us]","[CUP_US]","volume",0.00023658823650000004,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"cup us; us cups","UCUM","Vol","Nonclinical","Unit defined as 1/2 US pint or 16 US tablespoons ≈ 236.59 mL, which is not the standard unit defined by the FDA of 240 mL - see [cup_m] (metric cup)","[tbs_us]","[TBS_US]","16",16,false],[false,"fluid ounce - metric","[foz_m]","[FOZ_M]","fluid volume",0.000029999999999999997,[3,0,0,0,0,0,0],"oz fl","us-volumes",false,null,null,1,false,false,0,"metric fluid ounces; fozs m; fl ozs m","UCUM","Vol","Clinical","unit used only in the US for nutritional labelling, as set by the FDA","mL","ML","30",30,false],[false,"cup - US legal","[cup_m]","[CUP_M]","volume",0.00023999999999999998,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"cup m; metric cups","UCUM","Vol","Clinical","standard unit equal to 240 mL used in the US for nutritional labelling, as defined by the FDA. Note that this is different from the US customary cup (236.59 mL) and the metric cup used in Commonwealth nations (250 mL).","mL","ML","240",240,false],[false,"teaspoon - metric","[tsp_m]","[TSP_M]","volume",0.0000049999999999999996,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"tsp; t; metric teaspoons","UCUM","Vol","Clinical","standard unit used in the US and internationally","mL","mL","5",5,false],[false,"tablespoon - metric","[tbs_m]","[TBS_M]","volume",0.000014999999999999999,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"metric tablespoons; Tbs; tbsp; T; tbs m","UCUM","Vol","Clinical","standard unit used in the US and internationally","mL","mL","15",15,false],[false,"gallon- British","[gal_br]","[GAL_BR]","volume",0.004546090000000001,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"imperial gallons, UK gallons; British gallons; br gal; imp gal","UCUM","Vol","Nonclinical","Used only in Great Britain and other Commonwealth countries","l","L","4.54609",4.54609,false],[false,"peck - British","[pk_br]","[PK_BR]","volume",0.009092180000000002,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"imperial pecks; British pecks; br pk; imp pk","UCUM","Vol","Nonclinical","unit of dry volume rarely used today (can be used to measure volume of apples)","[gal_br]","[GAL_BR]","2",2,false],[false,"bushel - British","[bu_br]","[BU_BR]","volume",0.03636872000000001,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British bushels; imperial; br bsh; br bu; imp","UCUM","Vol","Obsolete","Historical unit of dry volume that is rarely used today","[pk_br]","[PK_BR]","4",4,false],[false,"quart - British","[qt_br]","[QT_BR]","volume",0.0011365225000000002,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British quarts; imperial quarts; br qts","UCUM","Vol","Clinical","Used only in Great Britain and other Commonwealth countries","[gal_br]/4","[GAL_BR]/4","1",1,false],[false,"pint - British","[pt_br]","[PT_BR]","volume",0.0005682612500000001,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British pints; imperial pints; pt br; br pt; imp pt; pt imp","UCUM","Vol","Clinical","Used only in Great Britain and other Commonwealth countries","[qt_br]/2","[QT_BR]/2","1",1,false],[false,"gill - British","[gil_br]","[GIL_BR]","volume",0.00014206531250000003,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"imperial gills; British gills; imp gill, br gill","UCUM","Vol","Nonclinical","only used in the context of alcohol volume in Great Britain","[pt_br]/4","[PT_BR]/4","1",1,false],[false,"fluid ounce - British","[foz_br]","[FOZ_BR]","volume",0.000028413062500000005,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British fluid ounces; Imperial fluid ounces; br fozs; imp fozs; br fl ozs","UCUM","Vol","Clinical","Used only in Great Britain and other Commonwealth countries","[gil_br]/5","[GIL_BR]/5","1",1,false],[false,"fluid dram - British","[fdr_br]","[FDR_BR]","volume",0.0000035516328125000006,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British fluid drams; fdr br","UCUM","Vol","Nonclinical","equal to 1/8 Imperial fluid ounce = 3.55 mL; used informally to mean small amount of liquor, especially Scotch whiskey","[foz_br]/8","[FOZ_BR]/8","1",1,false],[false,"minim - British","[min_br]","[MIN_BR]","volume",5.919388020833334e-8,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"min br; br min; ♏ br","UCUM","Vol","Obsolete","","[fdr_br]/60","[FDR_BR]/60","1",1,false],[false,"grain","[gr]","[GR]","mass",0.06479891,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"gr; grains","UCUM","Mass","Nonclinical","an apothecary measure of mass rarely used today","mg","MG","64.79891",64.79891,false],[false,"pound","[lb_av]","[LB_AV]","mass",453.59237,[0,0,1,0,0,0,0],"lb","avoirdupois",false,null,null,1,false,false,0,"avoirdupois pounds, international pounds; av lbs; pounds","UCUM","Mass","Clinical","standard unit used in the US and internationally","[gr]","[GR]","7000",7000,false],[false,"pound force - US","[lbf_av]","[LBF_AV]","force",4448.2216152605,[1,-2,1,0,0,0,0],"lbf","const",false,null,null,1,false,false,0,"lbfs; US lbf; US pound forces","UCUM","Force","Clinical","only rarely needed in health care - see [lb_av] which is the more common unit to express weight","[lb_av].[g]","[LB_AV].[G]","1",1,false],[false,"ounce","[oz_av]","[OZ_AV]","mass",28.349523125,[0,0,1,0,0,0,0],"oz","avoirdupois",false,null,null,1,false,false,0,"ounces; international ounces; avoirdupois ounces; av ozs","UCUM","Mass","Clinical","standard unit used in the US and internationally","[lb_av]/16","[LB_AV]/16","1",1,false],[false,"Dram mass unit","[dr_av]","[DR_AV]","mass",1.7718451953125,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"Dram; drams avoirdupois; avoidupois dram; international dram","UCUM","Mass","Clinical","unit from the avoirdupois system, which is used in the US and internationally","[oz_av]/16","[OZ_AV]/16","1",1,false],[false,"short hundredweight","[scwt_av]","[SCWT_AV]","mass",45359.237,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"hundredweights; s cwt; scwt; avoirdupois","UCUM","Mass","Nonclinical","Used only in the US to equal 100 pounds","[lb_av]","[LB_AV]","100",100,false],[false,"long hundredweight","[lcwt_av]","[LCWT_AV]","mass",50802.345440000005,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"imperial hundredweights; imp cwt; lcwt; avoirdupois","UCUM","Mass","Obsolete","","[lb_av]","[LB_AV]","112",112,false],[false,"short ton - US","[ston_av]","[STON_AV]","mass",907184.74,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"ton; US tons; avoirdupois tons","UCUM","Mass","Clinical","Used only in the US","[scwt_av]","[SCWT_AV]","20",20,false],[false,"long ton - British","[lton_av]","[LTON_AV]","mass",1016046.9088000001,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"imperial tons; weight tons; British long tons; long ton avoirdupois","UCUM","Mass","Nonclinical","Used only in Great Britain and other Commonwealth countries","[lcwt_av]","[LCWT_AV]","20",20,false],[false,"stone - British","[stone_av]","[STONE_AV]","mass",6350.293180000001,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"British stones; avoirdupois","UCUM","Mass","Nonclinical","Used primarily in the UK and Ireland to measure body weight","[lb_av]","[LB_AV]","14",14,false],[false,"pennyweight - troy","[pwt_tr]","[PWT_TR]","mass",1.5551738400000001,[0,0,1,0,0,0,0],null,"troy",false,null,null,1,false,false,0,"dwt; denarius weights","UCUM","Mass","Obsolete","historical unit used to measure mass and cost of precious metals","[gr]","[GR]","24",24,false],[false,"ounce - troy","[oz_tr]","[OZ_TR]","mass",31.103476800000003,[0,0,1,0,0,0,0],null,"troy",false,null,null,1,false,false,0,"troy ounces; tr ozs","UCUM","Mass","Nonclinical","unit of mass for precious metals and gemstones only","[pwt_tr]","[PWT_TR]","20",20,false],[false,"pound - troy","[lb_tr]","[LB_TR]","mass",373.2417216,[0,0,1,0,0,0,0],null,"troy",false,null,null,1,false,false,0,"troy pounds; tr lbs","UCUM","Mass","Nonclinical","only used for weighing precious metals","[oz_tr]","[OZ_TR]","12",12,false],[false,"scruple","[sc_ap]","[SC_AP]","mass",1.2959782,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"scruples; sc ap","UCUM","Mass","Obsolete","","[gr]","[GR]","20",20,false],[false,"dram - apothecary","[dr_ap]","[DR_AP]","mass",3.8879346,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"ʒ; drachm; apothecaries drams; dr ap; dram ap","UCUM","Mass","Nonclinical","unit still used in the US occasionally to measure amount of drugs in pharmacies","[sc_ap]","[SC_AP]","3",3,false],[false,"ounce - apothecary","[oz_ap]","[OZ_AP]","mass",31.1034768,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"apothecary ounces; oz ap; ap ozs; ozs ap","UCUM","Mass","Obsolete","","[dr_ap]","[DR_AP]","8",8,false],[false,"pound - apothecary","[lb_ap]","[LB_AP]","mass",373.2417216,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"apothecary pounds; apothecaries pounds; ap lb; lb ap; ap lbs; lbs ap","UCUM","Mass","Obsolete","","[oz_ap]","[OZ_AP]","12",12,false],[false,"ounce - metric","[oz_m]","[OZ_M]","mass",28,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"metric ounces; m ozs","UCUM","Mass","Clinical","see [oz_av] (the avoirdupois ounce) for the standard ounce used internationally; [oz_m] is equal to 28 grams and is based on the apothecaries\' system of mass units which is used in some US pharmacies. ","g","g","28",28,false],[false,"line","[lne]","[LNE]","length",0.002116666666666667,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"British lines; br L; L; l","UCUM","Len","Obsolete","","[in_i]/12","[IN_I]/12","1",1,false],[false,"point (typography)","[pnt]","[PNT]","length",0.0003527777777777778,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"DTP points; desktop publishing point; pt; pnt","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[lne]/6","[LNE]/6","1",1,false],[false,"pica (typography)","[pca]","[PCA]","length",0.004233333333333334,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"picas","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[pnt]","[PNT]","12",12,false],[false,"Printer\'s point (typography)","[pnt_pr]","[PNT_PR]","length",0.00035145980000000004,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"pnt pr","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[in_i]","[IN_I]","0.013837",0.013837,false],[false,"Printer\'s pica (typography)","[pca_pr]","[PCA_PR]","length",0.004217517600000001,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"pca pr; Printer\'s picas","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[pnt_pr]","[PNT_PR]","12",12,false],[false,"pied","[pied]","[PIED]","length",0.3248,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"pieds du roi; Paris foot; royal; French; feet","UCUM","Len","Obsolete","","cm","CM","32.48",32.48,false],[false,"pouce","[pouce]","[POUCE]","length",0.027066666666666666,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"historical French inches; French royal inches","UCUM","Len","Obsolete","","[pied]/12","[PIED]/12","1",1,false],[false,"ligne","[ligne]","[LIGNE]","length",0.0022555555555555554,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"Paris lines; lignes","UCUM","Len","Obsolete","","[pouce]/12","[POUCE]/12","1",1,false],[false,"didot","[didot]","[DIDOT]","length",0.0003759259259259259,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"Didot point; dd; Didots Point; didots; points","UCUM","Len","Obsolete","typography unit for typesetter\'s length","[ligne]/6","[LIGNE]/6","1",1,false],[false,"cicero","[cicero]","[CICERO]","length",0.004511111111111111,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"Didot\'s pica; ciceros; picas","UCUM","Len","Obsolete","typography unit for typesetter\'s length","[didot]","[DIDOT]","12",12,false],[false,"degrees Fahrenheit","[degF]","[DEGF]","temperature",0.5555555555555556,[0,0,0,0,1,0,0],"°F","heat",false,null,"degF",1,true,false,0,"°F; deg F","UCUM","Temp","Clinical","","K",null,null,0.5555555555555556,false],[false,"degrees Rankine","[degR]","[degR]","temperature",0.5555555555555556,[0,0,0,0,1,0,0],"°R","heat",false,null,null,1,false,false,0,"°R; °Ra; Rankine","UCUM","Temp","Obsolete","Replaced by Kelvin","K/9","K/9","5",5,false],[false,"degrees Réaumur","[degRe]","[degRe]","temperature",1.25,[0,0,0,0,1,0,0],"°Ré","heat",false,null,"degRe",1,true,false,0,"°Ré, °Re, °r; Réaumur; degree Reaumur; Reaumur","UCUM","Temp","Obsolete","replaced by Celsius","K",null,null,1.25,false],[false,"calorie at 15°C","cal_[15]","CAL_[15]","energy",4185.8,[2,-2,1,0,0,0,0],"cal15°C","heat",true,null,null,1,false,false,0,"calorie 15 C; cals 15 C; calories at 15 C","UCUM","Enrg","Nonclinical","equal to 4.1855 joules; calorie most often used in engineering","J","J","4.18580",4.1858,false],[false,"calorie at 20°C","cal_[20]","CAL_[20]","energy",4181.9,[2,-2,1,0,0,0,0],"cal20°C","heat",true,null,null,1,false,false,0,"calorie 20 C; cal 20 C; calories at 20 C","UCUM","Enrg","Clinical","equal to 4.18190 joules. ","J","J","4.18190",4.1819,false],[false,"mean calorie","cal_m","CAL_M","energy",4190.0199999999995,[2,-2,1,0,0,0,0],"calm","heat",true,null,null,1,false,false,0,"mean cals; mean calories","UCUM","Enrg","Clinical","equal to 4.19002 joules. ","J","J","4.19002",4.19002,false],[false,"international table calorie","cal_IT","CAL_IT","energy",4186.8,[2,-2,1,0,0,0,0],"calIT","heat",true,null,null,1,false,false,0,"calories IT; IT cals; international steam table calories","UCUM","Enrg","Nonclinical","used in engineering steam tables and defined as 1/860 international watt-hour; equal to 4.1868 joules","J","J","4.1868",4.1868,false],[false,"thermochemical calorie","cal_th","CAL_TH","energy",4184,[2,-2,1,0,0,0,0],"calth","heat",true,null,null,1,false,false,0,"thermochemical calories; th cals","UCUM","Enrg","Clinical","equal to 4.184 joules; used as the unit in medicine and biochemistry (equal to cal)","J","J","4.184",4.184,false],[false,"calorie","cal","CAL","energy",4184,[2,-2,1,0,0,0,0],"cal","heat",true,null,null,1,false,false,0,"gram calories; small calories","UCUM","Enrg","Clinical","equal to 4.184 joules (the same value as the thermochemical calorie, which is the most common calorie used in medicine and biochemistry)","cal_th","CAL_TH","1",1,false],[false,"nutrition label Calories","[Cal]","[CAL]","energy",4184000,[2,-2,1,0,0,0,0],"Cal","heat",false,null,null,1,false,false,0,"food calories; Cal; kcal","UCUM","Eng","Clinical","","kcal_th","KCAL_TH","1",1,false],[false,"British thermal unit at 39°F","[Btu_39]","[BTU_39]","energy",1059670,[2,-2,1,0,0,0,0],"Btu39°F","heat",false,null,null,1,false,false,0,"BTU 39F; BTU 39 F; B.T.U. 39 F; B.Th.U. 39 F; BThU 39 F; British thermal units","UCUM","Eng","Nonclinical","equal to 1.05967 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05967",1.05967,false],[false,"British thermal unit at 59°F","[Btu_59]","[BTU_59]","energy",1054800,[2,-2,1,0,0,0,0],"Btu59°F","heat",false,null,null,1,false,false,0,"BTU 59 F; BTU 59F; B.T.U. 59 F; B.Th.U. 59 F; BThU 59F; British thermal units","UCUM","Eng","Nonclinical","equal to 1.05480 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05480",1.0548,false],[false,"British thermal unit at 60°F","[Btu_60]","[BTU_60]","energy",1054680,[2,-2,1,0,0,0,0],"Btu60°F","heat",false,null,null,1,false,false,0,"BTU 60 F; BTU 60F; B.T.U. 60 F; B.Th.U. 60 F; BThU 60 F; British thermal units 60 F","UCUM","Eng","Nonclinical","equal to 1.05468 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05468",1.05468,false],[false,"mean British thermal unit","[Btu_m]","[BTU_M]","energy",1055870,[2,-2,1,0,0,0,0],"Btum","heat",false,null,null,1,false,false,0,"BTU mean; B.T.U. mean; B.Th.U. mean; BThU mean; British thermal units mean; ","UCUM","Eng","Nonclinical","equal to 1.05587 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05587",1.05587,false],[false,"international table British thermal unit","[Btu_IT]","[BTU_IT]","energy",1055055.85262,[2,-2,1,0,0,0,0],"BtuIT","heat",false,null,null,1,false,false,0,"BTU IT; B.T.U. IT; B.Th.U. IT; BThU IT; British thermal units IT","UCUM","Eng","Nonclinical","equal to 1.055 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05505585262",1.05505585262,false],[false,"thermochemical British thermal unit","[Btu_th]","[BTU_TH]","energy",1054350,[2,-2,1,0,0,0,0],"Btuth","heat",false,null,null,1,false,false,0,"BTU Th; B.T.U. Th; B.Th.U. Th; BThU Th; thermochemical British thermal units","UCUM","Eng","Nonclinical","equal to 1.054350 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.054350",1.05435,false],[false,"British thermal unit","[Btu]","[BTU]","energy",1054350,[2,-2,1,0,0,0,0],"btu","heat",false,null,null,1,false,false,0,"BTU; B.T.U. ; B.Th.U.; BThU; British thermal units","UCUM","Eng","Nonclinical","equal to the thermochemical British thermal unit equal to 1.054350 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","[Btu_th]","[BTU_TH]","1",1,false],[false,"horsepower - mechanical","[HP]","[HP]","power",745699.8715822703,[2,-3,1,0,0,0,0],null,"heat",false,null,null,1,false,false,0,"imperial horsepowers","UCUM","EngRat","Nonclinical","refers to mechanical horsepower, which is unit used to measure engine power primarily in the US. ","[ft_i].[lbf_av]/s","[FT_I].[LBF_AV]/S","550",550,false],[false,"tex","tex","TEX","linear mass density (of textile thread)",0.001,[-1,0,1,0,0,0,0],"tex","heat",true,null,null,1,false,false,0,"linear mass density; texes","UCUM","","Clinical","unit of linear mass density for fibers equal to gram per 1000 meters","g/km","G/KM","1",1,false],[false,"Denier (linear mass density)","[den]","[DEN]","linear mass density (of textile thread)",0.0001111111111111111,[-1,0,1,0,0,0,0],"den","heat",false,null,null,1,false,false,0,"den; deniers","UCUM","","Nonclinical","equal to the mass in grams per 9000 meters of the fiber (1 denier = 1 strand of silk)","g/9/km","G/9/KM","1",1,false],[false,"meter of water column","m[H2O]","M[H2O]","pressure",9806650,[-1,-2,1,0,0,0,0],"m HO2","clinical",true,null,null,1,false,false,0,"mH2O; m H2O; meters of water column; metres; pressure","UCUM","Pres","Clinical","","kPa","KPAL","980665e-5",9.80665,false],[false,"meter of mercury column","m[Hg]","M[HG]","pressure",133322000,[-1,-2,1,0,0,0,0],"m Hg","clinical",true,null,null,1,false,false,0,"mHg; m Hg; meters of mercury column; metres; pressure","UCUM","Pres","Clinical","","kPa","KPAL","133.3220",133.322,false],[false,"inch of water column","[in_i\'H2O]","[IN_I\'H2O]","pressure",249088.91000000003,[-1,-2,1,0,0,0,0],"in HO2","clinical",false,null,null,1,false,false,0,"inches WC; inAq; in H2O; inch of water gauge; iwg; pressure","UCUM","Pres","Clinical","unit of pressure, especially in respiratory and ventilation care","m[H2O].[in_i]/m","M[H2O].[IN_I]/M","1",1,false],[false,"inch of mercury column","[in_i\'Hg]","[IN_I\'HG]","pressure",3386378.8000000003,[-1,-2,1,0,0,0,0],"in Hg","clinical",false,null,null,1,false,false,0,"inHg; in Hg; pressure; inches","UCUM","Pres","Clinical","unit of pressure used in US to measure barometric pressure and occasionally blood pressure (see mm[Hg] for unit used internationally)","m[Hg].[in_i]/m","M[HG].[IN_I]/M","1",1,false],[false,"peripheral vascular resistance unit","[PRU]","[PRU]","fluid resistance",133322000000,[-4,-1,1,0,0,0,0],"P.R.U.","clinical",false,null,null,1,false,false,0,"peripheral vascular resistance units; peripheral resistance unit; peripheral resistance units; PRU","UCUM","FldResist","Clinical","used to assess blood flow in the capillaries; equal to 1 mmH.min/mL = 133.3 Pa·min/mL","mm[Hg].s/ml","MM[HG].S/ML","1",1,false],[false,"Wood unit","[wood\'U]","[WOOD\'U]","fluid resistance",7999320000,[-4,-1,1,0,0,0,0],"Wood U.","clinical",false,null,null,1,false,false,0,"hybrid reference units; HRU; mmHg.min/L; vascular resistance","UCUM","Pres","Clinical","simplified unit of measurement for for measuring pulmonary vascular resistance that uses pressure; equal to mmHg.min/L","mm[Hg].min/L","MM[HG].MIN/L","1",1,false],[false,"diopter (lens)","[diop]","[DIOP]","refraction of a lens",1,[1,0,0,0,0,0,0],"dpt","clinical",false,null,"inv",1,false,false,0,"diopters; diop; dioptre; dpt; refractive power","UCUM","InvLen","Clinical","unit of optical power of lens represented by inverse meters (m^-1)","m","/M","1",1,false],[false,"prism diopter (magnifying power)","[p\'diop]","[P\'DIOP]","refraction of a prism",1,[0,0,0,1,0,0,0],"PD","clinical",false,null,"tanTimes100",1,true,false,0,"diopters; dioptres; p diops; pdiop; dpt; pdptr; Δ; cm/m; centimeter per meter; centimetre; metre","UCUM","Angle","Clinical","unit for prism correction in eyeglass prescriptions","rad",null,null,1,false],[false,"percent of slope","%[slope]","%[SLOPE]","slope",0.017453292519943295,[0,0,0,1,0,0,0],"%","clinical",false,null,"100tan",1,true,false,0,"% slope; %slope; percents slopes","UCUM","VelFr; ElpotRatFr; VelRtoFr; AccelFr","Clinical","","deg",null,null,1,false],[false,"mesh","[mesh_i]","[MESH_I]","lineic number",0.025400000000000002,[1,0,0,0,0,0,0],null,"clinical",false,null,"inv",1,false,false,0,"meshes","UCUM","NLen (lineic number)","Clinical","traditional unit of length defined as the number of strands or particles per inch","[in_i]","/[IN_I]","1",1,false],[false,"French (catheter gauge) ","[Ch]","[CH]","gauge of catheters",0.0003333333333333333,[1,0,0,0,0,0,0],"Ch","clinical",false,null,null,1,false,false,0,"Charrières, French scales; French gauges; Fr, Fg, Ga, FR, Ch","UCUM","Len; Circ; Diam","Clinical","","mm/3","MM/3","1",1,false],[false,"drop - metric (1/20 mL)","[drp]","[DRP]","volume",5e-8,[3,0,0,0,0,0,0],"drp","clinical",false,null,null,1,false,false,0,"drop dosing units; metric drops; gtt","UCUM","Vol","Clinical","standard unit used in the US and internationally for clinical medicine but note that although [drp] is defined as 1/20 milliliter, in practice, drop sizes will vary due to external factors","ml/20","ML/20","1",1,false],[false,"Hounsfield unit","[hnsf\'U]","[HNSF\'U]","x-ray attenuation",1,[0,0,0,0,0,0,0],"HF","clinical",false,null,null,1,false,false,0,"HU; units","UCUM","","Clinical","used to measure X-ray attenuation, especially in CT scans.","1","1","1",1,false],[false,"Metabolic Equivalent of Task ","[MET]","[MET]","metabolic cost of physical activity",5.833333333333334e-11,[3,-1,-1,0,0,0,0],"MET","clinical",false,null,null,1,false,false,0,"metabolic equivalents","UCUM","RelEngRat","Clinical","unit used to measure rate of energy expenditure per power in treadmill and other functional tests","mL/min/kg","ML/MIN/KG","3.5",3.5,false],[false,"homeopathic potency of decimal series (retired)","[hp\'_X]","[HP\'_X]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"X","clinical",false,null,"hpX",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of centesimal series (retired)","[hp\'_C]","[HP\'_C]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"C","clinical",false,null,"hpC",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of millesimal series (retired)","[hp\'_M]","[HP\'_M]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"M","clinical",false,null,"hpM",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of quintamillesimal series (retired)","[hp\'_Q]","[HP\'_Q]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"Q","clinical",false,null,"hpQ",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of decimal hahnemannian series","[hp_X]","[HP_X]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"X","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of centesimal hahnemannian series","[hp_C]","[HP_C]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"C","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of millesimal hahnemannian series","[hp_M]","[HP_M]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"M","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of quintamillesimal hahnemannian series","[hp_Q]","[HP_Q]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"Q","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of decimal korsakovian series","[kp_X]","[KP_X]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"X","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of centesimal korsakovian series","[kp_C]","[KP_C]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"C","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of millesimal korsakovian series","[kp_M]","[KP_M]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"M","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of quintamillesimal korsakovian series","[kp_Q]","[KP_Q]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"Q","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"equivalent","eq","EQ","amount of substance",6.0221367e+23,[0,0,0,0,0,0,0],"eq","chemical",true,null,null,1,false,false,1,"equivalents","UCUM","Sub","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"osmole","osm","OSM","amount of substance (dissolved particles)",6.0221367e+23,[0,0,0,0,0,0,0],"osm","chemical",true,null,null,1,false,false,1,"osmoles; osmols","UCUM","Osmol","Clinical","the number of moles of solute that contribute to the osmotic pressure of a solution","mol","MOL","1",1,false],[false,"pH","[pH]","[PH]","acidity",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"pH","chemical",false,null,"pH",1,true,false,0,"pH scale","UCUM","LogCnc","Clinical","Log concentration of H+","mol/l",null,null,1,false],[false,"gram percent","g%","G%","mass concentration",10000,[-3,0,1,0,0,0,0],"g%","chemical",true,null,null,1,false,false,0,"gram %; gram%; grams per deciliter; g/dL; gm per dL; gram percents","UCUM","MCnc","Clinical","equivalent to unit gram per deciliter (g/dL), a unit often used in medical tests to represent solution concentrations","g/dl","G/DL","1",1,false],[false,"Svedberg unit","[S]","[S]","sedimentation coefficient",1e-13,[0,1,0,0,0,0,0],"S","chemical",false,null,null,1,false,false,0,"Sv; 10^-13 seconds; 100 fs; 100 femtoseconds","UCUM","Time","Clinical","unit of time used in measuring particle\'s sedimentation rate, usually after centrifugation. ","s","10*-13.S","1",1e-13,false],[false,"high power field (microscope)","[HPF]","[HPF]","view area in microscope",1,[0,0,0,0,0,0,0],"HPF","chemical",false,null,null,1,false,false,0,"HPF","UCUM","Area","Clinical","area visible under the maximum magnification power of the objective in microscopy (usually 400x)\\n","1","1","1",1,false],[false,"low power field (microscope)","[LPF]","[LPF]","view area in microscope",1,[0,0,0,0,0,0,0],"LPF","chemical",false,null,null,1,false,false,0,"LPF; fields","UCUM","Area","Clinical","area visible under the low magnification of the objective in microscopy (usually 100 x)\\n","1","1","100",100,false],[false,"katal","kat","KAT","catalytic activity",6.0221367e+23,[0,-1,0,0,0,0,0],"kat","chemical",true,null,null,1,false,false,1,"mol/secs; moles per second; mol*sec-1; mol*s-1; mol.s-1; katals; catalytic activity; enzymatic; enzyme units; activities","UCUM","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"enzyme unit","U","U","catalytic activity",10036894500000000,[0,-1,0,0,0,0,0],"U","chemical",true,null,null,1,false,false,1,"micromoles per minute; umol/min; umol per minute; umol min-1; enzymatic activity; enzyme activity","UCUM","CAct","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"international unit - arbitrary","[iU]","[IU]","arbitrary",1,[0,0,0,0,0,0,0],"IU","chemical",true,null,null,1,false,true,0,"international units; IE; F2","UCUM","Arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","1","1","1",1,false],[false,"international unit - arbitrary","[IU]","[IU]","arbitrary",1,[0,0,0,0,0,0,0],"i.U.","chemical",true,null,null,1,false,true,0,"international units; IE; F2","UCUM","Arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"arbitary unit","[arb\'U]","[ARB\'U]","arbitrary",1,[0,0,0,0,0,0,0],"arb. U","chemical",false,null,null,1,false,true,0,"arbitary units; arb units; arbU","UCUM","Arb","Clinical","relative unit of measurement to show the ratio of test measurement to reference measurement","1","1","1",1,false],[false,"United States Pharmacopeia unit","[USP\'U]","[USP\'U]","arbitrary",1,[0,0,0,0,0,0,0],"U.S.P.","chemical",false,null,null,1,false,true,0,"USP U; USP\'U","UCUM","Arb","Clinical","a dose unit to express potency of drugs and vitamins defined by the United States Pharmacopoeia; usually 1 USP = 1 IU","1","1","1",1,false],[false,"GPL unit","[GPL\'U]","[GPL\'U]","biologic activity of anticardiolipin IgG",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"GPL Units; GPL U; IgG anticardiolipin units; IgG Phospholipid","UCUM","ACnc; AMass","Clinical","Units for an antiphospholipid test","1","1","1",1,false],[false,"MPL unit","[MPL\'U]","[MPL\'U]","biologic activity of anticardiolipin IgM",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"MPL units; MPL U; MPL\'U; IgM anticardiolipin units; IgM Phospholipid Units ","UCUM","ACnc","Clinical","units for antiphospholipid test","1","1","1",1,false],[false,"APL unit","[APL\'U]","[APL\'U]","biologic activity of anticardiolipin IgA",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"APL units; APL U; IgA anticardiolipin; IgA Phospholipid; biologic activity of","UCUM","AMass; ACnc","Clinical","Units for an anti phospholipid syndrome test","1","1","1",1,false],[false,"Bethesda unit","[beth\'U]","[BETH\'U]","biologic activity of factor VIII inhibitor",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"BU","UCUM","ACnc","Clinical","measures of blood coagulation inhibitior for many blood factors","1","1","1",1,false],[false,"anti factor Xa unit","[anti\'Xa\'U]","[ANTI\'XA\'U]","biologic activity of factor Xa inhibitor (heparin)",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"units","UCUM","ACnc","Clinical","[anti\'Xa\'U] unit is equivalent to and can be converted to IU/mL. ","1","1","1",1,false],[false,"Todd unit","[todd\'U]","[TODD\'U]","biologic activity antistreptolysin O",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"units","UCUM","InvThres; RtoThres","Clinical","the unit for the results of the testing for antistreptolysin O (ASO)","1","1","1",1,false],[false,"Dye unit","[dye\'U]","[DYE\'U]","biologic activity of amylase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"units","UCUM","CCnc","Obsolete","equivalent to the Somogyi unit, which is an enzyme unit for amylase but better to use U, the standard enzyme unit for measuring catalytic activity","1","1","1",1,false],[false,"Somogyi unit","[smgy\'U]","[SMGY\'U]","biologic activity of amylase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"Somogyi units; smgy U","UCUM","CAct","Clinical","measures the enzymatic activity of amylase in blood serum - better to use base units mg/mL ","1","1","1",1,false],[false,"Bodansky unit","[bdsk\'U]","[BDSK\'U]","biologic activity of phosphatase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"","UCUM","ACnc","Obsolete","Enzyme unit specific to alkaline phosphatase - better to use standard enzyme unit of U","1","1","1",1,false],[false,"King-Armstrong unit","[ka\'U]","[KA\'U]","biologic activity of phosphatase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"King-Armstrong Units; King units","UCUM","AMass","Obsolete","enzyme units for acid phosphatase - better to use enzyme unit [U]","1","1","1",1,false],[false,"Kunkel unit","[knk\'U]","[KNK\'U]","arbitrary biologic activity",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"Mac Lagan unit","[mclg\'U]","[MCLG\'U]","arbitrary biologic activity",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"galactose index; galactose tolerance test; thymol turbidity test unit; mclg U; units; indexes","UCUM","ACnc","Obsolete","unit for liver tests - previously used in thymol turbidity tests for liver disease diagnoses, and now is sometimes referred to in the oral galactose tolerance test","1","1","1",1,false],[false,"tuberculin unit","[tb\'U]","[TB\'U]","biologic activity of tuberculin",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"TU; units","UCUM","Arb","Clinical","amount of tuberculin antigen -usually in reference to a TB skin test ","1","1","1",1,false],[false,"50% cell culture infectious dose","[CCID_50]","[CCID_50]","biologic activity (infectivity) of an infectious agent preparation",1,[0,0,0,0,0,0,0],"CCID50","chemical",false,null,null,1,false,true,0,"CCID50; 50% cell culture infective doses","UCUM","NumThres","Clinical","","1","1","1",1,false],[false,"50% tissue culture infectious dose","[TCID_50]","[TCID_50]","biologic activity (infectivity) of an infectious agent preparation",1,[0,0,0,0,0,0,0],"TCID50","chemical",false,null,null,1,false,true,0,"TCID50; 50% tissue culture infective dose","UCUM","NumThres","Clinical","","1","1","1",1,false],[false,"50% embryo infectious dose","[EID_50]","[EID_50]","biologic activity (infectivity) of an infectious agent preparation",1,[0,0,0,0,0,0,0],"EID50","chemical",false,null,null,1,false,true,0,"EID50; 50% embryo infective doses; EID50 Egg Infective Dosage","UCUM","thresNum","Clinical","","1","1","1",1,false],[false,"plaque forming units","[PFU]","[PFU]","amount of an infectious agent",1,[0,0,0,0,0,0,0],"PFU","chemical",false,null,null,1,false,true,0,"PFU","UCUM","ACnc","Clinical","tests usually report unit as number of PFU per unit volume","1","1","1",1,false],[false,"focus forming units (cells)","[FFU]","[FFU]","amount of an infectious agent",1,[0,0,0,0,0,0,0],"FFU","chemical",false,null,null,1,false,true,0,"FFU","UCUM","EntNum","Clinical","","1","1","1",1,false],[false,"colony forming units","[CFU]","[CFU]","amount of a proliferating organism",1,[0,0,0,0,0,0,0],"CFU","chemical",false,null,null,1,false,true,0,"CFU","UCUM","Num","Clinical","","1","1","1",1,false],[false,"index of reactivity (allergen)","[IR]","[IR]","amount of an allergen callibrated through in-vivo testing using the Stallergenes® method.",1,[0,0,0,0,0,0,0],"IR","chemical",false,null,null,1,false,true,0,"IR; indexes","UCUM","Acnc","Clinical","amount of an allergen callibrated through in-vivo testing using the Stallergenes method. Usually reported in tests as IR/mL","1","1","1",1,false],[false,"bioequivalent allergen unit","[BAU]","[BAU]","amount of an allergen callibrated through in-vivo testing based on the ID50EAL method of (intradermal dilution for 50mm sum of erythema diameters",1,[0,0,0,0,0,0,0],"BAU","chemical",false,null,null,1,false,true,0,"BAU; Bioequivalent Allergy Units; bioequivalent allergen units","UCUM","Arb","Clinical","","1","1","1",1,false],[false,"allergy unit","[AU]","[AU]","procedure defined amount of an allergen using some reference standard",1,[0,0,0,0,0,0,0],"AU","chemical",false,null,null,1,false,true,0,"allergy units; allergen units; AU","UCUM","Arb","Clinical","Most standard test allergy units are reported as [IU] or as %. ","1","1","1",1,false],[false,"allergen unit for Ambrosia artemisiifolia","[Amb\'a\'1\'U]","[AMB\'A\'1\'U]","procedure defined amount of the major allergen of ragweed.",1,[0,0,0,0,0,0,0],"Amb a 1 U","chemical",false,null,null,1,false,true,0,"Amb a 1 unit; Antigen E; AgE U; allergen units","UCUM","Arb","Clinical","Amb a 1 is the major allergen in short ragweed, and can be converted Bioequivalent allergen units (BAU) where 350 Amb a 1 U/mL = 100,000 BAU/mL","1","1","1",1,false],[false,"protein nitrogen unit (allergen testing)","[PNU]","[PNU]","procedure defined amount of a protein substance",1,[0,0,0,0,0,0,0],"PNU","chemical",false,null,null,1,false,true,0,"protein nitrogen units; PNU","UCUM","Mass","Clinical","defined as 0.01 ug of phosphotungstic acid-precipitable protein nitrogen. Being replaced by bioequivalent allergy units (BAU).","1","1","1",1,false],[false,"Limit of flocculation","[Lf]","[LF]","procedure defined amount of an antigen substance",1,[0,0,0,0,0,0,0],"Lf","chemical",false,null,null,1,false,true,0,"Lf doses","UCUM","Arb","Clinical","the antigen content forming 1:1 ratio against 1 unit of antitoxin","1","1","1",1,false],[false,"D-antigen unit (polio)","[D\'ag\'U]","[D\'AG\'U]","procedure defined amount of a poliomyelitis d-antigen substance",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"DAgU; units","UCUM","Acnc","Clinical","unit of potency of poliovirus vaccine used for poliomyelitis prevention reported as D antigen units/mL. The unit is poliovirus type-specific.","1","1","1",1,false],[false,"fibrinogen equivalent units","[FEU]","[FEU]","amount of fibrinogen broken down into the measured d-dimers",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"FEU","UCUM","MCnc","Clinical","Note both the FEU and DDU units are used to report D-dimer measurements. 1 DDU = 1/2 FFU","1","1","1",1,false],[false,"ELISA unit","[ELU]","[ELU]","arbitrary ELISA unit",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"Enzyme-Linked Immunosorbent Assay Units; ELU; EL. U","UCUM","ACnc","Clinical","","1","1","1",1,false],[false,"Ehrlich units (urobilinogen)","[EU]","[EU]","Ehrlich unit",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"EU/dL; mg{urobilinogen}/dL","UCUM","ACnc","Clinical","","1","1","1",1,false],[false,"neper","Np","NEP","level",1,[0,0,0,0,0,0,0],"Np","levels",true,null,"ln",1,true,false,0,"nepers","UCUM","LogRto","Clinical","logarithmic unit for ratios of measurements of physical field and power quantities, such as gain and loss of electronic signals","1",null,null,1,false],[false,"bel","B","B","level",1,[0,0,0,0,0,0,0],"B","levels",true,null,"lg",1,true,false,0,"bels","UCUM","LogRto","Clinical","Logarithm of the ratio of power- or field-type quantities; usually expressed in decibels ","1",null,null,1,false],[false,"bel sound pressure","B[SPL]","B[SPL]","pressure level",0.02,[-1,-2,1,0,0,0,0],"B(SPL)","levels",true,null,"lgTimes2",1,true,false,0,"bel SPL; B SPL; sound pressure bels","UCUM","LogRto","Clinical","used to measure sound level in acoustics","Pa",null,null,0.00002,false],[false,"bel volt","B[V]","B[V]","electric potential level",1000,[2,-2,1,0,0,-1,0],"B(V)","levels",true,null,"lgTimes2",1,true,false,0,"bel V; B V; volts bels","UCUM","LogRtoElp","Clinical","used to express power gain in electrical circuits","V",null,null,1,false],[false,"bel millivolt","B[mV]","B[MV]","electric potential level",1,[2,-2,1,0,0,-1,0],"B(mV)","levels",true,null,"lgTimes2",1,true,false,0,"bel mV; B mV; millivolt bels; 10^-3V bels; 10*-3V ","UCUM","LogRtoElp","Clinical","used to express power gain in electrical circuits","mV",null,null,1,false],[false,"bel microvolt","B[uV]","B[UV]","electric potential level",0.001,[2,-2,1,0,0,-1,0],"B(μV)","levels",true,null,"lgTimes2",1,true,false,0,"bel uV; B uV; microvolts bels; 10^-6V bel; 10*-6V bel","UCUM","LogRto","Clinical","used to express power gain in electrical circuits","uV",null,null,1,false],[false,"bel 10 nanovolt","B[10.nV]","B[10.NV]","electric potential level",0.000010000000000000003,[2,-2,1,0,0,-1,0],"B(10 nV)","levels",true,null,"lgTimes2",1,true,false,0,"bel 10 nV; B 10 nV; 10 nanovolts bels","UCUM","LogRtoElp","Clinical","used to express power gain in electrical circuits","nV",null,null,10,false],[false,"bel watt","B[W]","B[W]","power level",1000,[2,-3,1,0,0,0,0],"B(W)","levels",true,null,"lg",1,true,false,0,"bel W; b W; b Watt; Watts bels","UCUM","LogRto","Clinical","used to express power","W",null,null,1,false],[false,"bel kilowatt","B[kW]","B[KW]","power level",1000000,[2,-3,1,0,0,0,0],"B(kW)","levels",true,null,"lg",1,true,false,0,"bel kW; B kW; kilowatt bel; kW bel; kW B","UCUM","LogRto","Clinical","used to express power","kW",null,null,1,false],[false,"stere","st","STR","volume",1,[3,0,0,0,0,0,0],"st","misc",true,null,null,1,false,false,0,"stère; m3; cubic meter; m^3; meters cubed; metre","UCUM","Vol","Nonclinical","equal to one cubic meter, usually used for measuring firewoord","m3","M3","1",1,false],[false,"Ångström","Ao","AO","length",1.0000000000000002e-10,[1,0,0,0,0,0,0],"Å","misc",false,null,null,1,false,false,0,"Å; Angstroms; Ao; Ångströms","UCUM","Len","Clinical","equal to 10^-10 meters; used to express wave lengths and atom scaled differences ","nm","NM","0.1",0.1,false],[false,"barn","b","BRN","action area",9.999999999999999e-29,[2,0,0,0,0,0,0],"b","misc",false,null,null,1,false,false,0,"barns","UCUM","Area","Clinical","used in high-energy physics to express cross-sectional areas","fm2","FM2","100",100,false],[false,"technical atmosphere","att","ATT","pressure",98066499.99999999,[-1,-2,1,0,0,0,0],"at","misc",false,null,null,1,false,false,0,"at; tech atm; tech atmosphere; kgf/cm2; atms; atmospheres","UCUM","Pres","Obsolete","non-SI unit of pressure equal to one kilogram-force per square centimeter","kgf/cm2","KGF/CM2","1",1,false],[false,"mho","mho","MHO","electric conductance",0.001,[-2,1,-1,0,0,2,0],"mho","misc",true,null,null,1,false,false,0,"siemens; ohm reciprocals; Ω^−1; Ω-1 ","UCUM","","Obsolete","unit of electric conductance (the inverse of electrical resistance) equal to ohm^-1","S","S","1",1,false],[false,"pound per square inch","[psi]","[PSI]","pressure",6894757.293168359,[-1,-2,1,0,0,0,0],"psi","misc",false,null,null,1,false,false,0,"psi; lb/in2; lb per in2","UCUM","Pres","Clinical","","[lbf_av]/[in_i]2","[LBF_AV]/[IN_I]2","1",1,false],[false,"circle - plane angle","circ","CIRC","plane angle",6.283185307179586,[0,0,0,1,0,0,0],"circ","misc",false,null,null,1,false,false,0,"angles; circles","UCUM","Angle","Clinical","","[pi].rad","[PI].RAD","2",2,false],[false,"spere - solid angle","sph","SPH","solid angle",12.566370614359172,[0,0,0,2,0,0,0],"sph","misc",false,null,null,1,false,false,0,"speres","UCUM","Angle","Clinical","equal to the solid angle of an entire sphere = 4πsr (sr = steradian) ","[pi].sr","[PI].SR","4",4,false],[false,"metric carat","[car_m]","[CAR_M]","mass",0.2,[0,0,1,0,0,0,0],"ctm","misc",false,null,null,1,false,false,0,"carats; ct; car m","UCUM","Mass","Nonclinical","unit of mass for gemstones","g","G","2e-1",0.2,false],[false,"carat of gold alloys","[car_Au]","[CAR_AU]","mass fraction",0.041666666666666664,[0,0,0,0,0,0,0],"ctAu","misc",false,null,null,1,false,false,0,"karats; k; kt; car au; carats","UCUM","MFr","Nonclinical","unit of purity for gold alloys","/24","/24","1",1,false],[false,"Smoot","[smoot]","[SMOOT]","length",1.7018000000000002,[1,0,0,0,0,0,0],null,"misc",false,null,null,1,false,false,0,"","UCUM","Len","Nonclinical","prank unit of length from MIT","[in_i]","[IN_I]","67",67,false],[false,"meter per square seconds per square root of hertz","[m/s2/Hz^(1/2)]","[M/S2/HZ^(1/2)]","amplitude spectral density",1,[2,-3,0,0,0,0,0],null,"misc",false,null,"sqrt",1,true,false,0,"m/s2/(Hz^.5); m/s2/(Hz^(1/2)); m per s2 per Hz^1/2","UCUM","","Constant","measures amplitude spectral density, and is equal to the square root of power spectral density\\n ","m2/s4/Hz",null,null,1,false],[false,"bit - logarithmic","bit_s","BIT_S","amount of information",1,[0,0,0,0,0,0,0],"bits","infotech",false,null,"ld",1,true,false,0,"bit-s; bit s; bit logarithmic","UCUM","LogA","Nonclinical","defined as the log base 2 of the number of distinct signals; cannot practically be used to express more than 1000 bits\\n\\nIn information theory, the definition of the amount of self-information and information entropy is often expressed with the binary logarithm (log base 2)","1",null,null,1,false],[false,"bit","bit","BIT","amount of information",1,[0,0,0,0,0,0,0],"bit","infotech",true,null,null,1,false,false,0,"bits","UCUM","","Nonclinical","dimensionless information unit of 1 used in computing and digital communications","1","1","1",1,false],[false,"byte","By","BY","amount of information",8,[0,0,0,0,0,0,0],"B","infotech",true,null,null,1,false,false,0,"bytes","UCUM","","Nonclinical","equal to 8 bits","bit","bit","8",8,false],[false,"baud","Bd","BD","signal transmission rate",1,[0,1,0,0,0,0,0],"Bd","infotech",true,null,"inv",1,false,false,0,"Bd; bauds","UCUM","Freq","Nonclinical","unit to express rate in symbols per second or pulses per second. ","s","/s","1",1,false],[false,"per twelve hour","/(12.h)","/HR","",0.000023148148148148147,[0,-1,0,0,0,0,0],"/h",null,false,null,null,1,false,false,0,"per 12 hours; 12hrs; 12 hrs; /12hrs","LOINC","Rat","Clinical","",null,null,null,null,false],[false,"per arbitrary unit","/[arb\'U]","/[ARB\'U]","",1,[0,0,0,0,0,0,0],"/arb/ U",null,false,null,null,1,false,true,0,"/arbU","LOINC","InvA ","Clinical","",null,null,null,null,false],[false,"per high power field","/[HPF]","/[HPF]","",1,[0,0,0,0,0,0,0],"/HPF",null,false,null,null,1,false,false,0,"/HPF; per HPF","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"per international unit","/[IU]","/[IU]","",1,[0,0,0,0,0,0,0],"/i/U.",null,false,null,null,1,false,true,0,"international units; /IU; per IU","LOINC","InvA","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)",null,null,null,null,false],[false,"per low power field","/[LPF]","/[LPF]","",1,[0,0,0,0,0,0,0],"/LPF",null,false,null,null,1,false,false,0,"/LPF; per LPF","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"per 10 billion ","/10*10","/10*10","",1e-10,[0,0,0,0,0,0,0],"/1010<.sup>",null,false,null,null,1,false,false,0,"/10^10; per 10*10","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per trillion ","/10*12","/10*12","",1e-12,[0,0,0,0,0,0,0],"/1012<.sup>",null,false,null,null,1,false,false,0,"/10^12; per 10*12","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per thousand","/10*3","/10*3","",0.001,[0,0,0,0,0,0,0],"/103<.sup>",null,false,null,null,1,false,false,0,"/10^3; per 10*3","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per million","/10*6","/10*6","",0.000001,[0,0,0,0,0,0,0],"/106<.sup>",null,false,null,null,1,false,false,0,"/10^6; per 10*6;","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per billion","/10*9","/10*9","",1e-9,[0,0,0,0,0,0,0],"/109<.sup>",null,false,null,null,1,false,false,0,"/10^9; per 10*9","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per 100","/100","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"per hundred; 10^2; 10*2","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per 100 cells","/100{cells}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 cells; /100cells; per hundred","LOINC","EntMass; EntNum; NFr","Clinical","",null,null,null,null,false],[false,"per 100 neutrophils","/100{neutrophils}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 neutrophils; /100neutrophils; per hundred","LOINC","EntMass; EntNum; NFr","Clinical","",null,null,null,null,false],[false,"per 100 spermatozoa","/100{spermatozoa}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 spermatozoa; /100spermatozoa; per hundred","LOINC","NFr","Clinical","",null,null,null,null,false],[false,"per 100 white blood cells","/100{WBCs}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 WBCs; /100WBCs; per hundred","LOINC","Ratio; NFr","Clinical","",null,null,null,null,false],[false,"per year","/a","/ANN","",3.168808781402895e-8,[0,-1,0,0,0,0,0],"/a",null,false,null,null,1,false,false,0,"/Years; /yrs; yearly","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per centimeter of water","/cm[H2O]","/CM[H2O]","",0.000010197162129779282,[1,2,-1,0,0,0,0],"/cm HO2<.r>",null,false,null,null,1,false,false,0,"/cmH2O; /cm H2O; centimeters; centimetres","LOINC","InvPress","Clinical","",null,null,null,null,false],[false,"per day","/d","/D","",0.000011574074074074073,[0,-1,0,0,0,0,0],"/d",null,false,null,null,1,false,false,0,"/dy; per day","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per deciliter","/dL","/DL","",10000,[-3,0,0,0,0,0,0],"/dL",null,false,null,null,1,false,false,0,"per dL; /deciliter; decilitre","LOINC","NCnc","Clinical","",null,null,null,null,false],[false,"per gram","/g","/G","",1,[0,0,-1,0,0,0,0],"/g",null,false,null,null,1,false,false,0,"/gm; /gram; per g","LOINC","NCnt","Clinical","",null,null,null,null,false],[false,"per hour","/h","/HR","",0.0002777777777777778,[0,-1,0,0,0,0,0],"/h",null,false,null,null,1,false,false,0,"/hr; /hour; per hr","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per kilogram","/kg","/KG","",0.001,[0,0,-1,0,0,0,0],"/kg",null,false,null,null,1,false,false,0,"per kg; per kilogram","LOINC","NCnt","Clinical","",null,null,null,null,false],[false,"per liter","/L","/L","",1000,[-3,0,0,0,0,0,0],"/L",null,false,null,null,1,false,false,0,"/liter; litre","LOINC","NCnc","Clinical","",null,null,null,null,false],[false,"per square meter","/m2","/M2","",1,[-2,0,0,0,0,0,0],"/m2<.sup>",null,false,null,null,1,false,false,0,"/m^2; /m*2; /sq. m; per square meter; meter squared; metre","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"per cubic meter","/m3","/M3","",1,[-3,0,0,0,0,0,0],"/m3<.sup>",null,false,null,null,1,false,false,0,"/m^3; /m*3; /cu. m; per cubic meter; meter cubed; per m3; metre","LOINC","NCncn","Clinical","",null,null,null,null,false],[false,"per milligram","/mg","/MG","",1000,[0,0,-1,0,0,0,0],"/mg",null,false,null,null,1,false,false,0,"/milligram; per mg","LOINC","NCnt","Clinical","",null,null,null,null,false],[false,"per minute","/min","/MIN","",0.016666666666666666,[0,-1,0,0,0,0,0],"/min",null,false,null,null,1,false,false,0,"/minute; per mins; breaths beats per minute","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per milliliter","/mL","/ML","",1000000,[-3,0,0,0,0,0,0],"/mL",null,false,null,null,1,false,false,0,"/milliliter; per mL; millilitre","LOINC","NCncn","Clinical","",null,null,null,null,false],[false,"per millimeter","/mm","/MM","",1000,[-1,0,0,0,0,0,0],"/mm",null,false,null,null,1,false,false,0,"/millimeter; per mm; millimetre","LOINC","InvLen","Clinical","",null,null,null,null,false],[false,"per month","/mo","/MO","",3.802570537683474e-7,[0,-1,0,0,0,0,0],"/mo",null,false,null,null,1,false,false,0,"/month; per mo; monthly; month","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per second","/s","/S","",1,[0,-1,0,0,0,0,0],"/s",null,false,null,null,1,false,false,0,"/second; /sec; per sec; frequency; Hertz; Herz; Hz; becquerels; Bq; s-1; s^-1","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per enzyme unit","/U","/U","",9.963241120049633e-17,[0,1,0,0,0,0,0],"/U",null,false,null,null,1,false,false,-1,"/enzyme units; per U","LOINC","InvC; NCat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)",null,null,null,null,false],[false,"per microliter","/uL","/UL","",999999999.9999999,[-3,0,0,0,0,0,0],"/μL",null,false,null,null,1,false,false,0,"/microliter; microlitre; /mcl; per uL","LOINC","ACnc","Clinical","",null,null,null,null,false],[false,"per week","/wk","/WK","",0.0000016534391534391535,[0,-1,0,0,0,0,0],"/wk",null,false,null,null,1,false,false,0,"/week; per wk; weekly, weeks","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"APL unit per milliliter","[APL\'U]/mL","[APL\'U]/ML","biologic activity of anticardiolipin IgA",1000000,[-3,0,0,0,0,0,0],"/mL","chemical",false,null,null,1,false,true,0,"APL/mL; APL\'U/mL; APL U/mL; APL/milliliter; IgA anticardiolipin units per milliliter; IgA Phospholipid Units; millilitre; biologic activity of","LOINC","ACnc","Clinical","Units for an anti phospholipid syndrome test","1","1","1",1,false],[false,"arbitrary unit per milliliter","[arb\'U]/mL","[ARB\'U]/ML","arbitrary",1000000,[-3,0,0,0,0,0,0],"(arb. U)/mL","chemical",false,null,null,1,false,true,0,"arb\'U/mL; arbU/mL; arb U/mL; arbitrary units per milliliter; millilitre","LOINC","ACnc","Clinical","relative unit of measurement to show the ratio of test measurement to reference measurement","1","1","1",1,false],[false,"colony forming units per liter","[CFU]/L","[CFU]/L","amount of a proliferating organism",1000,[-3,0,0,0,0,0,0],"CFU/L","chemical",false,null,null,1,false,true,0,"CFU per Liter; CFU/L","LOINC","NCnc","Clinical","","1","1","1",1,false],[false,"colony forming units per milliliter","[CFU]/mL","[CFU]/ML","amount of a proliferating organism",1000000,[-3,0,0,0,0,0,0],"CFU/mL","chemical",false,null,null,1,false,true,0,"CFU per mL; CFU/mL","LOINC","NCnc","Clinical","","1","1","1",1,false],[false,"foot per foot - US","[ft_us]/[ft_us]","[FT_US]/[FT_US]","length",1,[0,0,0,0,0,0,0],"(ftus)/(ftus)","us-lengths",false,null,null,1,false,false,0,"ft/ft; ft per ft; feet per feet; visual acuity","","LenRto","Clinical","distance ratio to measure 20:20 vision","m/3937","M/3937","1200",1200,false],[false,"GPL unit per milliliter","[GPL\'U]/mL","[GPL\'U]/ML","biologic activity of anticardiolipin IgG",1000000,[-3,0,0,0,0,0,0],"/mL","chemical",false,null,null,1,false,true,0,"GPL U/mL; GPL\'U/mL; GPL/mL; GPL U per mL; IgG Phospholipid Units per milliliters; IgG anticardiolipin units; millilitres ","LOINC","ACnc; AMass","Clinical","Units for an antiphospholipid test","1","1","1",1,false],[false,"international unit per 2 hour","[IU]/(2.h)","[IU]/HR","arbitrary",0.0001388888888888889,[0,-1,0,0,0,0,0],"(i.U.)/h","chemical",true,null,null,1,false,true,0,"IU/2hrs; IU/2 hours; IU per 2 hrs; international units per 2 hours","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per 24 hour","[IU]/(24.h)","[IU]/HR","arbitrary",0.000011574074074074073,[0,-1,0,0,0,0,0],"(i.U.)/h","chemical",true,null,null,1,false,true,0,"IU/24hr; IU/24 hours; IU per 24 hrs; international units per 24 hours","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per day","[IU]/d","[IU]/D","arbitrary",0.000011574074074074073,[0,-1,0,0,0,0,0],"(i.U.)/d","chemical",true,null,null,1,false,true,0,"IU/dy; IU/days; IU per dys; international units per day","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per deciliter","[IU]/dL","[IU]/DL","arbitrary",10000,[-3,0,0,0,0,0,0],"(i.U.)/dL","chemical",true,null,null,1,false,true,0,"IU/dL; IU per dL; international units per deciliters; decilitres","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per gram","[IU]/g","[IU]/G","arbitrary",1,[0,0,-1,0,0,0,0],"(i.U.)/g","chemical",true,null,null,1,false,true,0,"IU/gm; IU/gram; IU per gm; IU per g; international units per gram","LOINC","ACnt","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per hour","[IU]/h","[IU]/HR","arbitrary",0.0002777777777777778,[0,-1,0,0,0,0,0],"(i.U.)/h","chemical",true,null,null,1,false,true,0,"IU/hrs; IU per hours; international units per hour","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per kilogram","[IU]/kg","[IU]/KG","arbitrary",0.001,[0,0,-1,0,0,0,0],"(i.U.)/kg","chemical",true,null,null,1,false,true,0,"IU/kg; IU/kilogram; IU per kg; units","LOINC","ACnt","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per kilogram per day","[IU]/kg/d","([IU]/KG)/D","arbitrary",1.1574074074074074e-8,[0,-1,-1,0,0,0,0],"((i.U.)/kg)/d","chemical",true,null,null,1,false,true,0,"IU/kg/dy; IU/kg/day; IU/kilogram/day; IU per kg per day; units","LOINC","ACntRat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per liter","[IU]/L","[IU]/L","arbitrary",1000,[-3,0,0,0,0,0,0],"(i.U.)/L","chemical",true,null,null,1,false,true,0,"IU/L; IU/liter; IU per liter; units; litre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per minute","[IU]/min","[IU]/MIN","arbitrary",0.016666666666666666,[0,-1,0,0,0,0,0],"(i.U.)/min","chemical",true,null,null,1,false,true,0,"IU/min; IU/minute; IU per minute; international units","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per milliliter","[IU]/mL","[IU]/ML","arbitrary",1000000,[-3,0,0,0,0,0,0],"(i.U.)/mL","chemical",true,null,null,1,false,true,0,"IU/mL; IU per mL; international units per milliliter; millilitre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"MPL unit per milliliter","[MPL\'U]/mL","[MPL\'U]/ML","biologic activity of anticardiolipin IgM",1000000,[-3,0,0,0,0,0,0],"/mL","chemical",false,null,null,1,false,true,0,"MPL/mL; MPL U/mL; MPL\'U/mL; IgM anticardiolipin units; IgM Phospholipid Units; millilitre ","LOINC","ACnc","Clinical","units for antiphospholipid test\\n","1","1","1",1,false],[false,"number per high power field","{#}/[HPF]","/[HPF]","",1,[0,0,0,0,0,0,0],"/HPF",null,false,null,null,1,false,false,0,"#/HPF; # per HPF; number/HPF; numbers per high power field","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"number per low power field","{#}/[LPF]","/[LPF]","",1,[0,0,0,0,0,0,0],"/LPF",null,false,null,null,1,false,false,0,"#/LPF; # per LPF; number/LPF; numbers per low power field","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"IgA antiphosphatidylserine unit ","{APS\'U}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"APS Unit; Phosphatidylserine Antibody IgA Units","LOINC","ACnc","Clinical","unit for antiphospholipid test",null,null,null,null,false],[false,"EIA index","{EIA_index}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"enzyme immunoassay index","LOINC","ACnc","Clinical","",null,null,null,null,false],[false,"kaolin clotting time","{KCT\'U}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"KCT","LOINC","Time","Clinical","sensitive test to detect lupus anticoagulants; measured in seconds",null,null,null,null,false],[false,"IgM antiphosphatidylserine unit","{MPS\'U}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"Phosphatidylserine Antibody IgM Measurement ","LOINC","ACnc","Clinical","",null,null,null,null,false],[false,"trillion per liter","10*12/L","(10*12)/L","number",1000000000000000,[-3,0,0,0,0,0,0],"(1012)/L","dimless",false,null,null,1,false,false,0,"10^12/L; 10*12 per Liter; trillion per liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10^3 (used for cell count)","10*3","10*3","number",1000,[0,0,0,0,0,0,0],"103","dimless",false,null,null,1,false,false,0,"10^3; thousand","LOINC","Num","Clinical","usually used for counting entities (e.g. blood cells) per volume","1","1","10",10,false],[false,"thousand per liter","10*3/L","(10*3)/L","number",1000000,[-3,0,0,0,0,0,0],"(103)/L","dimless",false,null,null,1,false,false,0,"10^3/L; 10*3 per liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"thousand per milliliter","10*3/mL","(10*3)/ML","number",1000000000,[-3,0,0,0,0,0,0],"(103)/mL","dimless",false,null,null,1,false,false,0,"10^3/mL; 10*3 per mL; thousand per milliliter; millilitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"thousand per microliter","10*3/uL","(10*3)/UL","number",999999999999.9999,[-3,0,0,0,0,0,0],"(103)/μL","dimless",false,null,null,1,false,false,0,"10^3/uL; 10*3 per uL; thousand per microliter; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10 thousand per microliter","10*4/uL","(10*4)/UL","number",10000000000000,[-3,0,0,0,0,0,0],"(104)/μL","dimless",false,null,null,1,false,false,0,"10^4/uL; 10*4 per uL; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10^5 ","10*5","10*5","number",100000,[0,0,0,0,0,0,0],"105","dimless",false,null,null,1,false,false,0,"one hundred thousand","LOINC","Num","Clinical","","1","1","10",10,false],[false,"10^6","10*6","10*6","number",1000000,[0,0,0,0,0,0,0],"106","dimless",false,null,null,1,false,false,0,"","LOINC","Num","Clinical","","1","1","10",10,false],[false,"million colony forming unit per liter","10*6.[CFU]/L","((10*6).[CFU])/L","number",1000000000,[-3,0,0,0,0,0,0],"((106).CFU)/L","dimless",false,null,null,1,false,true,0,"10*6 CFU/L; 10^6 CFU/L; 10^6CFU; 10^6 CFU per liter; million colony forming units; litre","LOINC","ACnc","Clinical","","1","1","10",10,false],[false,"million international unit","10*6.[IU]","(10*6).[IU]","number",1000000,[0,0,0,0,0,0,0],"(106).(i.U.)","dimless",false,null,null,1,false,true,0,"10*6 IU; 10^6 IU; international units","LOINC","arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","1","1","10",10,false],[false,"million per 24 hour","10*6/(24.h)","(10*6)/HR","number",11.574074074074074,[0,-1,0,0,0,0,0],"(106)/h","dimless",false,null,null,1,false,false,0,"10*6/24hrs; 10^6/24 hrs; 10*6 per 24 hrs; 10^6 per 24 hours","LOINC","NRat","Clinical","","1","1","10",10,false],[false,"million per kilogram","10*6/kg","(10*6)/KG","number",1000,[0,0,-1,0,0,0,0],"(106)/kg","dimless",false,null,null,1,false,false,0,"10^6/kg; 10*6 per kg; 10*6 per kilogram; millions","LOINC","NCnt","Clinical","","1","1","10",10,false],[false,"million per liter","10*6/L","(10*6)/L","number",1000000000,[-3,0,0,0,0,0,0],"(106)/L","dimless",false,null,null,1,false,false,0,"10^6/L; 10*6 per Liter; 10^6 per Liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"million per milliliter","10*6/mL","(10*6)/ML","number",1000000000000,[-3,0,0,0,0,0,0],"(106)/mL","dimless",false,null,null,1,false,false,0,"10^6/mL; 10*6 per mL; 10*6 per milliliter; millilitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"million per microliter","10*6/uL","(10*6)/UL","number",1000000000000000,[-3,0,0,0,0,0,0],"(106)/μL","dimless",false,null,null,1,false,false,0,"10^6/uL; 10^6 per uL; 10^6/mcl; 10^6 per mcl; 10^6 per microliter; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10^8","10*8","10*8","number",100000000,[0,0,0,0,0,0,0],"108","dimless",false,null,null,1,false,false,0,"100 million; one hundred million; 10^8","LOINC","Num","Clinical","","1","1","10",10,false],[false,"billion per liter","10*9/L","(10*9)/L","number",1000000000000,[-3,0,0,0,0,0,0],"(109)/L","dimless",false,null,null,1,false,false,0,"10^9/L; 10*9 per Liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"billion per milliliter","10*9/mL","(10*9)/ML","number",1000000000000000,[-3,0,0,0,0,0,0],"(109)/mL","dimless",false,null,null,1,false,false,0,"10^9/mL; 10*9 per mL; 10^9 per mL; 10*9 per milliliter; millilitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"billion per microliter","10*9/uL","(10*9)/UL","number",1000000000000000000,[-3,0,0,0,0,0,0],"(109)/μL","dimless",false,null,null,1,false,false,0,"10^9/uL; 10^9 per uL; 10^9/mcl; 10^9 per mcl; 10*9 per uL; 10*9 per mcl; 10*9/mcl; 10^9 per microliter; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10 liter per minute per square meter","10.L/(min.m2)","L/(MIN.M2)","",0.00016666666666666666,[1,-1,0,0,0,0,0],"L/(min.(m2))",null,false,null,null,1,false,false,0,"10 liters per minutes per square meter; 10 L per min per m2; m^2; 10 L/(min*m2); 10L/(min*m^2); litres; sq. meter; metre; meters squared","LOINC","ArVRat","Clinical","",null,null,null,null,false],[false,"10 liter per minute","10.L/min","L/MIN","",0.00016666666666666666,[3,-1,0,0,0,0,0],"L/min",null,false,null,null,1,false,false,0,"10 liters per minute; 10 L per min; 10L; 10 L/min; litre","LOINC","VRat","Clinical","",null,null,null,null,false],[false,"10 micronewton second per centimeter to the fifth power per square meter","10.uN.s/(cm5.m2)","(UN.S)/(CM5.M2)","",100000000,[-6,-1,1,0,0,0,0],"(μN.s)/(cm5).(m2)",null,false,null,null,1,false,false,0,"dyne seconds per centimeter5 and square meter; dyn.s/(cm5.m2); dyn.s/cm5/m2; cm^5; m^2","LOINC","","Clinical","unit to measure systemic vascular resistance per body surface area",null,null,null,null,false],[false,"24 hour","24.h","HR","",86400,[0,1,0,0,0,0,0],"h",null,false,null,null,1,false,false,0,"24hrs; 24 hrs; 24 hours; days; dy","LOINC","Time","Clinical","",null,null,null,null,false],[false,"ampere per meter","A/m","A/M","electric current",1,[-1,-1,0,0,0,1,0],"A/m","si",true,null,null,1,false,false,0,"A/m; amp/meter; magnetic field strength; H; B; amperes per meter; metre","LOINC","","Clinical","unit of magnetic field strength","C/s","C/S","1",1,false],[false,"centigram","cg","CG","mass",0.01,[0,0,1,0,0,0,0],"cg",null,false,"M",null,1,false,false,0,"centigrams; cg; cgm","LOINC","Mass","Clinical","",null,null,null,null,false],[false,"centiliter","cL","CL","volume",0.00001,[3,0,0,0,0,0,0],"cL","iso1000",true,null,null,1,false,false,0,"centiliters; centilitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"centimeter","cm","CM","length",0.01,[1,0,0,0,0,0,0],"cm",null,false,"L",null,1,false,false,0,"centimeters; centimetres","LOINC","Len","Clinical","",null,null,null,null,false],[false,"centimeter of water","cm[H2O]","CM[H2O]","pressure",98066.5,[-1,-2,1,0,0,0,0],"cm HO2","clinical",true,null,null,1,false,false,0,"cm H2O; cmH2O; centimetres; pressure","LOINC","Pres","Clinical","unit of pressure mostly applies to blood pressure","kPa","KPAL","980665e-5",9.80665,false],[false,"centimeter of water per liter per second","cm[H2O]/L/s","(CM[H2O]/L)/S","pressure",98066500,[-4,-3,1,0,0,0,0],"((cm HO2)/L)/s","clinical",true,null,null,1,false,false,0,"cm[H2O]/(L/s); cm[H2O].s/L; cm H2O/L/sec; cmH2O/L/sec; cmH2O/Liter; cmH2O per L per secs; centimeters of water per liters per second; centimetres; litres; cm[H2O]/(L/s)","LOINC","PresRat","Clinical","unit used to measure mean pulmonary resistance","kPa","KPAL","980665e-5",9.80665,false],[false,"centimeter of water per second per meter","cm[H2O]/s/m","(CM[H2O]/S)/M","pressure",98066.5,[-2,-3,1,0,0,0,0],"((cm HO2)/s)/m","clinical",true,null,null,1,false,false,0,"cm[H2O]/(s.m); cm H2O/s/m; cmH2O; cmH2O/sec/m; cmH2O per secs per meters; centimeters of water per seconds per meter; centimetres; metre","LOINC","PresRat","Clinical","unit used to measure pulmonary pressure time product","kPa","KPAL","980665e-5",9.80665,false],[false,"centimeter of mercury","cm[Hg]","CM[HG]","pressure",1333220,[-1,-2,1,0,0,0,0],"cm Hg","clinical",true,null,null,1,false,false,0,"centimeters of mercury; centimetres; cmHg; cm Hg","LOINC","Pres","Clinical","unit of pressure where 1 cmHg = 10 torr","kPa","KPAL","133.3220",133.322,false],[false,"square centimeter","cm2","CM2","length",0.0001,[2,0,0,0,0,0,0],"cm2",null,false,"L",null,1,false,false,0,"cm^2; sq cm; centimeters squared; square centimeters; centimetre; area","LOINC","Area","Clinical","",null,null,null,null,false],[false,"square centimeter per second","cm2/s","CM2/S","length",0.0001,[2,-1,0,0,0,0,0],"(cm2)/s",null,false,"L",null,1,false,false,0,"cm^2/sec; square centimeters per second; sq cm per sec; cm2; centimeters squared; centimetres","LOINC","AreaRat","Clinical","",null,null,null,null,false],[false,"centipoise","cP","CP","dynamic viscosity",1,[-1,-1,1,0,0,0,0],"cP","cgs",true,null,null,1,false,false,0,"cps; centiposes","LOINC","Visc","Clinical","unit of dynamic viscosity in the CGS system with base units: 10^−3 Pa.s = 1 mPa·.s (1 millipascal second)","dyn.s/cm2","DYN.S/CM2","1",1,false],[false,"centistoke","cSt","CST","kinematic viscosity",0.0000010000000000000002,[2,-1,0,0,0,0,0],"cSt","cgs",true,null,null,1,false,false,0,"centistokes","LOINC","Visc","Clinical","unit for kinematic viscosity with base units of mm^2/s (square millimeter per second)","cm2/s","CM2/S","1",1,false],[false,"dekaliter per minute","daL/min","DAL/MIN","volume",0.00016666666666666666,[3,-1,0,0,0,0,0],"daL/min","iso1000",true,null,null,1,false,false,0,"dekalitres; dekaliters per minute; per min","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"dekaliter per minute per square meter","daL/min/m2","(DAL/MIN)/M2","volume",0.00016666666666666666,[1,-1,0,0,0,0,0],"(daL/min)/(m2)","iso1000",true,null,null,1,false,false,0,"daL/min/m^2; daL/minute/m2; sq. meter; dekaliters per minutes per square meter; meter squared; dekalitres; metre","LOINC","ArVRat","Clinical","The area usually is the body surface area used to normalize cardiovascular measures for patient\'s size","l",null,"1",1,false],[false,"decibel","dB","DB","level",1,[0,0,0,0,0,0,0],"dB","levels",true,null,"lg",0.1,true,false,0,"decibels","LOINC","LogRto","Clinical","unit most commonly used in acoustics as unit of sound pressure level. (also see B[SPL] or bel sound pressure level). ","1",null,null,1,false],[false,"degree per second","deg/s","DEG/S","plane angle",0.017453292519943295,[0,-1,0,1,0,0,0],"°/s","iso1000",false,null,null,1,false,false,0,"deg/sec; deg per sec; °/sec; twist rate; angular speed; rotational speed","LOINC","ARat","Clinical","unit of angular (rotational) speed used to express turning rate","[pi].rad/360","[PI].RAD/360","2",2,false],[false,"decigram","dg","DG","mass",0.1,[0,0,1,0,0,0,0],"dg",null,false,"M",null,1,false,false,0,"decigrams; dgm; 0.1 grams; 1/10 gm","LOINC","Mass","Clinical","equal to 1/10 gram",null,null,null,null,false],[false,"deciliter","dL","DL","volume",0.0001,[3,0,0,0,0,0,0],"dL","iso1000",true,null,null,1,false,false,0,"deciliters; decilitres; 0.1 liters; 1/10 L","LOINC","Vol","Clinical","equal to 1/10 liter","l",null,"1",1,false],[false,"decimeter","dm","DM","length",0.1,[1,0,0,0,0,0,0],"dm",null,false,"L",null,1,false,false,0,"decimeters; decimetres; 0.1 meters; 1/10 m; 10 cm; centimeters","LOINC","Len","Clinical","equal to 1/10 meter or 10 centimeters",null,null,null,null,false],[false,"square decimeter per square second","dm2/s2","DM2/S2","length",0.010000000000000002,[2,-2,0,0,0,0,0],"(dm2)/(s2)",null,false,"L",null,1,false,false,0,"dm2 per s2; dm^2/s^2; decimeters squared per second squared; sq dm; sq sec","LOINC","EngMass (massic energy)","Clinical","units for energy per unit mass or Joules per kilogram (J/kg = kg.m2/s2/kg = m2/s2) ",null,null,null,null,false],[false,"dyne second per centimeter per square meter","dyn.s/(cm.m2)","(DYN.S)/(CM.M2)","force",1,[-2,-1,1,0,0,0,0],"(dyn.s)/(cm.(m2))","cgs",true,null,null,1,false,false,0,"(dyn*s)/(cm*m2); (dyn*s)/(cm*m^2); dyn s per cm per m2; m^2; dyne seconds per centimeters per square meter; centimetres; sq. meter; squared","LOINC","","Clinical","","g.cm/s2","G.CM/S2","1",1,false],[false,"dyne second per centimeter","dyn.s/cm","(DYN.S)/CM","force",1,[0,-1,1,0,0,0,0],"(dyn.s)/cm","cgs",true,null,null,1,false,false,0,"(dyn*s)/cm; dyn sec per cm; seconds; centimetre; dyne seconds","LOINC","","Clinical","","g.cm/s2","G.CM/S2","1",1,false],[false,"equivalent per liter","eq/L","EQ/L","amount of substance",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"eq/L","chemical",true,null,null,1,false,false,1,"eq/liter; eq/litre; eqs; equivalents per liter; litre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"equivalent per milliliter","eq/mL","EQ/ML","amount of substance",6.0221367e+29,[-3,0,0,0,0,0,0],"eq/mL","chemical",true,null,null,1,false,false,1,"equivalent/milliliter; equivalents per milliliter; eq per mL; millilitre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"equivalent per millimole","eq/mmol","EQ/MMOL","amount of substance",1000,[0,0,0,0,0,0,0],"eq/mmol","chemical",true,null,null,1,false,false,0,"equivalent/millimole; equivalents per millimole; eq per mmol","LOINC","SRto","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"equivalent per micromole","eq/umol","EQ/UMOL","amount of substance",1000000,[0,0,0,0,0,0,0],"eq/μmol","chemical",true,null,null,1,false,false,0,"equivalent/micromole; equivalents per micromole; eq per umol","LOINC","SRto","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"femtogram","fg","FG","mass",1e-15,[0,0,1,0,0,0,0],"fg",null,false,"M",null,1,false,false,0,"fg; fgm; femtograms; weight","LOINC","Mass","Clinical","equal to 10^-15 grams",null,null,null,null,false],[false,"femtoliter","fL","FL","volume",1e-18,[3,0,0,0,0,0,0],"fL","iso1000",true,null,null,1,false,false,0,"femtolitres; femtoliters","LOINC","Vol; EntVol","Clinical","equal to 10^-15 liters","l",null,"1",1,false],[false,"femtometer","fm","FM","length",1e-15,[1,0,0,0,0,0,0],"fm",null,false,"L",null,1,false,false,0,"femtometres; femtometers","LOINC","Len","Clinical","equal to 10^-15 meters",null,null,null,null,false],[false,"femtomole","fmol","FMOL","amount of substance",602213670,[0,0,0,0,0,0,0],"fmol","si",true,null,null,1,false,false,1,"femtomoles","LOINC","EntSub","Clinical","equal to 10^-15 moles","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per gram","fmol/g","FMOL/G","amount of substance",602213670,[0,0,-1,0,0,0,0],"fmol/g","si",true,null,null,1,false,false,1,"femtomoles; fmol/gm; fmol per gm","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per liter","fmol/L","FMOL/L","amount of substance",602213670000,[-3,0,0,0,0,0,0],"fmol/L","si",true,null,null,1,false,false,1,"femtomoles; fmol per liter; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per milligram","fmol/mg","FMOL/MG","amount of substance",602213670000,[0,0,-1,0,0,0,0],"fmol/mg","si",true,null,null,1,false,false,1,"fmol per mg; femtomoles","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per milliliter","fmol/mL","FMOL/ML","amount of substance",602213670000000,[-3,0,0,0,0,0,0],"fmol/mL","si",true,null,null,1,false,false,1,"femtomoles; millilitre; fmol per mL; fmol per milliliter","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"gram meter","g.m","G.M","mass",1,[1,0,1,0,0,0,0],"g.m",null,false,"M",null,1,false,false,0,"g*m; gxm; meters; metres","LOINC","Enrg","Clinical","Unit for measuring stroke work (heart work)",null,null,null,null,false],[false,"gram per 100 gram","g/(100.g)","G/G","mass",0.01,[0,0,0,0,0,0,0],"g/g",null,false,"M",null,1,false,false,0,"g/100 gm; 100gm; grams per 100 grams; gm per 100 gm","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"gram per 12 hour","g/(12.h)","G/HR","mass",0.000023148148148148147,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/12hrs; 12 hrs; gm per 12 hrs; 12hrs; grams per 12 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 24 hour","g/(24.h)","G/HR","mass",0.000011574074074074073,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/24hrs; gm/24 hrs; gm per 24 hrs; 24hrs; grams per 24 hours; gm/dy; gm per dy; grams per day","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 3 days","g/(3.d)","G/D","mass",0.000003858024691358025,[0,-1,1,0,0,0,0],"g/d",null,false,"M",null,1,false,false,0,"gm/3dy; gm/3 dy; gm per 3 days; grams","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 4 hour","g/(4.h)","G/HR","mass",0.00006944444444444444,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/4hrs; gm/4 hrs; gm per 4 hrs; 4hrs; grams per 4 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 48 hour","g/(48.h)","G/HR","mass",0.000005787037037037037,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/48hrs; gm/48 hrs; gm per 48 hrs; 48hrs; grams per 48 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 5 hour","g/(5.h)","G/HR","mass",0.00005555555555555556,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/5hrs; gm/5 hrs; gm per 5 hrs; 5hrs; grams per 5 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 6 hour","g/(6.h)","G/HR","mass",0.000046296296296296294,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/6hrs; gm/6 hrs; gm per 6 hrs; 6hrs; grams per 6 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 72 hour","g/(72.h)","G/HR","mass",0.000003858024691358025,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/72hrs; gm/72 hrs; gm per 72 hrs; 72hrs; grams per 72 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per cubic centimeter","g/cm3","G/CM3","mass",999999.9999999999,[-3,0,1,0,0,0,0],"g/(cm3)",null,false,"M",null,1,false,false,0,"g/cm^3; gm per cm3; g per cm^3; grams per centimeter cubed; cu. cm; centimetre; g/mL; gram per milliliter; millilitre","LOINC","MCnc","Clinical","g/cm3 = g/mL",null,null,null,null,false],[false,"gram per day","g/d","G/D","mass",0.000011574074074074073,[0,-1,1,0,0,0,0],"g/d",null,false,"M",null,1,false,false,0,"gm/dy; gm per dy; grams per day; gm/24hrs; gm/24 hrs; gm per 24 hrs; 24hrs; grams per 24 hours; serving","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per deciliter","g/dL","G/DL","mass",10000,[-3,0,1,0,0,0,0],"g/dL",null,false,"M",null,1,false,false,0,"gm/dL; gm per dL; grams per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"gram per gram","g/g","G/G","mass",1,[0,0,0,0,0,0,0],"g/g",null,false,"M",null,1,false,false,0,"gm; grams","LOINC","MRto ","Clinical","",null,null,null,null,false],[false,"gram per hour","g/h","G/HR","mass",0.0002777777777777778,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/hr; gm per hr; grams; intake; output","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per hour per square meter","g/h/m2","(G/HR)/M2","mass",0.0002777777777777778,[-2,-1,1,0,0,0,0],"(g/h)/(m2)",null,false,"M",null,1,false,false,0,"gm/hr/m2; gm/h/m2; /m^2; sq. m; g per hr per m2; grams per hours per square meter; meter squared; metre","LOINC","ArMRat","Clinical","",null,null,null,null,false],[false,"gram per kilogram","g/kg ","G/KG","mass",0.001,[0,0,0,0,0,0,0],"g/kg",null,false,"M",null,1,false,false,0,"g per kg; gram per kilograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"gram per kilogram per 8 hour ","g/kg/(8.h)","(G/KG)/HR","mass",3.472222222222222e-8,[0,-1,0,0,0,0,0],"(g/kg)/h",null,false,"M",null,1,false,false,0,"g/(8.kg.h); gm/kg/8hrs; 8 hrs; g per kg per 8 hrs; 8hrs; grams per kilograms per 8 hours; shift","LOINC","MCntRat; RelMRat","Clinical","unit often used to describe mass in grams of protein consumed in a 8 hours, divided by the subject\'s body weight in kilograms. Also used to measure mass dose rate per body mass",null,null,null,null,false],[false,"gram per kilogram per day","g/kg/d","(G/KG)/D","mass",1.1574074074074074e-8,[0,-1,0,0,0,0,0],"(g/kg)/d",null,false,"M",null,1,false,false,0,"g/(kg.d); gm/kg/dy; gm per kg per dy; grams per kilograms per day","LOINC","RelMRat","Clinical","unit often used to describe mass in grams of protein consumed in a day, divided by the subject\'s body weight in kilograms. Also used to measure mass dose rate per body mass",null,null,null,null,false],[false,"gram per kilogram per hour","g/kg/h","(G/KG)/HR","mass",2.7777777777777776e-7,[0,-1,0,0,0,0,0],"(g/kg)/h",null,false,"M",null,1,false,false,0,"g/(kg.h); g/kg/hr; g per kg per hrs; grams per kilograms per hour","LOINC","MCntRat; RelMRat","Clinical","unit used to measure mass dose rate per body mass",null,null,null,null,false],[false,"gram per kilogram per minute","g/kg/min","(G/KG)/MIN","mass",0.000016666666666666667,[0,-1,0,0,0,0,0],"(g/kg)/min",null,false,"M",null,1,false,false,0,"g/(kg.min); g/kg/min; g per kg per min; grams per kilograms per minute","LOINC","MCntRat; RelMRat","Clinical","unit used to measure mass dose rate per body mass",null,null,null,null,false],[false,"gram per liter","g/L","G/L","mass",1000,[-3,0,1,0,0,0,0],"g/L",null,false,"M",null,1,false,false,0,"gm per liter; g/liter; grams per liter; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"gram per square meter","g/m2","G/M2","mass",1,[-2,0,1,0,0,0,0],"g/(m2)",null,false,"M",null,1,false,false,0,"g/m^2; gram/square meter; g/sq m; g per m2; g per m^2; grams per square meter; meters squared; metre","LOINC","ArMass","Clinical","Tests measure myocardial mass (heart ventricle system) per body surface area; unit used to measure mass dose per body surface area",null,null,null,null,false],[false,"gram per milligram","g/mg","G/MG","mass",1000,[0,0,0,0,0,0,0],"g/mg",null,false,"M",null,1,false,false,0,"g per mg; grams per milligram","LOINC","MCnt; MRto","Clinical","",null,null,null,null,false],[false,"gram per minute","g/min","G/MIN","mass",0.016666666666666666,[0,-1,1,0,0,0,0],"g/min",null,false,"M",null,1,false,false,0,"g per min; grams per minute; gram/minute","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per milliliter","g/mL","G/ML","mass",1000000,[-3,0,1,0,0,0,0],"g/mL",null,false,"M",null,1,false,false,0,"g per mL; grams per milliliter; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"gram per millimole","g/mmol","G/MMOL","mass",1.6605401866749388e-21,[0,0,1,0,0,0,0],"g/mmol",null,false,"M",null,1,false,false,-1,"grams per millimole; g per mmol","LOINC","Ratio","Clinical","",null,null,null,null,false],[false,"joule per liter","J/L","J/L","energy",1000000,[-1,-2,1,0,0,0,0],"J/L","si",true,null,null,1,false,false,0,"joules per liter; litre; J per L","LOINC","EngCnc","Clinical","","N.m","N.M","1",1,false],[false,"degree Kelvin per Watt","K/W","K/W","temperature",0.001,[-2,3,-1,0,1,0,0],"K/W",null,false,"C",null,1,false,false,0,"degree Kelvin/Watt; K per W; thermal ohm; thermal resistance; degrees","LOINC","TempEngRat","Clinical","unit for absolute thermal resistance equal to the reciprocal of thermal conductance. Unit used for tests to measure work of breathing",null,null,null,null,false],[false,"kilo international unit per liter","k[IU]/L","K[IU]/L","arbitrary",1000000,[-3,0,0,0,0,0,0],"(ki.U.)/L","chemical",true,null,null,1,false,true,0,"kIU/L; kIU per L; kIU per liter; kilo international units; litre; allergens; allergy units","LOINC","ACnc","Clinical","IgE has an WHO reference standard so IgE allergen testing can be reported as k[IU]/L","[iU]","[IU]","1",1,false],[false,"kilo international unit per milliliter","k[IU]/mL","K[IU]/ML","arbitrary",1000000000,[-3,0,0,0,0,0,0],"(ki.U.)/mL","chemical",true,null,null,1,false,true,0,"kIU/mL; kIU per mL; kIU per milliliter; kilo international units; millilitre; allergens; allergy units","LOINC","ACnc","Clinical","IgE has an WHO reference standard so IgE allergen testing can be reported as k[IU]/mL","[iU]","[IU]","1",1,false],[false,"katal per kilogram","kat/kg","KAT/KG","catalytic activity",602213670000000000000,[0,-1,-1,0,0,0,0],"kat/kg","chemical",true,null,null,1,false,false,1,"kat per kg; katals per kilogram; mol/s/kg; moles per seconds per kilogram","LOINC","CCnt","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"katal per liter","kat/L","KAT/L","catalytic activity",6.0221366999999994e+26,[-3,-1,0,0,0,0,0],"kat/L","chemical",true,null,null,1,false,false,1,"kat per L; katals per liter; litre; mol/s/L; moles per seconds per liter","LOINC","CCnc","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"kilocalorie","kcal","KCAL","energy",4184000,[2,-2,1,0,0,0,0],"kcal","heat",true,null,null,1,false,false,0,"kilogram calories; large calories; food calories; kcals","LOINC","EngRat","Clinical","It is equal to 1000 calories (equal to 4.184 kJ). But in practical usage, kcal refers to food calories which excludes caloric content in fiber and other constitutes that is not digestible by humans. Also see nutrition label Calories ([Cal])","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per 24 hour","kcal/(24.h)","KCAL/HR","energy",48.425925925925924,[2,-3,1,0,0,0,0],"kcal/h","heat",true,null,null,1,false,false,0,"kcal/24hrs; kcal/24 hrs; kcal per 24hrs; kilocalories per 24 hours; kilojoules; kJ/24hr; kJ/(24.h); kJ/dy; kilojoules per days; intake; calories burned; metabolic rate; food calories","","EngRat","Clinical","","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per ounce","kcal/[oz_av]","KCAL/[OZ_AV]","energy",147586.25679704445,[2,-2,0,0,0,0,0],"kcal/oz","heat",true,null,null,1,false,false,0,"kcal/oz; kcal per ozs; large calories per ounces; food calories; servings; international","LOINC","EngCnt","Clinical","used in nutrition to represent calorie of food","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per day","kcal/d","KCAL/D","energy",48.425925925925924,[2,-3,1,0,0,0,0],"kcal/d","heat",true,null,null,1,false,false,0,"kcal/dy; kcal per day; kilocalories per days; kilojoules; kJ/dy; kilojoules per days; intake; calories burned; metabolic rate; food calories","LOINC","EngRat","Clinical","unit in nutrition for food intake (measured in calories) in a day","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per hour","kcal/h","KCAL/HR","energy",1162.2222222222222,[2,-3,1,0,0,0,0],"kcal/h","heat",true,null,null,1,false,false,0,"kcal/hrs; kcals per hr; intake; kilocalories per hours; kilojoules","LOINC","EngRat","Clinical","used in nutrition to represent caloric requirement or consumption","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per kilogram per 24 hour","kcal/kg/(24.h)","(KCAL/KG)/HR","energy",0.04842592592592593,[2,-3,0,0,0,0,0],"(kcal/kg)/h","heat",true,null,null,1,false,false,0,"kcal/kg/24hrs; 24 hrs; kcal per kg per 24hrs; kilocalories per kilograms per 24 hours; kilojoules","LOINC","EngCntRat","Clinical","used in nutrition to represent caloric requirement per day based on subject\'s body weight in kilograms","cal_th","CAL_TH","1",1,false],[false,"kilogram","kg","KG","mass",1000,[0,0,1,0,0,0,0],"kg",null,false,"M",null,1,false,false,0,"kilograms; kgs","LOINC","Mass","Clinical","",null,null,null,null,false],[false,"kilogram meter per second","kg.m/s","(KG.M)/S","mass",1000,[1,-1,1,0,0,0,0],"(kg.m)/s",null,false,"M",null,1,false,false,0,"kg*m/s; kg.m per sec; kg*m per sec; p; momentum","LOINC","","Clinical","unit for momentum = mass times velocity",null,null,null,null,false],[false,"kilogram per second per square meter","kg/(s.m2)","KG/(S.M2)","mass",1000,[-2,-1,1,0,0,0,0],"kg/(s.(m2))",null,false,"M",null,1,false,false,0,"kg/(s*m2); kg/(s*m^2); kg per s per m2; per sec; per m^2; kilograms per seconds per square meter; meter squared; metre","LOINC","ArMRat","Clinical","",null,null,null,null,false],[false,"kilogram per hour","kg/h","KG/HR","mass",0.2777777777777778,[0,-1,1,0,0,0,0],"kg/h",null,false,"M",null,1,false,false,0,"kg/hr; kg per hr; kilograms per hour","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"kilogram per liter","kg/L","KG/L","mass",1000000,[-3,0,1,0,0,0,0],"kg/L",null,false,"M",null,1,false,false,0,"kg per liter; litre; kilograms","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"kilogram per square meter","kg/m2","KG/M2","mass",1000,[-2,0,1,0,0,0,0],"kg/(m2)",null,false,"M",null,1,false,false,0,"kg/m^2; kg/sq. m; kg per m2; per m^2; per sq. m; kilograms; meter squared; metre; BMI","LOINC","Ratio","Clinical","units for body mass index (BMI)",null,null,null,null,false],[false,"kilogram per cubic meter","kg/m3","KG/M3","mass",1000,[-3,0,1,0,0,0,0],"kg/(m3)",null,false,"M",null,1,false,false,0,"kg/m^3; kg/cu. m; kg per m3; per m^3; per cu. m; kilograms; meters cubed; metre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"kilogram per minute","kg/min","KG/MIN","mass",16.666666666666668,[0,-1,1,0,0,0,0],"kg/min",null,false,"M",null,1,false,false,0,"kilogram/minute; kg per min; kilograms per minute","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"kilogram per mole","kg/mol","KG/MOL","mass",1.6605401866749388e-21,[0,0,1,0,0,0,0],"kg/mol",null,false,"M",null,1,false,false,-1,"kilogram/mole; kg per mol; kilograms per mole","LOINC","SCnt","Clinical","",null,null,null,null,false],[false,"kilogram per second","kg/s","KG/S","mass",1000,[0,-1,1,0,0,0,0],"kg/s",null,false,"M",null,1,false,false,0,"kg/sec; kilogram/second; kg per sec; kilograms; second","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"kiloliter","kL","KL","volume",1,[3,0,0,0,0,0,0],"kL","iso1000",true,null,null,1,false,false,0,"kiloliters; kilolitres; m3; m^3; meters cubed; metre","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"kilometer","km","KM","length",1000,[1,0,0,0,0,0,0],"km",null,false,"L",null,1,false,false,0,"kilometers; kilometres; distance","LOINC","Len","Clinical","",null,null,null,null,false],[false,"kilopascal","kPa","KPAL","pressure",1000000,[-1,-2,1,0,0,0,0],"kPa","si",true,null,null,1,false,false,0,"kilopascals; pressure","LOINC","Pres; PPresDiff","Clinical","","N/m2","N/M2","1",1,false],[false,"kilosecond","ks","KS","time",1000,[0,1,0,0,0,0,0],"ks",null,false,"T",null,1,false,false,0,"kiloseconds; ksec","LOINC","Time","Clinical","",null,null,null,null,false],[false,"kilo enzyme unit","kU","KU","catalytic activity",10036894500000000000,[0,-1,0,0,0,0,0],"kU","chemical",true,null,null,1,false,false,1,"units; mmol/min; millimoles per minute","LOINC","CAct","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"kilo enzyme unit per gram","kU/g","KU/G","catalytic activity",10036894500000000000,[0,-1,-1,0,0,0,0],"kU/g","chemical",true,null,null,1,false,false,1,"units per grams; kU per gm","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"kilo enzyme unit per liter","kU/L","KU/L","catalytic activity",1.00368945e+22,[-3,-1,0,0,0,0,0],"kU/L","chemical",true,null,null,1,false,false,1,"units per liter; litre; enzymatic activity; enzyme activity per volume; activities","LOINC","ACnc; CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"kilo enzyme unit per milliliter","kU/mL","KU/ML","catalytic activity",1.00368945e+25,[-3,-1,0,0,0,0,0],"kU/mL","chemical",true,null,null,1,false,false,1,"kU per mL; units per milliliter; millilitre; enzymatic activity per volume; enzyme activities","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"Liters per 24 hour","L/(24.h)","L/HR","volume",1.1574074074074074e-8,[3,-1,0,0,0,0,0],"L/h","iso1000",true,null,null,1,false,false,0,"L/24hrs; L/24 hrs; L per 24hrs; liters per 24 hours; day; dy; litres; volume flow rate","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per 8 hour","L/(8.h)","L/HR","volume",3.472222222222222e-8,[3,-1,0,0,0,0,0],"L/h","iso1000",true,null,null,1,false,false,0,"L/8hrs; L/8 hrs; L per 8hrs; liters per 8 hours; litres; volume flow rate; shift","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per minute per square meter","L/(min.m2) ","L/(MIN.M2)","volume",0.000016666666666666667,[1,-1,0,0,0,0,0],"L/(min.(m2))","iso1000",true,null,null,1,false,false,0,"L/(min.m2); L/min/m^2; L/min/sq. meter; L per min per m2; m^2; liters per minutes per square meter; meter squared; litres; metre ","LOINC","ArVRat","Clinical","unit for tests that measure cardiac output per body surface area (cardiac index)","l",null,"1",1,false],[false,"Liters per day","L/d","L/D","volume",1.1574074074074074e-8,[3,-1,0,0,0,0,0],"L/d","iso1000",true,null,null,1,false,false,0,"L/dy; L per day; 24hrs; 24 hrs; 24 hours; liters; litres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per hour","L/h","L/HR","volume",2.7777777777777776e-7,[3,-1,0,0,0,0,0],"L/h","iso1000",true,null,null,1,false,false,0,"L/hr; L per hr; litres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per kilogram","L/kg","L/KG","volume",0.000001,[3,0,-1,0,0,0,0],"L/kg","iso1000",true,null,null,1,false,false,0,"L per kg; litre","LOINC","VCnt","Clinical","","l",null,"1",1,false],[false,"Liters per liter","L/L","L/L","volume",1,[0,0,0,0,0,0,0],"L/L","iso1000",true,null,null,1,false,false,0,"L per L; liter/liter; litre","LOINC","VFr","Clinical","","l",null,"1",1,false],[false,"Liters per minute","L/min","L/MIN","volume",0.000016666666666666667,[3,-1,0,0,0,0,0],"L/min","iso1000",true,null,null,1,false,false,0,"liters per minute; litre","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per minute per square meter","L/min/m2","(L/MIN)/M2","volume",0.000016666666666666667,[1,-1,0,0,0,0,0],"(L/min)/(m2)","iso1000",true,null,null,1,false,false,0,"L/(min.m2); L/min/m^2; L/min/sq. meter; L per min per m2; m^2; liters per minutes per square meter; meter squared; litres; metre ","","ArVRat","Clinical","unit for tests that measure cardiac output per body surface area (cardiac index)","l",null,"1",1,false],[false,"Liters per second","L/s","L/S","volume",0.001,[3,-1,0,0,0,0,0],"L/s","iso1000",true,null,null,1,false,false,0,"L per sec; litres","LOINC","VRat","Clinical","unit used often to measure gas flow and peak expiratory flow","l",null,"1",1,false],[false,"Liters per second per square second","L/s/s2","(L/S)/S2","volume",0.001,[3,-3,0,0,0,0,0],"(L/s)/(s2)","iso1000",true,null,null,1,false,false,0,"L/s/s^2; L/sec/sec2; L/sec/sec^2; L/sec/sq. sec; L per s per s2; L per sec per sec2; s^2; sec^2; liters per seconds per square second; second squared; litres ","LOINC","ArVRat","Clinical","unit for tests that measure cardiac output/body surface area","l",null,"1",1,false],[false,"lumen square meter","lm.m2","LM.M2","luminous flux",1,[2,0,0,2,0,0,1],"lm.(m2)","si",true,null,null,1,false,false,0,"lm*m2; lm*m^2; lumen meters squared; lumen sq. meters; metres","LOINC","","Clinical","","cd.sr","CD.SR","1",1,false],[false,"meter per second","m/s","M/S","length",1,[1,-1,0,0,0,0,0],"m/s",null,false,"L",null,1,false,false,0,"meter/second; m per sec; meters per second; metres; velocity; speed","LOINC","Vel","Clinical","unit of velocity",null,null,null,null,false],[false,"meter per square second","m/s2","M/S2","length",1,[1,-2,0,0,0,0,0],"m/(s2)",null,false,"L",null,1,false,false,0,"m/s^2; m/sq. sec; m per s2; per s^2; meters per square second; second squared; sq second; metres; acceleration","LOINC","Accel","Clinical","unit of acceleration",null,null,null,null,false],[false,"milli international unit per liter","m[IU]/L","M[IU]/L","arbitrary",1,[-3,0,0,0,0,0,0],"(mi.U.)/L","chemical",true,null,null,1,false,true,0,"mIU/L; m IU/L; mIU per liter; units; litre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"milli international unit per milliliter","m[IU]/mL","M[IU]/ML","arbitrary",1000.0000000000001,[-3,0,0,0,0,0,0],"(mi.U.)/mL","chemical",true,null,null,1,false,true,0,"mIU/mL; m IU/mL; mIU per mL; milli international units per milliliter; millilitre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"square meter","m2","M2","length",1,[2,0,0,0,0,0,0],"m2",null,false,"L",null,1,false,false,0,"m^2; sq m; square meters; meters squared; metres","LOINC","Area","Clinical","unit often used to represent body surface area",null,null,null,null,false],[false,"square meter per second","m2/s","M2/S","length",1,[2,-1,0,0,0,0,0],"(m2)/s",null,false,"L",null,1,false,false,0,"m^2/sec; m2 per sec; m^2 per sec; sq m/sec; meters squared/seconds; sq m per sec; meters squared; metres","LOINC","ArRat","Clinical","",null,null,null,null,false],[false,"cubic meter per second","m3/s","M3/S","length",1,[3,-1,0,0,0,0,0],"(m3)/s",null,false,"L",null,1,false,false,0,"m^3/sec; m3 per sec; m^3 per sec; cu m/sec; cubic meters per seconds; meters cubed; metres","LOINC","VRat","Clinical","",null,null,null,null,false],[false,"milliampere","mA","MA","electric current",0.001,[0,-1,0,0,0,1,0],"mA","si",true,null,null,1,false,false,0,"mamp; milliamperes","LOINC","ElpotRat","Clinical","unit of electric current","C/s","C/S","1",1,false],[false,"millibar","mbar","MBAR","pressure",100000,[-1,-2,1,0,0,0,0],"mbar","iso1000",true,null,null,1,false,false,0,"millibars","LOINC","Pres","Clinical","unit of pressure","Pa","PAL","1e5",100000,false],[false,"millibar second per liter","mbar.s/L","(MBAR.S)/L","pressure",100000000,[-4,-1,1,0,0,0,0],"(mbar.s)/L","iso1000",true,null,null,1,false,false,0,"mbar*s/L; mbar.s per L; mbar*s per L; millibar seconds per liter; millibar second per litre","LOINC","","Clinical","unit to measure expiratory resistance","Pa","PAL","1e5",100000,false],[false,"millibar per liter per second","mbar/L/s","(MBAR/L)/S","pressure",100000000,[-4,-3,1,0,0,0,0],"(mbar/L)/s","iso1000",true,null,null,1,false,false,0,"mbar/(L.s); mbar/L/sec; mbar/liter/second; mbar per L per sec; mbar per liter per second; millibars per liters per seconds; litres","LOINC","PresCncRat","Clinical","unit to measure expiratory resistance","Pa","PAL","1e5",100000,false],[false,"milliequivalent","meq","MEQ","amount of substance",602213670000000000000,[0,0,0,0,0,0,0],"meq","chemical",true,null,null,1,false,false,1,"milliequivalents; meqs","LOINC","Sub","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per 2 hour","meq/(2.h)","MEQ/HR","amount of substance",83640787500000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/2hrs; meq/2 hrs; meq per 2 hrs; milliequivalents per 2 hours","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per 24 hour","meq/(24.h)","MEQ/HR","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/24hrs; meq/24 hrs; meq per 24 hrs; milliequivalents per 24 hours","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per 8 hour","meq/(8.h)","MEQ/HR","amount of substance",20910196875000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/8hrs; meq/8 hrs; meq per 8 hrs; milliequivalents per 8 hours; shift","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per day","meq/d","MEQ/D","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"meq/d","chemical",true,null,null,1,false,false,1,"meq/dy; meq per day; milliquivalents per days; meq/24hrs; meq/24 hrs; meq per 24 hrs; milliequivalents per 24 hours","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per deciliter","meq/dL","MEQ/DL","amount of substance",6.022136699999999e+24,[-3,0,0,0,0,0,0],"meq/dL","chemical",true,null,null,1,false,false,1,"meq per dL; milliequivalents per deciliter; decilitre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per gram","meq/g","MEQ/G","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"meq/g","chemical",true,null,null,1,false,false,1,"mgq/gm; meq per gm; milliequivalents per gram","LOINC","MCnt","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per hour","meq/h","MEQ/HR","amount of substance",167281575000000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/hrs; meq per hrs; milliequivalents per hour","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per kilogram","meq/kg","MEQ/KG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"meq/kg","chemical",true,null,null,1,false,false,1,"meq per kg; milliequivalents per kilogram","LOINC","SCnt","Clinical","equivalence equals moles per valence; used to measure dose per patient body mass","mol","MOL","1",1,false],[false,"milliequivalent per kilogram per hour","meq/kg/h","(MEQ/KG)/HR","amount of substance",167281575000000,[0,-1,-1,0,0,0,0],"(meq/kg)/h","chemical",true,null,null,1,false,false,1,"meq/(kg.h); meq/kg/hr; meq per kg per hr; milliequivalents per kilograms per hour","LOINC","SCntRat","Clinical","equivalence equals moles per valence; unit used to measure dose rate per patient body mass","mol","MOL","1",1,false],[false,"milliequivalent per liter","meq/L","MEQ/L","amount of substance",6.0221367e+23,[-3,0,0,0,0,0,0],"meq/L","chemical",true,null,null,1,false,false,1,"milliequivalents per liter; litre; meq per l; acidity","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per square meter","meq/m2","MEQ/M2","amount of substance",602213670000000000000,[-2,0,0,0,0,0,0],"meq/(m2)","chemical",true,null,null,1,false,false,1,"meq/m^2; meq/sq. m; milliequivalents per square meter; meter squared; metre","LOINC","ArSub","Clinical","equivalence equals moles per valence; note that the use of m2 in clinical units ofter refers to body surface area","mol","MOL","1",1,false],[false,"milliequivalent per minute","meq/min","MEQ/MIN","amount of substance",10036894500000000000,[0,-1,0,0,0,0,0],"meq/min","chemical",true,null,null,1,false,false,1,"meq per min; milliequivalents per minute","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per milliliter","meq/mL","MEQ/ML","amount of substance",6.0221367e+26,[-3,0,0,0,0,0,0],"meq/mL","chemical",true,null,null,1,false,false,1,"meq per mL; milliequivalents per milliliter; millilitre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milligram","mg","MG","mass",0.001,[0,0,1,0,0,0,0],"mg",null,false,"M",null,1,false,false,0,"milligrams","LOINC","Mass","Clinical","",null,null,null,null,false],[false,"milligram per 10 hour","mg/(10.h)","MG/HR","mass",2.7777777777777777e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/10hrs; mg/10 hrs; mg per 10 hrs; milligrams per 10 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per 12 hour","mg/(12.h)","MG/HR","mass",2.3148148148148148e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/12hrs; mg/12 hrs; per 12 hrs; 12hrs; milligrams per 12 hours","LOINC","MRat","Clinical","units used for tests in urine",null,null,null,null,false],[false,"milligram per 2 hour","mg/(2.h)","MG/HR","mass",1.3888888888888888e-7,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/2hrs; mg/2 hrs; mg per 2 hrs; 2hrs; milligrams per 2 hours","LOINC","MRat","Clinical","units used for tests in urine",null,null,null,null,false],[false,"milligram per 24 hour","mg/(24.h)","MG/HR","mass",1.1574074074074074e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/24hrs; mg/24 hrs; milligrams per 24 hours; mg/kg/dy; mg per kg per day; milligrams per kilograms per days","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per 6 hour","mg/(6.h)","MG/HR","mass",4.6296296296296295e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/6hrs; mg/6 hrs; mg per 6 hrs; 6hrs; milligrams per 6 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per 72 hour","mg/(72.h)","MG/HR","mass",3.858024691358025e-9,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/72hrs; mg/72 hrs; 72 hrs; 72hrs; milligrams per 72 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per 8 hour","mg/(8.h)","MG/HR","mass",3.472222222222222e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/8hrs; mg/8 hrs; milligrams per 8 hours; shift","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per day","mg/d","MG/D","mass",1.1574074074074074e-8,[0,-1,1,0,0,0,0],"mg/d",null,false,"M",null,1,false,false,0,"mg/24hrs; mg/24 hrs; milligrams per 24 hours; mg/dy; mg per day; milligrams","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per deciliter","mg/dL","MG/DL","mass",10,[-3,0,1,0,0,0,0],"mg/dL",null,false,"M",null,1,false,false,0,"mg per dL; milligrams per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"milligram per gram","mg/g","MG/G","mass",0.001,[0,0,0,0,0,0,0],"mg/g",null,false,"M",null,1,false,false,0,"mg per gm; milligrams per gram","LOINC","MCnt; MRto","Clinical","",null,null,null,null,false],[false,"milligram per hour","mg/h","MG/HR","mass",2.7777777777777776e-7,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/hr; mg per hr; milligrams","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per kilogram","mg/kg","MG/KG","mass",0.000001,[0,0,0,0,0,0,0],"mg/kg",null,false,"M",null,1,false,false,0,"mg per kg; milligrams per kilograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"milligram per kilogram per 8 hour","mg/kg/(8.h)","(MG/KG)/HR","mass",3.472222222222222e-11,[0,-1,0,0,0,0,0],"(mg/kg)/h",null,false,"M",null,1,false,false,0,"mg/(8.h.kg); mg/kg/8hrs; mg/kg/8 hrs; mg per kg per 8hrs; 8 hrs; milligrams per kilograms per 8 hours; shift","LOINC","RelMRat; MCntRat","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"milligram per kilogram per day","mg/kg/d","(MG/KG)/D","mass",1.1574074074074074e-11,[0,-1,0,0,0,0,0],"(mg/kg)/d",null,false,"M",null,1,false,false,0,"mg/(kg.d); mg/(kg.24.h)mg/kg/dy; mg per kg per day; milligrams per kilograms per days; mg/kg/(24.h); mg/kg/24hrs; 24 hrs; 24 hours","LOINC","RelMRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"milligram per kilogram per hour","mg/kg/h","(MG/KG)/HR","mass",2.7777777777777777e-10,[0,-1,0,0,0,0,0],"(mg/kg)/h",null,false,"M",null,1,false,false,0,"mg/(kg.h); mg/kg/hr; mg per kg per hr; milligrams per kilograms per hour","LOINC","RelMRat; MCntRat","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"milligram per kilogram per minute","mg/kg/min","(MG/KG)/MIN","mass",1.6666666666666667e-8,[0,-1,0,0,0,0,0],"(mg/kg)/min",null,false,"M",null,1,false,false,0,"mg/(kg.min); mg per kg per min; milligrams per kilograms per minute","LOINC","RelMRat; MCntRat","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"milligram per liter","mg/L","MG/L","mass",1,[-3,0,1,0,0,0,0],"mg/L",null,false,"M",null,1,false,false,0,"mg per l; milligrams per liter; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"milligram per square meter","mg/m2","MG/M2","mass",0.001,[-2,0,1,0,0,0,0],"mg/(m2)",null,false,"M",null,1,false,false,0,"mg/m^2; mg/sq. m; mg per m2; mg per m^2; mg per sq. milligrams; meter squared; metre","LOINC","ArMass","Clinical","",null,null,null,null,false],[false,"milligram per cubic meter","mg/m3","MG/M3","mass",0.001,[-3,0,1,0,0,0,0],"mg/(m3)",null,false,"M",null,1,false,false,0,"mg/m^3; mg/cu. m; mg per m3; milligrams per cubic meter; meter cubed; metre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"milligram per milligram","mg/mg","MG/MG","mass",1,[0,0,0,0,0,0,0],"mg/mg",null,false,"M",null,1,false,false,0,"mg per mg; milligrams; milligram/milligram","LOINC","MRto","Clinical","",null,null,null,null,false],[false,"milligram per minute","mg/min","MG/MIN","mass",0.000016666666666666667,[0,-1,1,0,0,0,0],"mg/min",null,false,"M",null,1,false,false,0,"mg per min; milligrams per minutes; milligram/minute","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per milliliter","mg/mL","MG/ML","mass",1000.0000000000001,[-3,0,1,0,0,0,0],"mg/mL",null,false,"M",null,1,false,false,0,"mg per mL; milligrams per milliliters; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"milligram per millimole","mg/mmol","MG/MMOL","mass",1.660540186674939e-24,[0,0,1,0,0,0,0],"mg/mmol",null,false,"M",null,1,false,false,-1,"mg per mmol; milligrams per millimole; ","LOINC","Ratio","Clinical","",null,null,null,null,false],[false,"milligram per week","mg/wk","MG/WK","mass",1.6534391534391535e-9,[0,-1,1,0,0,0,0],"mg/wk",null,false,"M",null,1,false,false,0,"mg/week; mg per wk; milligrams per weeks; milligram/week","LOINC","Mrat","Clinical","",null,null,null,null,false],[false,"milliliter","mL","ML","volume",0.000001,[3,0,0,0,0,0,0],"mL","iso1000",true,null,null,1,false,false,0,"milliliters; millilitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"milliliter per 10 hour","mL/(10.h)","ML/HR","volume",2.7777777777777777e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/10hrs; ml/10 hrs; mL per 10hrs; 10 hrs; milliliters per 10 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 12 hour","mL/(12.h)","ML/HR","volume",2.3148148148148147e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/12hrs; ml/12 hrs; mL per 12hrs; 12 hrs; milliliters per 12 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 2 hour","mL/(2.h)","ML/HR","volume",1.3888888888888888e-10,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/2hrs; ml/2 hrs; mL per 2hrs; 2 hrs; milliliters per 2 hours; millilitres ","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 24 hour","mL/(24.h)","ML/HR","volume",1.1574074074074074e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/24hrs; ml/24 hrs; mL per 24hrs; 24 hrs; milliliters per 24 hours; millilitres; ml/dy; /day; ml per dy; days; fluid outputs; fluid inputs; flow rate","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 4 hour","mL/(4.h)","ML/HR","volume",6.944444444444444e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/4hrs; ml/4 hrs; mL per 4hrs; 4 hrs; milliliters per 4 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 5 hour","mL/(5.h)","ML/HR","volume",5.5555555555555553e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/5hrs; ml/5 hrs; mL per 5hrs; 5 hrs; milliliters per 5 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 6 hour","mL/(6.h)","ML/HR","volume",4.6296296296296294e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/6hrs; ml/6 hrs; mL per 6hrs; 6 hrs; milliliters per 6 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 72 hour","mL/(72.h)","ML/HR","volume",3.8580246913580245e-12,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/72hrs; ml/72 hrs; mL per 72hrs; 72 hrs; milliliters per 72 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 8 hour","mL/(8.h)","ML/HR","volume",3.472222222222222e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/8hrs; ml/8 hrs; mL per 8hrs; 8 hrs; milliliters per 8 hours; millilitres; shift","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 8 hour per kilogram","mL/(8.h)/kg","(ML/HR)/KG","volume",3.472222222222222e-14,[3,-1,-1,0,0,0,0],"(mL/h)/kg","iso1000",true,null,null,1,false,false,0,"mL/kg/(8.h); ml/8h/kg; ml/8 h/kg; ml/8hr/kg; ml/8 hr/kgr; mL per 8h per kg; 8 h; 8hr; 8 hr; milliliters per 8 hours per kilogram; millilitres; shift","LOINC","VRatCnt","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per square inch (international)","mL/[sin_i]","ML/[SIN_I]","volume",0.0015500031000061998,[1,0,0,0,0,0,0],"mL","iso1000",true,null,null,1,false,false,0,"mL/sin; mL/in2; mL/in^2; mL per sin; in2; in^2; sq. in; milliliters per square inch; inch squared","LOINC","ArVol","Clinical","","l",null,"1",1,false],[false,"milliliter per centimeter of water","mL/cm[H2O]","ML/CM[H2O]","volume",1.0197162129779282e-11,[4,2,-1,0,0,0,0],"mL/(cm HO2)","iso1000",true,null,null,1,false,false,0,"milliliters per centimeter of water; millilitre per centimetre of water; millilitres per centimetre of water; mL/cmH2O; mL/cm H2O; mL per cmH2O; mL per cm H2O","LOINC","Compli","Clinical","unit used to measure dynamic lung compliance","l",null,"1",1,false],[false,"milliliter per day","mL/d","ML/D","volume",1.1574074074074074e-11,[3,-1,0,0,0,0,0],"mL/d","iso1000",true,null,null,1,false,false,0,"ml/day; ml per day; milliliters per day; 24 hours; 24hrs; millilitre;","LOINC","VRat","Clinical","usually used to measure fluid output or input; flow rate","l",null,"1",1,false],[false,"milliliter per deciliter","mL/dL","ML/DL","volume",0.009999999999999998,[0,0,0,0,0,0,0],"mL/dL","iso1000",true,null,null,1,false,false,0,"mL per dL; millilitres; decilitre; milliliters","LOINC","VFr; VFrDiff","Clinical","","l",null,"1",1,false],[false,"milliliter per hour","mL/h","ML/HR","volume",2.7777777777777777e-10,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"mL/hr; mL per hr; milliliters per hour; millilitres; fluid intake; fluid output","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per kilogram","mL/kg","ML/KG","volume",9.999999999999999e-10,[3,0,-1,0,0,0,0],"mL/kg","iso1000",true,null,null,1,false,false,0,"mL per kg; milliliters per kilogram; millilitres","LOINC","VCnt","Clinical","","l",null,"1",1,false],[false,"milliliter per kilogram per 8 hour","mL/kg/(8.h)","(ML/KG)/HR","volume",3.472222222222222e-14,[3,-1,-1,0,0,0,0],"(mL/kg)/h","iso1000",true,null,null,1,false,false,0,"mL/(8.h.kg); mL/kg/8hrs; mL/kg/8 hrs; mL per kg per 8hrs; 8 hrs; milliliters per kilograms per 8 hours; millilitres; shift","LOINC","VCntRat; RelEngRat","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per kilogram per day","mL/kg/d","(ML/KG)/D","volume",1.1574074074074072e-14,[3,-1,-1,0,0,0,0],"(mL/kg)/d","iso1000",true,null,null,1,false,false,0,"mL/(kg.d); mL/kg/dy; mL per kg per day; milliliters per kilograms per day; mg/kg/24hrs; 24 hrs; per 24 hours millilitres","LOINC","VCntRat; RelEngRat","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per kilogram per hour","mL/kg/h","(ML/KG)/HR","volume",2.7777777777777774e-13,[3,-1,-1,0,0,0,0],"(mL/kg)/h","iso1000",true,null,null,1,false,false,0,"mL/(kg.h); mL/kg/hr; mL per kg per hr; milliliters per kilograms per hour; millilitres","LOINC","VCntRat; RelEngRat","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per kilogram per minute","mL/kg/min","(ML/KG)/MIN","volume",1.6666666666666664e-11,[3,-1,-1,0,0,0,0],"(mL/kg)/min","iso1000",true,null,null,1,false,false,0,"mL/(kg.min); mL/kg/dy; mL per kg per day; milliliters per kilograms per day; millilitres","LOINC","RelEngRat","Clinical","used for tests that measure activity metabolic rate compared to standard resting metabolic rate ","l",null,"1",1,false],[false,"milliliter per square meter","mL/m2","ML/M2","volume",0.000001,[1,0,0,0,0,0,0],"mL/(m2)","iso1000",true,null,null,1,false,false,0,"mL/m^2; mL/sq. meter; mL per m2; m^2; sq. meter; milliliters per square meter; millilitres; meter squared","LOINC","ArVol","Clinical","used for tests that relate to heart work - e.g. ventricular stroke volume; atrial volume per body surface area","l",null,"1",1,false],[false,"milliliter per millibar","mL/mbar","ML/MBAR","volume",1e-11,[4,2,-1,0,0,0,0],"mL/mbar","iso1000",true,null,null,1,false,false,0,"mL per mbar; milliliters per millibar; millilitres","LOINC","","Clinical","unit used to measure dynamic lung compliance","l",null,"1",1,false],[false,"milliliter per minute","mL/min","ML/MIN","volume",1.6666666666666667e-8,[3,-1,0,0,0,0,0],"mL/min","iso1000",true,null,null,1,false,false,0,"mL per min; milliliters; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per minute per square meter","mL/min/m2","(ML/MIN)/M2","volume",1.6666666666666667e-8,[1,-1,0,0,0,0,0],"(mL/min)/(m2)","iso1000",true,null,null,1,false,false,0,"ml/min/m^2; ml/min/sq. meter; mL per min per m2; m^2; sq. meter; milliliters per minutes per square meter; millilitres; metre; meter squared","LOINC","ArVRat","Clinical","unit used to measure volume per body surface area; oxygen consumption index","l",null,"1",1,false],[false,"milliliter per millimeter","mL/mm","ML/MM","volume",0.001,[2,0,0,0,0,0,0],"mL/mm","iso1000",true,null,null,1,false,false,0,"mL per mm; milliliters per millimeter; millilitres; millimetre","LOINC","Lineic Volume","Clinical","","l",null,"1",1,false],[false,"milliliter per second","mL/s","ML/S","volume",0.000001,[3,-1,0,0,0,0,0],"mL/s","iso1000",true,null,null,1,false,false,0,"ml/sec; mL per sec; milliliters per second; millilitres","LOINC","Vel; VelRat; VRat","Clinical","","l",null,"1",1,false],[false,"millimeter","mm","MM","length",0.001,[1,0,0,0,0,0,0],"mm",null,false,"L",null,1,false,false,0,"millimeters; millimetres; height; length; diameter; thickness; axis; curvature; size","LOINC","Len","Clinical","",null,null,null,null,false],[false,"millimeter per hour","mm/h","MM/HR","length",2.7777777777777776e-7,[1,-1,0,0,0,0,0],"mm/h",null,false,"L",null,1,false,false,0,"mm/hr; mm per hr; millimeters per hour; millimetres","LOINC","Vel","Clinical","unit to measure sedimentation rate",null,null,null,null,false],[false,"millimeter per minute","mm/min","MM/MIN","length",0.000016666666666666667,[1,-1,0,0,0,0,0],"mm/min",null,false,"L",null,1,false,false,0,"mm per min; millimeters per minute; millimetres","LOINC","Vel","Clinical","",null,null,null,null,false],[false,"millimeter of water","mm[H2O]","MM[H2O]","pressure",9806.65,[-1,-2,1,0,0,0,0],"mm HO2","clinical",true,null,null,1,false,false,0,"mmH2O; mm H2O; millimeters of water; millimetres","LOINC","Pres","Clinical","","kPa","KPAL","980665e-5",9.80665,false],[false,"millimeter of mercury","mm[Hg]","MM[HG]","pressure",133322,[-1,-2,1,0,0,0,0],"mm Hg","clinical",true,null,null,1,false,false,0,"mmHg; mm Hg; millimeters of mercury; millimetres","LOINC","Pres; PPres; Ratio","Clinical","1 mm[Hg] = 1 torr; unit to measure blood pressure","kPa","KPAL","133.3220",133.322,false],[false,"square millimeter","mm2","MM2","length",0.000001,[2,0,0,0,0,0,0],"mm2",null,false,"L",null,1,false,false,0,"mm^2; sq. mm.; sq. millimeters; millimeters squared; millimetres","LOINC","Area","Clinical","",null,null,null,null,false],[false,"millimole","mmol","MMOL","amount of substance",602213670000000000000,[0,0,0,0,0,0,0],"mmol","si",true,null,null,1,false,false,1,"millimoles","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 12 hour","mmol/(12.h)","MMOL/HR","amount of substance",13940131250000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/12hrs; mmol/12 hrs; mmol per 12 hrs; 12hrs; millimoles per 12 hours","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 2 hour","mmol/(2.h)","MMOL/HR","amount of substance",83640787500000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/2hrs; mmol/2 hrs; mmol per 2 hrs; 2hrs; millimoles per 2 hours","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 24 hour","mmol/(24.h)","MMOL/HR","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/24hrs; mmol/24 hrs; mmol per 24 hrs; 24hrs; millimoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 5 hour","mmol/(5.h)","MMOL/HR","amount of substance",33456315000000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/5hrs; mmol/5 hrs; mmol per 5 hrs; 5hrs; millimoles per 5 hours","LOINC","SRat","Clinical","unit for tests related to doses","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 6 hour","mmol/(6.h)","MMOL/HR","amount of substance",27880262500000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/6hrs; mmol/6 hrs; mmol per 6 hrs; 6hrs; millimoles per 6 hours","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 8 hour","mmol/(8.h)","MMOL/HR","amount of substance",20910196875000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/8hrs; mmol/8 hrs; mmol per 8 hrs; 8hrs; millimoles per 8 hours; shift","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per day","mmol/d","MMOL/D","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"mmol/d","si",true,null,null,1,false,false,1,"mmol/24hrs; mmol/24 hrs; mmol per 24 hrs; 24hrs; millimoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per deciliter","mmol/dL","MMOL/DL","amount of substance",6.022136699999999e+24,[-3,0,0,0,0,0,0],"mmol/dL","si",true,null,null,1,false,false,1,"mmol per dL; millimoles; decilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per gram","mmol/g","MMOL/G","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"mmol/g","si",true,null,null,1,false,false,1,"mmol per gram; millimoles","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per hour","mmol/h","MMOL/HR","amount of substance",167281575000000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/hr; mmol per hr; millimoles per hour","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram","mmol/kg","MMOL/KG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"mmol/kg","si",true,null,null,1,false,false,1,"mmol per kg; millimoles per kilogram","LOINC","SCnt","Clinical","unit for tests related to stool","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per 8 hour","mmol/kg/(8.h)","(MMOL/KG)/HR","amount of substance",20910196875000,[0,-1,-1,0,0,0,0],"(mmol/kg)/h","si",true,null,null,1,false,false,1,"mmol/(8.h.kg); mmol/kg/8hrs; mmol/kg/8 hrs; mmol per kg per 8hrs; 8 hrs; millimoles per kilograms per 8 hours; shift","LOINC","CCnt","Clinical","unit used to measure molar dose rate per patient body mass","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per day","mmol/kg/d","(MMOL/KG)/D","amount of substance",6970065625000,[0,-1,-1,0,0,0,0],"(mmol/kg)/d","si",true,null,null,1,false,false,1,"mmol/kg/dy; mmol/kg/day; mmol per kg per dy; millimoles per kilograms per day","LOINC","RelSRat","Clinical","unit used to measure molar dose rate per patient body mass","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per hour","mmol/kg/h","(MMOL/KG)/HR","amount of substance",167281575000000,[0,-1,-1,0,0,0,0],"(mmol/kg)/h","si",true,null,null,1,false,false,1,"mmol/kg/hr; mmol per kg per hr; millimoles per kilograms per hour","LOINC","CCnt","Clinical","unit used to measure molar dose rate per patient body mass","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per minute","mmol/kg/min","(MMOL/KG)/MIN","amount of substance",10036894500000000,[0,-1,-1,0,0,0,0],"(mmol/kg)/min","si",true,null,null,1,false,false,1,"mmol/(kg.min); mmol/kg/min; mmol per kg per min; millimoles per kilograms per minute","LOINC","CCnt","Clinical","unit used to measure molar dose rate per patient body mass; note that the unit for the enzyme unit U = umol/min. mmol/kg/min = kU/kg; ","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per liter","mmol/L","MMOL/L","amount of substance",6.0221367e+23,[-3,0,0,0,0,0,0],"mmol/L","si",true,null,null,1,false,false,1,"mmol per L; millimoles per liter; litre","LOINC","SCnc","Clinical","unit for tests related to doses","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per square meter","mmol/m2","MMOL/M2","amount of substance",602213670000000000000,[-2,0,0,0,0,0,0],"mmol/(m2)","si",true,null,null,1,false,false,1,"mmol/m^2; mmol/sq. meter; mmol per m2; m^2; sq. meter; millimoles; meter squared; metre","LOINC","ArSub","Clinical","unit used to measure molar dose per patient body surface area","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per minute","mmol/min","MMOL/MIN","amount of substance",10036894500000000000,[0,-1,0,0,0,0,0],"mmol/min","si",true,null,null,1,false,false,1,"mmol per min; millimoles per minute","LOINC","Srat; CAct","Clinical","unit for the enzyme unit U = umol/min. mmol/min = kU","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per millimole","mmol/mmol","MMOL/MMOL","amount of substance",1,[0,0,0,0,0,0,0],"mmol/mmol","si",true,null,null,1,false,false,0,"mmol per mmol; millimoles per millimole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per mole","mmol/mol","MMOL/MOL","amount of substance",0.001,[0,0,0,0,0,0,0],"mmol/mol","si",true,null,null,1,false,false,0,"mmol per mol; millimoles per mole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per second per liter","mmol/s/L","(MMOL/S)/L","amount of substance",6.0221367e+23,[-3,-1,0,0,0,0,0],"(mmol/s)/L","si",true,null,null,1,false,false,1,"mmol/sec/L; mmol per s per L; per sec; millimoles per seconds per liter; litre","LOINC","CCnc ","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per kilogram","mol/kg","MOL/KG","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"mol/kg","si",true,null,null,1,false,false,1,"mol per kg; moles; mols","LOINC","SCnt","Clinical","unit for tests related to stool","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per kilogram per second","mol/kg/s","(MOL/KG)/S","amount of substance",602213670000000000000,[0,-1,-1,0,0,0,0],"(mol/kg)/s","si",true,null,null,1,false,false,1,"mol/kg/sec; mol per kg per sec; moles per kilograms per second; mols","LOINC","CCnt","Clinical","unit of catalytic activity (mol/s) per mass (kg)","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per liter","mol/L","MOL/L","amount of substance",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"mol/L","si",true,null,null,1,false,false,1,"mol per L; moles per liter; litre; moles; mols","LOINC","SCnc","Clinical","unit often used in tests measuring oxygen content","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per cubic meter","mol/m3","MOL/M3","amount of substance",6.0221367e+23,[-3,0,0,0,0,0,0],"mol/(m3)","si",true,null,null,1,false,false,1,"mol/m^3; mol/cu. m; mol per m3; m^3; cu. meter; mols; moles; meters cubed; metre; mole per kiloliter; kilolitre; mol/kL","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per milliliter","mol/mL","MOL/ML","amount of substance",6.0221367e+29,[-3,0,0,0,0,0,0],"mol/mL","si",true,null,null,1,false,false,1,"mol per mL; moles; millilitre; mols","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per mole","mol/mol","MOL/MOL","amount of substance",1,[0,0,0,0,0,0,0],"mol/mol","si",true,null,null,1,false,false,0,"mol per mol; moles per mol; mols","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per second","mol/s","MOL/S","amount of substance",6.0221367e+23,[0,-1,0,0,0,0,0],"mol/s","si",true,null,null,1,false,false,1,"mol per sec; moles per second; mols","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"milliosmole","mosm","MOSM","amount of substance (dissolved particles)",602213670000000000000,[0,0,0,0,0,0,0],"mosm","chemical",true,null,null,1,false,false,1,"milliosmoles","LOINC","Osmol","Clinical","equal to 1/1000 of an osmole","mol","MOL","1",1,false],[false,"milliosmole per kilogram","mosm/kg","MOSM/KG","amount of substance (dissolved particles)",602213670000000000,[0,0,-1,0,0,0,0],"mosm/kg","chemical",true,null,null,1,false,false,1,"mosm per kg; milliosmoles per kilogram","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"milliosmole per liter","mosm/L","MOSM/L","amount of substance (dissolved particles)",6.0221367e+23,[-3,0,0,0,0,0,0],"mosm/L","chemical",true,null,null,1,false,false,1,"mosm per liter; litre; milliosmoles","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"millipascal","mPa","MPAL","pressure",1,[-1,-2,1,0,0,0,0],"mPa","si",true,null,null,1,false,false,0,"millipascals","LOINC","Pres","Clinical","unit of pressure","N/m2","N/M2","1",1,false],[false,"millipascal second","mPa.s","MPAL.S","pressure",1,[-1,-1,1,0,0,0,0],"mPa.s","si",true,null,null,1,false,false,0,"mPa*s; millipoise; mP; dynamic viscosity","LOINC","Visc","Clinical","base units for millipoise, a measurement of dynamic viscosity","N/m2","N/M2","1",1,false],[false,"megasecond","Ms","MAS","time",1000000,[0,1,0,0,0,0,0],"Ms",null,false,"T",null,1,false,false,0,"megaseconds","LOINC","Time","Clinical","",null,null,null,null,false],[false,"millisecond","ms","MS","time",0.001,[0,1,0,0,0,0,0],"ms",null,false,"T",null,1,false,false,0,"milliseconds; duration","LOINC","Time","Clinical","",null,null,null,null,false],[false,"milli enzyme unit per gram","mU/g","MU/G","catalytic activity",10036894500000,[0,-1,-1,0,0,0,0],"mU/g","chemical",true,null,null,1,false,false,1,"mU per gm; milli enzyme units per gram; enzyme activity; enzymatic activity per mass","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per liter","mU/L","MU/L","catalytic activity",10036894500000000,[-3,-1,0,0,0,0,0],"mU/L","chemical",true,null,null,1,false,false,1,"mU per liter; litre; milli enzyme units enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per milligram","mU/mg","MU/MG","catalytic activity",10036894500000000,[0,-1,-1,0,0,0,0],"mU/mg","chemical",true,null,null,1,false,false,1,"mU per mg; milli enzyme units per milligram","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per milliliter","mU/mL","MU/ML","catalytic activity",10036894500000000000,[-3,-1,0,0,0,0,0],"mU/mL","chemical",true,null,null,1,false,false,1,"mU per mL; milli enzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per milliliter per minute","mU/mL/min","(MU/ML)/MIN","catalytic activity",167281575000000000,[-3,-2,0,0,0,0,0],"(mU/mL)/min","chemical",true,null,null,1,false,false,1,"mU per mL per min; mU per milliliters per minute; millilitres; milli enzyme units; enzymatic activity; enzyme activity","LOINC","CCncRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"millivolt","mV","MV","electric potential",1,[2,-2,1,0,0,-1,0],"mV","si",true,null,null,1,false,false,0,"millivolts","LOINC","Elpot","Clinical","unit of electric potential (voltage)","J/C","J/C","1",1,false],[false,"Newton centimeter","N.cm","N.CM","force",10,[2,-2,1,0,0,0,0],"N.cm","si",true,null,null,1,false,false,0,"N*cm; Ncm; N cm; Newton*centimeters; Newton* centimetres; torque; work","LOINC","","Clinical","as a measurement of work, N.cm = 1/100 Joules;\\nnote that N.m is the standard unit of measurement for torque (although dimensionally equivalent to Joule), and N.cm can also be thought of as a torqe unit","kg.m/s2","KG.M/S2","1",1,false],[false,"Newton second","N.s","N.S","force",1000,[1,-1,1,0,0,0,0],"N.s","si",true,null,null,1,false,false,0,"Newton*seconds; N*s; N s; Ns; impulse; imp","LOINC","","Clinical","standard unit of impulse","kg.m/s2","KG.M/S2","1",1,false],[false,"nanogram","ng","NG","mass",1e-9,[0,0,1,0,0,0,0],"ng",null,false,"M",null,1,false,false,0,"nanograms","LOINC","Mass","Clinical","",null,null,null,null,false],[false,"nanogram per 24 hour","ng/(24.h)","NG/HR","mass",1.1574074074074075e-14,[0,-1,1,0,0,0,0],"ng/h",null,false,"M",null,1,false,false,0,"ng/24hrs; ng/24 hrs; nanograms per 24 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"nanogram per 8 hour","ng/(8.h)","NG/HR","mass",3.4722222222222224e-14,[0,-1,1,0,0,0,0],"ng/h",null,false,"M",null,1,false,false,0,"ng/8hrs; ng/8 hrs; nanograms per 8 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"nanogram per million","ng/10*6","NG/(10*6)","mass",1e-15,[0,0,1,0,0,0,0],"ng/(106)",null,false,"M",null,1,false,false,0,"ng/10^6; ng per 10*6; 10^6; nanograms","LOINC","MNum","Clinical","",null,null,null,null,false],[false,"nanogram per day","ng/d","NG/D","mass",1.1574074074074075e-14,[0,-1,1,0,0,0,0],"ng/d",null,false,"M",null,1,false,false,0,"ng/dy; ng per day; nanograms ","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"nanogram per deciliter","ng/dL","NG/DL","mass",0.00001,[-3,0,1,0,0,0,0],"ng/dL",null,false,"M",null,1,false,false,0,"ng per dL; nanograms per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"nanogram per gram","ng/g","NG/G","mass",1e-9,[0,0,0,0,0,0,0],"ng/g",null,false,"M",null,1,false,false,0,"ng/gm; ng per gm; nanograms per gram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"nanogram per hour","ng/h","NG/HR","mass",2.777777777777778e-13,[0,-1,1,0,0,0,0],"ng/h",null,false,"M",null,1,false,false,0,"ng/hr; ng per hr; nanograms per hour","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"nanogram per kilogram","ng/kg","NG/KG","mass",1e-12,[0,0,0,0,0,0,0],"ng/kg",null,false,"M",null,1,false,false,0,"ng per kg; nanograms per kilogram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"nanogram per kilogram per 8 hour","ng/kg/(8.h)","(NG/KG)/HR","mass",3.472222222222222e-17,[0,-1,0,0,0,0,0],"(ng/kg)/h",null,false,"M",null,1,false,false,0,"ng/(8.h.kg); ng/kg/8hrs; ng/kg/8 hrs; ng per kg per 8hrs; 8 hrs; nanograms per kilograms per 8 hours; shift","LOINC","MRtoRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"nanogram per kilogram per hour","ng/kg/h","(NG/KG)/HR","mass",2.7777777777777775e-16,[0,-1,0,0,0,0,0],"(ng/kg)/h",null,false,"M",null,1,false,false,0,"ng/(kg.h); ng/kg/hr; ng per kg per hr; nanograms per kilograms per hour","LOINC","MRtoRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"nanogram per kilogram per minute","ng/kg/min","(NG/KG)/MIN","mass",1.6666666666666667e-14,[0,-1,0,0,0,0,0],"(ng/kg)/min",null,false,"M",null,1,false,false,0,"ng/(kg.min); ng per kg per min; nanograms per kilograms per minute","LOINC","MRtoRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"nanogram per liter","ng/L","NG/L","mass",0.000001,[-3,0,1,0,0,0,0],"ng/L",null,false,"M",null,1,false,false,0,"ng per L; nanograms per liter; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"nanogram per square meter","ng/m2","NG/M2","mass",1e-9,[-2,0,1,0,0,0,0],"ng/(m2)",null,false,"M",null,1,false,false,0,"ng/m^2; ng/sq. m; ng per m2; m^2; sq. meter; nanograms; meter squared; metre","LOINC","ArMass","Clinical","unit used to measure mass dose per patient body surface area",null,null,null,null,false],[false,"nanogram per milligram","ng/mg","NG/MG","mass",0.000001,[0,0,0,0,0,0,0],"ng/mg",null,false,"M",null,1,false,false,0,"ng per mg; nanograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"nanogram per milligram per hour","ng/mg/h","(NG/MG)/HR","mass",2.7777777777777777e-10,[0,-1,0,0,0,0,0],"(ng/mg)/h",null,false,"M",null,1,false,false,0,"ng/mg/hr; ng per mg per hr; nanograms per milligrams per hour","LOINC","MRtoRat ","Clinical","",null,null,null,null,false],[false,"nanogram per minute","ng/min","NG/MIN","mass",1.6666666666666667e-11,[0,-1,1,0,0,0,0],"ng/min",null,false,"M",null,1,false,false,0,"ng per min; nanograms","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"nanogram per millliiter","ng/mL","NG/ML","mass",0.001,[-3,0,1,0,0,0,0],"ng/mL",null,false,"M",null,1,false,false,0,"ng per mL; nanograms; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"nanogram per milliliter per hour","ng/mL/h","(NG/ML)/HR","mass",2.7777777777777776e-7,[-3,-1,1,0,0,0,0],"(ng/mL)/h",null,false,"M",null,1,false,false,0,"ng/mL/hr; ng per mL per mL; nanograms per milliliter per hour; nanogram per millilitre per hour; nanograms per millilitre per hour; enzymatic activity per volume; enzyme activity per milliliters","LOINC","CCnc","Clinical","tests that measure enzymatic activity",null,null,null,null,false],[false,"nanogram per second","ng/s","NG/S","mass",1e-9,[0,-1,1,0,0,0,0],"ng/s",null,false,"M",null,1,false,false,0,"ng/sec; ng per sec; nanograms per second","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"nanogram per enzyme unit","ng/U","NG/U","mass",9.963241120049634e-26,[0,1,1,0,0,0,0],"ng/U",null,false,"M",null,1,false,false,-1,"ng per U; nanograms per enzyme unit","LOINC","CMass","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)",null,null,null,null,false],[false,"nanokatal","nkat","NKAT","catalytic activity",602213670000000,[0,-1,0,0,0,0,0],"nkat","chemical",true,null,null,1,false,false,1,"nanokatals","LOINC","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"nanoliter","nL","NL","volume",1.0000000000000002e-12,[3,0,0,0,0,0,0],"nL","iso1000",true,null,null,1,false,false,0,"nanoliters; nanolitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"nanometer","nm","NM","length",1e-9,[1,0,0,0,0,0,0],"nm",null,false,"L",null,1,false,false,0,"nanometers; nanometres","LOINC","Len","Clinical","",null,null,null,null,false],[false,"nanometer per second per liter","nm/s/L","(NM/S)/L","length",0.000001,[-2,-1,0,0,0,0,0],"(nm/s)/L",null,false,"L",null,1,false,false,0,"nm/sec/liter; nm/sec/litre; nm per s per l; nm per sec per l; nanometers per second per liter; nanometre per second per litre; nanometres per second per litre","LOINC","VelCnc","Clinical","",null,null,null,null,false],[false,"nanomole","nmol","NMOL","amount of substance",602213670000000,[0,0,0,0,0,0,0],"nmol","si",true,null,null,1,false,false,1,"nanomoles","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per 24 hour","nmol/(24.h)","NMOL/HR","amount of substance",6970065625,[0,-1,0,0,0,0,0],"nmol/h","si",true,null,null,1,false,false,1,"nmol/24hr; nmol/24 hr; nanomoles per 24 hours; nmol/day; nanomoles per day; nmol per day; nanomole/day; nanomol/day","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per day","nmol/d","NMOL/D","amount of substance",6970065625,[0,-1,0,0,0,0,0],"nmol/d","si",true,null,null,1,false,false,1,"nmol/day; nanomoles per day; nmol per day; nanomole/day; nanomol/day; nmol/24hr; nmol/24 hr; nanomoles per 24 hours; ","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per deciliter","nmol/dL","NMOL/DL","amount of substance",6022136700000000000,[-3,0,0,0,0,0,0],"nmol/dL","si",true,null,null,1,false,false,1,"nmol per dL; nanomoles per deciliter; nanomole per decilitre; nanomoles per decilitre; nanomole/deciliter; nanomole/decilitre; nanomol/deciliter; nanomol/decilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per gram","nmol/g","NMOL/G","amount of substance",602213670000000,[0,0,-1,0,0,0,0],"nmol/g","si",true,null,null,1,false,false,1,"nmol per gram; nanomoles per gram; nanomole/gram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per hour per liter","nmol/h/L","(NMOL/HR)/L","amount of substance",167281575000000,[-3,-1,0,0,0,0,0],"(nmol/h)/L","si",true,null,null,1,false,false,1,"nmol/hrs/L; nmol per hrs per L; nanomoles per hours per liter; litre; enzymatic activity per volume; enzyme activities","LOINC","CCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per liter","nmol/L","NMOL/L","amount of substance",602213670000000000,[-3,0,0,0,0,0,0],"nmol/L","si",true,null,null,1,false,false,1,"nmol per L; nanomoles per liter; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milligram","nmol/mg","NMOL/MG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"nmol/mg","si",true,null,null,1,false,false,1,"nmol per mg; nanomoles per milligram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milligram per hour","nmol/mg/h","(NMOL/MG)/HR","amount of substance",167281575000000,[0,-1,-1,0,0,0,0],"(nmol/mg)/h","si",true,null,null,1,false,false,1,"nmol/mg/hr; nmol per mg per hr; nanomoles per milligrams per hour","LOINC","SCntRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milligram of protein","nmol/mg{prot}","NMOL/MG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"nmol/mg","si",true,null,null,1,false,false,1,"nanomoles; nmol/mg prot; nmol per mg prot","LOINC","Ratio; CCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per minute","nmol/min","NMOL/MIN","amount of substance",10036894500000,[0,-1,0,0,0,0,0],"nmol/min","si",true,null,null,1,false,false,1,"nmol per min; nanomoles per minute; milli enzyme units; enzyme activity per volume; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. nmol/min = mU (milli enzyme unit)","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per minute per milliliter","nmol/min/mL","(NMOL/MIN)/ML","amount of substance",10036894500000000000,[-3,-1,0,0,0,0,0],"(nmol/min)/mL","si",true,null,null,1,false,false,1,"nmol per min per mL; nanomoles per minutes per milliliter; millilitre; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. nmol/mL/min = mU/mL","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milliliter","nmol/mL","NMOL/ML","amount of substance",602213670000000000000,[-3,0,0,0,0,0,0],"nmol/mL","si",true,null,null,1,false,false,1,"nmol per mL; nanomoles per milliliter; millilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milliliter per hour","nmol/mL/h","(NMOL/ML)/HR","amount of substance",167281575000000000,[-3,-1,0,0,0,0,0],"(nmol/mL)/h","si",true,null,null,1,false,false,1,"nmol/mL/hr; nmol per mL per hr; nanomoles per milliliters per hour; millilitres; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min.","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milliliter per minute","nmol/mL/min","(NMOL/ML)/MIN","amount of substance",10036894500000000000,[-3,-1,0,0,0,0,0],"(nmol/mL)/min","si",true,null,null,1,false,false,1,"nmol per mL per min; nanomoles per milliliters per min; millilitres; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. nmol/mL/min = mU/mL","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per millimole","nmol/mmol","NMOL/MMOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"nmol/mmol","si",true,null,null,1,false,false,0,"nmol per mmol; nanomoles per millimole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per millimole of creatinine","nmol/mmol{creat}","NMOL/MMOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"nmol/mmol","si",true,null,null,1,false,false,0,"nanomoles","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per mole","nmol/mol","NMOL/MOL","amount of substance",1e-9,[0,0,0,0,0,0,0],"nmol/mol","si",true,null,null,1,false,false,0,"nmol per mole; nanomoles","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per nanomole","nmol/nmol","NMOL/NMOL","amount of substance",1,[0,0,0,0,0,0,0],"nmol/nmol","si",true,null,null,1,false,false,0,"nmol per nmol; nanomoles","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per second","nmol/s","NMOL/S","amount of substance",602213670000000,[0,-1,0,0,0,0,0],"nmol/s","si",true,null,null,1,false,false,1,"nmol/sec; nmol per sec; nanomoles per sercond; milli enzyme units; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min.","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per second per liter","nmol/s/L","(NMOL/S)/L","amount of substance",602213670000000000,[-3,-1,0,0,0,0,0],"(nmol/s)/L","si",true,null,null,1,false,false,1,"nmol/sec/L; nmol per s per L; nmol per sec per L; nanomoles per seconds per liter; litre; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min.","10*23","10*23","6.0221367",6.0221367,false],[false,"nanosecond","ns","NS","time",1e-9,[0,1,0,0,0,0,0],"ns",null,false,"T",null,1,false,false,0,"nanoseconds","LOINC","Time","Clinical","",null,null,null,null,false],[false,"nanoenzyme unit per milliliter","nU/mL","NU/ML","catalytic activity",10036894500000,[-3,-1,0,0,0,0,0],"nU/mL","chemical",true,null,null,1,false,false,1,"nU per mL; nanoenzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 fU = pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"Ohm meter","Ohm.m","OHM.M","electric resistance",1000,[3,-1,1,0,0,-2,0],"Ω.m","si",true,null,null,1,false,false,0,"electric resistivity; meters; metres","LOINC","","Clinical","unit of electric resistivity","V/A","V/A","1",1,false],[false,"osmole per kilogram","osm/kg","OSM/KG","amount of substance (dissolved particles)",602213670000000000000,[0,0,-1,0,0,0,0],"osm/kg","chemical",true,null,null,1,false,false,1,"osm per kg; osmoles per kilogram; osmols","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"osmole per liter","osm/L","OSM/L","amount of substance (dissolved particles)",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"osm/L","chemical",true,null,null,1,false,false,1,"osm per L; osmoles per liter; litre; osmols","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"picoampere","pA","PA","electric current",1e-12,[0,-1,0,0,0,1,0],"pA","si",true,null,null,1,false,false,0,"picoamperes","LOINC","","Clinical","equal to 10^-12 amperes","C/s","C/S","1",1,false],[false,"picogram","pg","PG","mass",1e-12,[0,0,1,0,0,0,0],"pg",null,false,"M",null,1,false,false,0,"picograms","LOINC","Mass; EntMass","Clinical","",null,null,null,null,false],[false,"picogram per deciliter","pg/dL","PG/DL","mass",9.999999999999999e-9,[-3,0,1,0,0,0,0],"pg/dL",null,false,"M",null,1,false,false,0,"pg per dL; picograms; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"picogram per liter","pg/L","PG/L","mass",1e-9,[-3,0,1,0,0,0,0],"pg/L",null,false,"M",null,1,false,false,0,"pg per L; picograms; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"picogram per milligram","pg/mg","PG/MG","mass",1e-9,[0,0,0,0,0,0,0],"pg/mg",null,false,"M",null,1,false,false,0,"pg per mg; picograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"picogram per milliliter","pg/mL","PG/ML","mass",0.000001,[-3,0,1,0,0,0,0],"pg/mL",null,false,"M",null,1,false,false,0,"pg per mL; picograms per milliliter; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"picogram per millimeter","pg/mm","PG/MM","mass",1e-9,[-1,0,1,0,0,0,0],"pg/mm",null,false,"M",null,1,false,false,0,"pg per mm; picogram/millimeter; picogram/millimetre; picograms per millimeter; millimetre","LOINC","Lineic Mass","Clinical","",null,null,null,null,false],[false,"picokatal","pkat","PKAT","catalytic activity",602213670000,[0,-1,0,0,0,0,0],"pkat","chemical",true,null,null,1,false,false,1,"pkats; picokatals","LOINC","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"picoliter","pL","PL","volume",1e-15,[3,0,0,0,0,0,0],"pL","iso1000",true,null,null,1,false,false,0,"picoliters; picolitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"picometer","pm","PM","length",1e-12,[1,0,0,0,0,0,0],"pm",null,false,"L",null,1,false,false,0,"picometers; picometres","LOINC","Len","Clinical","",null,null,null,null,false],[false,"picomole","pmol","PMOL","amount of substance",602213670000,[0,0,0,0,0,0,0],"pmol","si",true,null,null,1,false,false,1,"picomoles; pmols","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per 24 hour","pmol/(24.h)","PMOL/HR","amount of substance",6970065.625,[0,-1,0,0,0,0,0],"pmol/h","si",true,null,null,1,false,false,1,"pmol/24hrs; pmol/24 hrs; pmol per 24 hrs; 24hrs; days; dy; picomoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per day","pmol/d","PMOL/D","amount of substance",6970065.625,[0,-1,0,0,0,0,0],"pmol/d","si",true,null,null,1,false,false,1,"pmol/dy; pmol per day; 24 hours; 24hrs; 24 hrs; picomoles","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per deciliter","pmol/dL","PMOL/DL","amount of substance",6022136700000000,[-3,0,0,0,0,0,0],"pmol/dL","si",true,null,null,1,false,false,1,"pmol per dL; picomoles per deciliter; decilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per gram","pmol/g","PMOL/G","amount of substance",602213670000,[0,0,-1,0,0,0,0],"pmol/g","si",true,null,null,1,false,false,1,"pmol per gm; picomoles per gram; picomole/gram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per hour per milliliter ","pmol/h/mL","(PMOL/HR)/ML","amount of substance",167281575000000,[-3,-1,0,0,0,0,0],"(pmol/h)/mL","si",true,null,null,1,false,false,1,"pmol/hrs/mL; pmol per hrs per mL; picomoles per hour per milliliter; millilitre; micro enzyme units per volume; enzymatic activity; enzyme activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. ","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per liter","pmol/L","PMOL/L","amount of substance",602213670000000,[-3,0,0,0,0,0,0],"pmol/L","si",true,null,null,1,false,false,1,"picomole/liter; pmol per L; picomoles; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per minute","pmol/min","PMOL/MIN","amount of substance",10036894500,[0,-1,0,0,0,0,0],"pmol/min","si",true,null,null,1,false,false,1,"picomole/minute; pmol per min; picomoles per minute; micro enzyme units; enzymatic activity; enzyme activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. pmol/min = uU (micro enzyme unit)","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per milliliter","pmol/mL","PMOL/ML","amount of substance",602213670000000000,[-3,0,0,0,0,0,0],"pmol/mL","si",true,null,null,1,false,false,1,"picomole/milliliter; picomole/millilitre; pmol per mL; picomoles; millilitre; picomols; pmols","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per micromole","pmol/umol","PMOL/UMOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"pmol/μmol","si",true,null,null,1,false,false,0,"pmol/mcgmol; picomole/micromole; pmol per umol; pmol per mcgmol; picomoles ","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picosecond","ps","PS","time",1e-12,[0,1,0,0,0,0,0],"ps",null,false,"T",null,1,false,false,0,"picoseconds; psec","LOINC","Time","Clinical","",null,null,null,null,false],[false,"picotesla","pT","PT","magnetic flux density",1e-9,[0,-1,1,0,0,-1,0],"pT","si",true,null,null,1,false,false,0,"picoteslas","LOINC","","Clinical","SI unit of magnetic field strength for magnetic field B","Wb/m2","WB/M2","1",1,false],[false,"enzyme unit per 12 hour","U/(12.h)","U/HR","catalytic activity",232335520833.33334,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/12hrs; U/ 12hrs; U per 12 hrs; 12hrs; enzyme units per 12 hours; enzyme activity; enzymatic activity per time; umol per min per 12 hours; micromoles per minute per 12 hours; umol/min/12hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 2 hour","U/(2.h)","U/HR","catalytic activity",1394013125000,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/2hrs; U/ 2hrs; U per 2 hrs; 2hrs; enzyme units per 2 hours; enzyme activity; enzymatic activity per time; umol per minute per 2 hours; micromoles per minute; umol/min/2hr; umol per min per 2hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 24 hour","U/(24.h)","U/HR","catalytic activity",116167760416.66667,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/24hrs; U/ 24hrs; U per 24 hrs; 24hrs; enzyme units per 24 hours; enzyme activity; enzymatic activity per time; micromoles per minute per 24 hours; umol/min/24hr; umol per min per 24hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 10","U/10","U","catalytic activity",1003689450000000,[0,-1,0,0,0,0,0],"U","chemical",true,null,null,1,false,false,1,"enzyme unit/10; U per 10; enzyme units per 10; enzymatic activity; enzyme activity; micromoles per minute; umol/min/10","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 10 billion","U/10*10","U/(10*10)","catalytic activity",1003689.45,[0,-1,0,0,0,0,0],"U/(1010)","chemical",true,null,null,1,false,false,1,"U per 10*10; enzyme units per 10*10; U per 10 billion; enzyme units; enzymatic activity; micromoles per minute per 10 billion; umol/min/10*10","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per trillion","U/10*12","U/(10*12)","catalytic activity",10036.8945,[0,-1,0,0,0,0,0],"U/(1012)","chemical",true,null,null,1,false,false,1,"enzyme unit/10*12; U per 10*12; enzyme units per 10*12; enzyme units per trillion; enzymatic activity; micromoles per minute per trillion; umol/min/10*12; umol per min per 10*12","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per million","U/10*6","U/(10*6)","catalytic activity",10036894500,[0,-1,0,0,0,0,0],"U/(106)","chemical",true,null,null,1,false,false,1,"enzyme unit/10*6; U per 10*6; enzyme units per 10*6; enzyme units; enzymatic activity per volume; micromoles per minute per million; umol/min/10*6; umol per min per 10*6","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per billion","U/10*9","U/(10*9)","catalytic activity",10036894.5,[0,-1,0,0,0,0,0],"U/(109)","chemical",true,null,null,1,false,false,1,"enzyme unit/10*9; U per 10*9; enzyme units per 10*9; enzymatic activity per volume; micromoles per minute per billion; umol/min/10*9; umol per min per 10*9","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per day","U/d","U/D","catalytic activity",116167760416.66667,[0,-2,0,0,0,0,0],"U/d","chemical",true,null,null,1,false,false,1,"U/dy; enzyme units per day; enzyme units; enzyme activity; enzymatic activity per time; micromoles per minute per day; umol/min/day; umol per min per day","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per deciliter","U/dL","U/DL","catalytic activity",100368945000000000000,[-3,-1,0,0,0,0,0],"U/dL","chemical",true,null,null,1,false,false,1,"U per dL; enzyme units per deciliter; decilitre; micromoles per minute per deciliter; umol/min/dL; umol per min per dL","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per gram","U/g","U/G","catalytic activity",10036894500000000,[0,-1,-1,0,0,0,0],"U/g","chemical",true,null,null,1,false,false,1,"U/gm; U per gm; enzyme units per gram; micromoles per minute per gram; umol/min/g; umol per min per g","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per hour","U/h","U/HR","catalytic activity",2788026250000,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/hr; U per hr; enzyme units per hour; micromoles per minute per hour; umol/min/hr; umol per min per hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per liter","U/L","U/L","catalytic activity",10036894500000000000,[-3,-1,0,0,0,0,0],"U/L","chemical",true,null,null,1,false,false,1,"enzyme unit/liter; enzyme unit/litre; U per L; enzyme units per liter; enzyme unit per litre; micromoles per minute per liter; umol/min/L; umol per min per L","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per minute","U/min","U/MIN","catalytic activity",167281575000000,[0,-2,0,0,0,0,0],"U/min","chemical",true,null,null,1,false,false,1,"enzyme unit/minute; U per min; enzyme units; umol/min/min; micromoles per minute per minute; micromoles per min per min; umol","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per milliliter","U/mL","U/ML","catalytic activity",1.00368945e+22,[-3,-1,0,0,0,0,0],"U/mL","chemical",true,null,null,1,false,false,1,"U per mL; enzyme units per milliliter; millilitre; micromoles per minute per milliliter; umol/min/mL; umol per min per mL","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per second","U/s","U/S","catalytic activity",10036894500000000,[0,-2,0,0,0,0,0],"U/s","chemical",true,null,null,1,false,false,1,"U/sec; U per second; enzyme units per second; micromoles per minute per second; umol/min/sec; umol per min per sec","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"micro international unit","u[IU]","U[IU]","arbitrary",0.000001,[0,0,0,0,0,0,0],"μi.U.","chemical",true,null,null,1,false,true,0,"uIU; u IU; microinternational units","LOINC","Arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"micro international unit per liter","u[IU]/L","U[IU]/L","arbitrary",0.001,[-3,0,0,0,0,0,0],"(μi.U.)/L","chemical",true,null,null,1,false,true,0,"uIU/L; u IU/L; uIU per L; microinternational units per liter; litre; ","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"micro international unit per milliliter","u[IU]/mL","U[IU]/ML","arbitrary",1,[-3,0,0,0,0,0,0],"(μi.U.)/mL","chemical",true,null,null,1,false,true,0,"uIU/mL; u IU/mL; uIU per mL; microinternational units per milliliter; millilitre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"microequivalent","ueq","UEQ","amount of substance",602213670000000000,[0,0,0,0,0,0,0],"μeq","chemical",true,null,null,1,false,false,1,"microequivalents; 10^-6 equivalents; 10-6 equivalents","LOINC","Sub","Clinical","","mol","MOL","1",1,false],[false,"microequivalent per liter","ueq/L","UEQ/L","amount of substance",602213670000000000000,[-3,0,0,0,0,0,0],"μeq/L","chemical",true,null,null,1,false,false,1,"ueq per liter; litre; microequivalents","LOINC","MCnc","Clinical","","mol","MOL","1",1,false],[false,"microequivalent per milliliter","ueq/mL","UEQ/ML","amount of substance",6.0221367000000003e+23,[-3,0,0,0,0,0,0],"μeq/mL","chemical",true,null,null,1,false,false,1,"ueq per milliliter; millilitre; microequivalents","LOINC","MCnc","Clinical","","mol","MOL","1",1,false],[false,"microgram","ug","UG","mass",0.000001,[0,0,1,0,0,0,0],"μg",null,false,"M",null,1,false,false,0,"mcg; micrograms; 10^-6 grams; 10-6 grams","LOINC","Mass","Clinical","",null,null,null,null,false],[false,"microgram per 100 gram","ug/(100.g)","UG/G","mass",1e-8,[0,0,0,0,0,0,0],"μg/g",null,false,"M",null,1,false,false,0,"ug/100gm; ug/100 gm; mcg; ug per 100g; 100 gm; mcg per 100g; micrograms per 100 grams","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"microgram per 24 hour","ug/(24.h)","UG/HR","mass",1.1574074074074074e-11,[0,-1,1,0,0,0,0],"μg/h",null,false,"M",null,1,false,false,0,"ug/24hrs; ug/24 hrs; mcg/24hrs; ug per 24hrs; mcg per 24hrs; 24 hrs; micrograms per 24 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"microgram per 8 hour","ug/(8.h)","UG/HR","mass",3.472222222222222e-11,[0,-1,1,0,0,0,0],"μg/h",null,false,"M",null,1,false,false,0,"ug/8hrs; ug/8 hrs; mcg/8hrs; ug per 8hrs; mcg per 8hrs; 8 hrs; micrograms per 8 hours; shift","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"microgram per square foot (international)","ug/[sft_i]","UG/[SFT_I]","mass",0.000010763910416709721,[-2,0,1,0,0,0,0],"μg",null,false,"M",null,1,false,false,0,"ug/sft; ug/ft2; ug/ft^2; ug/sq. ft; micrograms; sq. foot; foot squared","LOINC","ArMass","Clinical","",null,null,null,null,false],[false,"microgram per day","ug/d","UG/D","mass",1.1574074074074074e-11,[0,-1,1,0,0,0,0],"μg/d",null,false,"M",null,1,false,false,0,"ug/dy; mcg/dy; ug per day; mcg; micrograms per day","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"microgram per deciliter","ug/dL","UG/DL","mass",0.009999999999999998,[-3,0,1,0,0,0,0],"μg/dL",null,false,"M",null,1,false,false,0,"ug per dL; mcg/dl; mcg per dl; micrograms per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"microgram per gram","ug/g","UG/G","mass",0.000001,[0,0,0,0,0,0,0],"μg/g",null,false,"M",null,1,false,false,0,"ug per gm; mcg/gm; mcg per g; micrograms per gram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"microgram per hour","ug/h","UG/HR","mass",2.7777777777777777e-10,[0,-1,1,0,0,0,0],"μg/h",null,false,"M",null,1,false,false,0,"ug/hr; mcg/hr; mcg per hr; ug per hr; ug per hour; micrograms","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"microgram per kilogram","ug/kg","UG/KG","mass",9.999999999999999e-10,[0,0,0,0,0,0,0],"μg/kg",null,false,"M",null,1,false,false,0,"ug per kg; mcg/kg; mcg per kg; micrograms per kilogram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"microgram per kilogram per 8 hour","ug/kg/(8.h)","(UG/KG)/HR","mass",3.472222222222222e-14,[0,-1,0,0,0,0,0],"(μg/kg)/h",null,false,"M",null,1,false,false,0,"ug/kg/8hrs; mcg/kg/8hrs; ug/kg/8 hrs; mcg/kg/8 hrs; ug per kg per 8hrs; 8 hrs; mcg per kg per 8hrs; micrograms per kilograms per 8 hours; shift","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"microgram per kilogram per day","ug/kg/d","(UG/KG)/D","mass",1.1574074074074072e-14,[0,-1,0,0,0,0,0],"(μg/kg)/d",null,false,"M",null,1,false,false,0,"ug/(kg.d); ug/kg/dy; mcg/kg/day; ug per kg per dy; 24 hours; 24hrs; mcg; kilograms; microgram per kilogram and day","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"microgram per kilogram per hour","ug/kg/h","(UG/KG)/HR","mass",2.7777777777777774e-13,[0,-1,0,0,0,0,0],"(μg/kg)/h",null,false,"M",null,1,false,false,0,"ug/(kg.h); ug/kg/hr; mcg/kg/hr; ug per kg per hr; mcg per kg per hr; kilograms","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"microgram per kilogram per minute","ug/kg/min","(UG/KG)/MIN","mass",1.6666666666666664e-11,[0,-1,0,0,0,0,0],"(μg/kg)/min",null,false,"M",null,1,false,false,0,"ug/kg/min; ug/kg/min; mcg/kg/min; ug per kg per min; mcg; micrograms per kilograms per minute ","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"microgram per liter","ug/L","UG/L","mass",0.001,[-3,0,1,0,0,0,0],"μg/L",null,false,"M",null,1,false,false,0,"mcg/L; ug per L; mcg; micrograms per liter; litre ","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"microgram per liter per 24 hour","ug/L/(24.h)","(UG/L)/HR","mass",1.1574074074074074e-8,[-3,-1,1,0,0,0,0],"(μg/L)/h",null,false,"M",null,1,false,false,0,"ug/L/24hrs; ug/L/24 hrs; mcg/L/24hrs; ug per L per 24hrs; 24 hrs; day; dy mcg; micrograms per liters per 24 hours; litres","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"microgram per square meter","ug/m2","UG/M2","mass",0.000001,[-2,0,1,0,0,0,0],"μg/(m2)",null,false,"M",null,1,false,false,0,"ug/m^2; ug/sq. m; mcg/m2; mcg/m^2; mcg/sq. m; ug per m2; m^2; sq. meter; mcg; micrograms per square meter; meter squared; metre","LOINC","ArMass","Clinical","unit used to measure mass dose per patient body surface area",null,null,null,null,false],[false,"microgram per cubic meter","ug/m3","UG/M3","mass",0.000001,[-3,0,1,0,0,0,0],"μg/(m3)",null,false,"M",null,1,false,false,0,"ug/m^3; ug/cu. m; mcg/m3; mcg/m^3; mcg/cu. m; ug per m3; ug per m^3; ug per cu. m; mcg; micrograms per cubic meter; meter cubed; metre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"microgram per milligram","ug/mg","UG/MG","mass",0.001,[0,0,0,0,0,0,0],"μg/mg",null,false,"M",null,1,false,false,0,"ug per mg; mcg/mg; mcg per mg; micromilligrams per milligram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"microgram per minute","ug/min","UG/MIN","mass",1.6666666666666667e-8,[0,-1,1,0,0,0,0],"μg/min",null,false,"M",null,1,false,false,0,"ug per min; mcg/min; mcg per min; microminutes per minute","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"microgram per milliliter","ug/mL","UG/ML","mass",1,[-3,0,1,0,0,0,0],"μg/mL",null,false,"M",null,1,false,false,0,"ug per mL; mcg/mL; mcg per mL; micrograms per milliliter; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"microgram per millimole","ug/mmol","UG/MMOL","mass",1.660540186674939e-27,[0,0,1,0,0,0,0],"μg/mmol",null,false,"M",null,1,false,false,-1,"ug per mmol; mcg/mmol; mcg per mmol; micrograms per millimole","LOINC","Ratio","Clinical","",null,null,null,null,false],[false,"microgram per nanogram","ug/ng","UG/NG","mass",999.9999999999999,[0,0,0,0,0,0,0],"μg/ng",null,false,"M",null,1,false,false,0,"ug per ng; mcg/ng; mcg per ng; micrograms per nanogram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"microkatal","ukat","UKAT","catalytic activity",602213670000000000,[0,-1,0,0,0,0,0],"μkat","chemical",true,null,null,1,false,false,1,"microkatals; ukats","LOINC","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"microliter","uL","UL","volume",1e-9,[3,0,0,0,0,0,0],"μL","iso1000",true,null,null,1,false,false,0,"microliters; microlitres; mcl","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"microliter per 2 hour","uL/(2.h)","UL/HR","volume",1.388888888888889e-13,[3,-1,0,0,0,0,0],"μL/h","iso1000",true,null,null,1,false,false,0,"uL/2hrs; uL/2 hrs; mcg/2hr; mcg per 2hr; uL per 2hr; uL per 2 hrs; microliters per 2 hours; microlitres ","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"microliter per hour","uL/h","UL/HR","volume",2.777777777777778e-13,[3,-1,0,0,0,0,0],"μL/h","iso1000",true,null,null,1,false,false,0,"uL/hr; mcg/hr; mcg per hr; uL per hr; microliters per hour; microlitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"micrometer","um","UM","length",0.000001,[1,0,0,0,0,0,0],"μm",null,false,"L",null,1,false,false,0,"micrometers; micrometres; μm; microns","LOINC","Len","Clinical","Unit of length that is usually used in tests related to the eye",null,null,null,null,false],[false,"microns per second","um/s","UM/S","length",0.000001,[1,-1,0,0,0,0,0],"μm/s",null,false,"L",null,1,false,false,0,"um/sec; micron/second; microns/second; um per sec; micrometers per second; micrometres","LOINC","Vel","Clinical","",null,null,null,null,false],[false,"micromole","umol","UMOL","amount of substance",602213670000000000,[0,0,0,0,0,0,0],"μmol","si",true,null,null,1,false,false,1,"micromoles; umols","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per 2 hour","umol/(2.h)","UMOL/HR","amount of substance",83640787500000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/2hrs; umol/2 hrs; umol per 2 hrs; 2hrs; micromoles per 2 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per 24 hour","umol/(24.h)","UMOL/HR","amount of substance",6970065625000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/24hrs; umol/24 hrs; umol per 24 hrs; per 24hrs; micromoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per 8 hour","umol/(8.h)","UMOL/HR","amount of substance",20910196875000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/8hr; umol/8 hr; umol per 8 hr; umol per 8hr; umols per 8hr; umol per 8 hours; micromoles per 8 hours; shift","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per day","umol/d","UMOL/D","amount of substance",6970065625000,[0,-1,0,0,0,0,0],"μmol/d","si",true,null,null,1,false,false,1,"umol/day; umol per day; umols per day; umol per days; micromoles per days; umol/24hr; umol/24 hr; umol per 24 hr; umol per 24hr; umols per 24hr; umol per 24 hours; micromoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per deciliter","umol/dL","UMOL/DL","amount of substance",6.0221367e+21,[-3,0,0,0,0,0,0],"μmol/dL","si",true,null,null,1,false,false,1,"micromole/deciliter; micromole/decilitre; umol per dL; micromoles per deciliters; micromole per decilitres","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per gram","umol/g","UMOL/G","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"μmol/g","si",true,null,null,1,false,false,1,"micromole/gram; umol per g; micromoles per gram","LOINC","SCnt; Ratio","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per hour","umol/h","UMOL/HR","amount of substance",167281575000000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/hr; umol per hr; umol per hour; micromoles per hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per kilogram","umol/kg","UMOL/KG","amount of substance",602213670000000,[0,0,-1,0,0,0,0],"μmol/kg","si",true,null,null,1,false,false,1,"umol per kg; micromoles per kilogram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per liter","umol/L","UMOL/L","amount of substance",602213670000000000000,[-3,0,0,0,0,0,0],"μmol/L","si",true,null,null,1,false,false,1,"micromole/liter; micromole/litre; umol per liter; micromoles per liter; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per liter per hour","umol/L/h","(UMOL/L)/HR","amount of substance",167281575000000000,[-3,-1,0,0,0,0,0],"(μmol/L)/h","si",true,null,null,1,false,false,1,"umol/liter/hr; umol/litre/hr; umol per L per hr; umol per liter per hour; micromoles per liters per hour; litre","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min; umol/L/h is a derived unit of enzyme units","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per milligram","umol/mg","UMOL/MG","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"μmol/mg","si",true,null,null,1,false,false,1,"micromole/milligram; umol per mg; micromoles per milligram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per minute","umol/min","UMOL/MIN","amount of substance",10036894500000000,[0,-1,0,0,0,0,0],"μmol/min","si",true,null,null,1,false,false,1,"micromole/minute; umol per min; micromoles per minute; enzyme units","LOINC","CAct","Clinical","unit for the enzyme unit U = umol/min","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per minute per gram","umol/min/g","(UMOL/MIN)/G","amount of substance",10036894500000000,[0,-1,-1,0,0,0,0],"(μmol/min)/g","si",true,null,null,1,false,false,1,"umol/min/gm; umol per min per gm; micromoles per minutes per gram; U/g; enzyme units","LOINC","CCnt","Clinical","unit for the enzyme unit U = umol/min. umol/min/g = U/g","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per minute per liter","umol/min/L","(UMOL/MIN)/L","amount of substance",10036894500000000000,[-3,-1,0,0,0,0,0],"(μmol/min)/L","si",true,null,null,1,false,false,1,"umol/min/liter; umol/minute/liter; micromoles per minutes per liter; litre; enzyme units; U/L","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. umol/min/L = U/L","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per milliliter","umol/mL","UMOL/ML","amount of substance",6.0221367000000003e+23,[-3,0,0,0,0,0,0],"μmol/mL","si",true,null,null,1,false,false,1,"umol per mL; micromoles per milliliter; millilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per milliliter per minute","umol/mL/min","(UMOL/ML)/MIN","amount of substance",1.00368945e+22,[-3,-1,0,0,0,0,0],"(μmol/mL)/min","si",true,null,null,1,false,false,1,"umol per mL per min; micromoles per milliliters per minute; millilitres","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. umol/mL/min = U/mL","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per millimole","umol/mmol","UMOL/MMOL","amount of substance",0.001,[0,0,0,0,0,0,0],"μmol/mmol","si",true,null,null,1,false,false,0,"umol per mmol; micromoles per millimole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per mole","umol/mol","UMOL/MOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"μmol/mol","si",true,null,null,1,false,false,0,"umol per mol; micromoles per mole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per micromole","umol/umol","UMOL/UMOL","amount of substance",1,[0,0,0,0,0,0,0],"μmol/μmol","si",true,null,null,1,false,false,0,"umol per umol; micromoles per micromole","LOINC","Srto; SFr; EntSRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"microOhm","uOhm","UOHM","electric resistance",0.001,[2,-1,1,0,0,-2,0],"μΩ","si",true,null,null,1,false,false,0,"microOhms; µΩ","LOINC","","Clinical","unit of electric resistance","V/A","V/A","1",1,false],[false,"microsecond","us","US","time",0.000001,[0,1,0,0,0,0,0],"μs",null,false,"T",null,1,false,false,0,"microseconds","LOINC","Time","Clinical","",null,null,null,null,false],[false,"micro enzyme unit per gram","uU/g","UU/G","catalytic activity",10036894500,[0,-1,-1,0,0,0,0],"μU/g","chemical",true,null,null,1,false,false,1,"uU per gm; micro enzyme units per gram; micro enzymatic activity per mass; enzyme activity","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"micro enzyme unit per liter","uU/L","UU/L","catalytic activity",10036894500000,[-3,-1,0,0,0,0,0],"μU/L","chemical",true,null,null,1,false,false,1,"uU per L; micro enzyme units per liter; litre; enzymatic activity per volume; enzyme activity ","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"micro enzyme unit per milliliter","uU/mL","UU/ML","catalytic activity",10036894500000000,[-3,-1,0,0,0,0,0],"μU/mL","chemical",true,null,null,1,false,false,1,"uU per mL; micro enzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"microvolt","uV","UV","electric potential",0.001,[2,-2,1,0,0,-1,0],"μV","si",true,null,null,1,false,false,0,"microvolts","LOINC","Elpot","Clinical","unit of electric potential (voltage)","J/C","J/C","1",1,false]]}}')}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var i=n(9159);window.fhirpath=i}()},4391:function(){var e,t,n;e={9:function(e,t,n){var i={choiceTypePaths:n(824),pathsDefinedElsewhere:n(151),type2Parent:n(905),path2Type:n(752)};i.availableTypes=new Set,Object.keys(i.type2Parent).forEach((function(e){return i.availableTypes.add(e)})),Object.values(i.type2Parent).forEach((function(e){return i.availableTypes.add(e)})),e.exports=i},824:function(e){"use strict";e.exports=JSON.parse('{"ActivityDefinition.product":["Reference","CodeableConcept"],"ActivityDefinition.subject":["CodeableConcept","Reference"],"ActivityDefinition.timing":["Timing","DateTime","Age","Period","Range","Duration"],"AllergyIntolerance.onset":["DateTime","Age","Period","Range","String"],"Annotation.author":["Reference","String"],"AuditEvent.entity.detail.value":["String","Base64Binary"],"BiologicallyDerivedProduct.collection.collected":["DateTime","Period"],"BiologicallyDerivedProduct.manipulation.time":["DateTime","Period"],"BiologicallyDerivedProduct.processing.time":["DateTime","Period"],"CarePlan.activity.detail.product":["CodeableConcept","Reference"],"CarePlan.activity.detail.scheduled":["Timing","Period","String"],"ChargeItem.occurrence":["DateTime","Period","Timing"],"ChargeItem.product":["Reference","CodeableConcept"],"Claim.accident.location":["Address","Reference"],"Claim.diagnosis.diagnosis":["CodeableConcept","Reference"],"Claim.item.location":["CodeableConcept","Address","Reference"],"Claim.item.serviced":["Date","Period"],"Claim.procedure.procedure":["CodeableConcept","Reference"],"Claim.supportingInfo.timing":["Date","Period"],"Claim.supportingInfo.value":["Boolean","String","Quantity","Attachment","Reference"],"ClaimResponse.addItem.location":["CodeableConcept","Address","Reference"],"ClaimResponse.addItem.serviced":["Date","Period"],"ClinicalImpression.effective":["DateTime","Period"],"CodeSystem.concept.property.value":["Code","Coding","String","Integer","Boolean","DateTime","Decimal"],"Communication.payload.content":["String","Attachment","Reference"],"CommunicationRequest.occurrence":["DateTime","Period"],"CommunicationRequest.payload.content":["String","Attachment","Reference"],"Composition.relatesTo.target":["Identifier","Reference"],"ConceptMap.source":["Uri","Canonical"],"ConceptMap.target":["Uri","Canonical"],"Condition.abatement":["DateTime","Age","Period","Range","String"],"Condition.onset":["DateTime","Age","Period","Range","String"],"Consent.source":["Attachment","Reference"],"Contract.friendly.content":["Attachment","Reference"],"Contract.legal.content":["Attachment","Reference"],"Contract.legallyBinding":["Attachment","Reference"],"Contract.rule.content":["Attachment","Reference"],"Contract.term.action.occurrence":["DateTime","Period","Timing"],"Contract.term.asset.valuedItem.entity":["CodeableConcept","Reference"],"Contract.term.offer.answer.value":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Uri","Attachment","Coding","Quantity","Reference"],"Contract.term.topic":["CodeableConcept","Reference"],"Contract.topic":["CodeableConcept","Reference"],"Coverage.costToBeneficiary.value":["Quantity","Money"],"CoverageEligibilityRequest.item.diagnosis.diagnosis":["CodeableConcept","Reference"],"CoverageEligibilityRequest.serviced":["Date","Period"],"CoverageEligibilityResponse.insurance.item.benefit.allowed":["UnsignedInt","String","Money"],"CoverageEligibilityResponse.insurance.item.benefit.used":["UnsignedInt","String","Money"],"CoverageEligibilityResponse.serviced":["Date","Period"],"DataRequirement.dateFilter.value":["DateTime","Period","Duration"],"DataRequirement.subject":["CodeableConcept","Reference"],"DetectedIssue.identified":["DateTime","Period"],"DeviceDefinition.manufacturer":["String","Reference"],"DeviceRequest.code":["Reference","CodeableConcept"],"DeviceRequest.occurrence":["DateTime","Period","Timing"],"DeviceRequest.parameter.value":["CodeableConcept","Quantity","Range","Boolean"],"DeviceUseStatement.timing":["Timing","Period","DateTime"],"DiagnosticReport.effective":["DateTime","Period"],"Dosage.asNeeded":["Boolean","CodeableConcept"],"Dosage.doseAndRate.dose":["Range","Quantity"],"Dosage.doseAndRate.rate":["Ratio","Range","Quantity"],"ElementDefinition.defaultValue":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"ElementDefinition.example.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"ElementDefinition.extension.value":["CodeableConcept","Canonical"],"ElementDefinition.fixed":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"ElementDefinition.maxValue":["Date","DateTime","Instant","Time","Decimal","Integer","PositiveInt","UnsignedInt","Quantity"],"ElementDefinition.minValue":["Date","DateTime","Instant","Time","Decimal","Integer","PositiveInt","UnsignedInt","Quantity"],"ElementDefinition.pattern":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"EventDefinition.subject":["CodeableConcept","Reference"],"EvidenceVariable.characteristic.definition":["Reference","Canonical","CodeableConcept","Expression","DataRequirement","TriggerDefinition"],"EvidenceVariable.characteristic.participantEffective":["DateTime","Period","Duration","Timing"],"ExplanationOfBenefit.accident.location":["Address","Reference"],"ExplanationOfBenefit.addItem.location":["CodeableConcept","Address","Reference"],"ExplanationOfBenefit.addItem.serviced":["Date","Period"],"ExplanationOfBenefit.benefitBalance.financial.allowed":["UnsignedInt","String","Money"],"ExplanationOfBenefit.benefitBalance.financial.used":["UnsignedInt","Money"],"ExplanationOfBenefit.diagnosis.diagnosis":["CodeableConcept","Reference"],"ExplanationOfBenefit.item.location":["CodeableConcept","Address","Reference"],"ExplanationOfBenefit.item.serviced":["Date","Period"],"ExplanationOfBenefit.procedure.procedure":["CodeableConcept","Reference"],"ExplanationOfBenefit.supportingInfo.timing":["Date","Period"],"ExplanationOfBenefit.supportingInfo.value":["Boolean","String","Quantity","Attachment","Reference"],"Extension.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"FamilyMemberHistory.age":["Age","Range","String"],"FamilyMemberHistory.born":["Period","Date","String"],"FamilyMemberHistory.condition.onset":["Age","Range","Period","String"],"FamilyMemberHistory.deceased":["Boolean","Age","Range","Date","String"],"Goal.start":["Date","CodeableConcept"],"Goal.target.detail":["Quantity","Range","CodeableConcept","String","Boolean","Integer","Ratio"],"Goal.target.due":["Date","Duration"],"Group.characteristic.value":["CodeableConcept","Boolean","Quantity","Range","Reference"],"GuidanceResponse.module":["Uri","Canonical","CodeableConcept"],"Immunization.occurrence":["DateTime","String"],"Immunization.protocolApplied.doseNumber":["PositiveInt","String"],"Immunization.protocolApplied.seriesDoses":["PositiveInt","String"],"ImmunizationEvaluation.doseNumber":["PositiveInt","String"],"ImmunizationEvaluation.seriesDoses":["PositiveInt","String"],"ImmunizationRecommendation.recommendation.doseNumber":["PositiveInt","String"],"ImmunizationRecommendation.recommendation.seriesDoses":["PositiveInt","String"],"ImplementationGuide.definition.page.name":["Url","Reference"],"ImplementationGuide.definition.resource.example":["Boolean","Canonical"],"ImplementationGuide.manifest.resource.example":["Boolean","Canonical"],"Invoice.lineItem.chargeItem":["Reference","CodeableConcept"],"Library.subject":["CodeableConcept","Reference"],"Measure.subject":["CodeableConcept","Reference"],"Media.created":["DateTime","Period"],"Medication.ingredient.item":["CodeableConcept","Reference"],"MedicationAdministration.dosage.rate":["Ratio","Quantity"],"MedicationAdministration.effective":["DateTime","Period"],"MedicationAdministration.medication":["CodeableConcept","Reference"],"MedicationDispense.medication":["CodeableConcept","Reference"],"MedicationDispense.statusReason":["CodeableConcept","Reference"],"MedicationKnowledge.administrationGuidelines.indication":["CodeableConcept","Reference"],"MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristic":["CodeableConcept","Quantity"],"MedicationKnowledge.drugCharacteristic.value":["CodeableConcept","String","Quantity","Base64Binary"],"MedicationKnowledge.ingredient.item":["CodeableConcept","Reference"],"MedicationRequest.medication":["CodeableConcept","Reference"],"MedicationRequest.reported":["Boolean","Reference"],"MedicationRequest.substitution.allowed":["Boolean","CodeableConcept"],"MedicationStatement.effective":["DateTime","Period"],"MedicationStatement.medication":["CodeableConcept","Reference"],"MedicinalProduct.specialDesignation.indication":["CodeableConcept","Reference"],"MedicinalProductAuthorization.procedure.date":["Period","DateTime"],"MedicinalProductContraindication.otherTherapy.medication":["CodeableConcept","Reference"],"MedicinalProductIndication.otherTherapy.medication":["CodeableConcept","Reference"],"MedicinalProductInteraction.interactant.item":["Reference","CodeableConcept"],"MessageDefinition.event":["Coding","Uri"],"MessageHeader.event":["Coding","Uri"],"NutritionOrder.enteralFormula.administration.rate":["Quantity","Ratio"],"Observation.component.value":["Quantity","CodeableConcept","String","Boolean","Integer","Range","Ratio","SampledData","Time","DateTime","Period"],"Observation.effective":["DateTime","Period","Timing","Instant"],"Observation.value":["Quantity","CodeableConcept","String","Boolean","Integer","Range","Ratio","SampledData","Time","DateTime","Period"],"Parameters.parameter.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"Patient.deceased":["Boolean","DateTime"],"Patient.multipleBirth":["Boolean","Integer"],"PlanDefinition.action.definition":["Canonical","Uri"],"PlanDefinition.action.relatedAction.offset":["Duration","Range"],"PlanDefinition.action.subject":["CodeableConcept","Reference"],"PlanDefinition.action.timing":["DateTime","Age","Period","Duration","Range","Timing"],"PlanDefinition.goal.target.detail":["Quantity","Range","CodeableConcept"],"PlanDefinition.subject":["CodeableConcept","Reference"],"Population.age":["Range","CodeableConcept"],"Procedure.performed":["DateTime","Period","String","Age","Range"],"Provenance.occurred":["Period","DateTime"],"Questionnaire.item.answerOption.value":["Integer","Date","Time","String","Coding","Reference"],"Questionnaire.item.enableWhen.answer":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Coding","Quantity","Reference"],"Questionnaire.item.initial.value":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Uri","Attachment","Coding","Quantity","Reference"],"QuestionnaireResponse.item.answer.value":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Uri","Attachment","Coding","Quantity","Reference"],"RequestGroup.action.relatedAction.offset":["Duration","Range"],"RequestGroup.action.timing":["DateTime","Age","Period","Duration","Range","Timing"],"ResearchDefinition.subject":["CodeableConcept","Reference"],"ResearchElementDefinition.characteristic.definition":["CodeableConcept","Canonical","Expression","DataRequirement"],"ResearchElementDefinition.characteristic.participantEffective":["DateTime","Period","Duration","Timing"],"ResearchElementDefinition.characteristic.studyEffective":["DateTime","Period","Duration","Timing"],"ResearchElementDefinition.subject":["CodeableConcept","Reference"],"RiskAssessment.occurrence":["DateTime","Period"],"RiskAssessment.prediction.probability":["Decimal","Range"],"RiskAssessment.prediction.when":["Period","Range"],"ServiceRequest.asNeeded":["Boolean","CodeableConcept"],"ServiceRequest.occurrence":["DateTime","Period","Timing"],"ServiceRequest.quantity":["Quantity","Ratio","Range"],"Specimen.collection.collected":["DateTime","Period"],"Specimen.collection.fastingStatus":["CodeableConcept","Duration"],"Specimen.container.additive":["CodeableConcept","Reference"],"Specimen.processing.time":["DateTime","Period"],"SpecimenDefinition.typeTested.container.additive.additive":["CodeableConcept","Reference"],"SpecimenDefinition.typeTested.container.minimumVolume":["Quantity","String"],"StructureMap.group.rule.source.defaultValue":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"StructureMap.group.rule.target.parameter.value":["Id","String","Boolean","Integer","Decimal"],"Substance.ingredient.substance":["CodeableConcept","Reference"],"SubstanceAmount.amount":["Quantity","Range","String"],"SubstanceReferenceInformation.target.amount":["Quantity","Range","String"],"SubstanceSpecification.moiety.amount":["Quantity","String"],"SubstanceSpecification.property.amount":["Quantity","String"],"SubstanceSpecification.property.definingSubstance":["Reference","CodeableConcept"],"SubstanceSpecification.relationship.amount":["Quantity","Range","Ratio","String"],"SubstanceSpecification.relationship.substance":["Reference","CodeableConcept"],"SupplyDelivery.occurrence":["DateTime","Period","Timing"],"SupplyDelivery.suppliedItem.item":["CodeableConcept","Reference"],"SupplyRequest.item":["CodeableConcept","Reference"],"SupplyRequest.occurrence":["DateTime","Period","Timing"],"SupplyRequest.parameter.value":["CodeableConcept","Quantity","Range","Boolean"],"Task.input.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"Task.output.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"Timing.repeat.bounds":["Duration","Range","Period"],"TriggerDefinition.timing":["Timing","Reference","Date","DateTime"],"UsageContext.value":["CodeableConcept","Quantity","Range","Reference"],"ValueSet.expansion.parameter.value":["String","Boolean","Integer","Decimal","Uri","Code","DateTime"]}')},752:function(e){"use strict";e.exports=JSON.parse('{"Account.contained":"Resource","Account.coverage":"BackboneElement","Account.coverage.coverage":"Reference","Account.coverage.extension":"Extension","Account.coverage.id":"System.String","Account.coverage.modifierExtension":"Extension","Account.coverage.priority":"positiveInt","Account.description":"string","Account.extension":"Extension","Account.guarantor":"BackboneElement","Account.guarantor.extension":"Extension","Account.guarantor.id":"System.String","Account.guarantor.modifierExtension":"Extension","Account.guarantor.onHold":"boolean","Account.guarantor.party":"Reference","Account.guarantor.period":"Period","Account.id":"System.String","Account.identifier":"Identifier","Account.implicitRules":"uri","Account.language":"code","Account.meta":"Meta","Account.modifierExtension":"Extension","Account.name":"string","Account.owner":"Reference","Account.partOf":"Reference","Account.servicePeriod":"Period","Account.status":"code","Account.subject":"Reference","Account.text":"Narrative","Account.type":"CodeableConcept","ActivityDefinition.approvalDate":"date","ActivityDefinition.author":"ContactDetail","ActivityDefinition.bodySite":"CodeableConcept","ActivityDefinition.code":"CodeableConcept","ActivityDefinition.contact":"ContactDetail","ActivityDefinition.contained":"Resource","ActivityDefinition.copyright":"markdown","ActivityDefinition.date":"dateTime","ActivityDefinition.description":"markdown","ActivityDefinition.doNotPerform":"boolean","ActivityDefinition.dosage":"Dosage","ActivityDefinition.dynamicValue":"BackboneElement","ActivityDefinition.dynamicValue.expression":"Expression","ActivityDefinition.dynamicValue.extension":"Extension","ActivityDefinition.dynamicValue.id":"System.String","ActivityDefinition.dynamicValue.modifierExtension":"Extension","ActivityDefinition.dynamicValue.path":"string","ActivityDefinition.editor":"ContactDetail","ActivityDefinition.effectivePeriod":"Period","ActivityDefinition.endorser":"ContactDetail","ActivityDefinition.experimental":"boolean","ActivityDefinition.extension":"Extension","ActivityDefinition.id":"System.String","ActivityDefinition.identifier":"Identifier","ActivityDefinition.implicitRules":"uri","ActivityDefinition.intent":"code","ActivityDefinition.jurisdiction":"CodeableConcept","ActivityDefinition.kind":"code","ActivityDefinition.language":"code","ActivityDefinition.lastReviewDate":"date","ActivityDefinition.library":"canonical","ActivityDefinition.location":"Reference","ActivityDefinition.meta":"Meta","ActivityDefinition.modifierExtension":"Extension","ActivityDefinition.name":"string","ActivityDefinition.observationRequirement":"Reference","ActivityDefinition.observationResultRequirement":"Reference","ActivityDefinition.participant":"BackboneElement","ActivityDefinition.participant.extension":"Extension","ActivityDefinition.participant.id":"System.String","ActivityDefinition.participant.modifierExtension":"Extension","ActivityDefinition.participant.role":"CodeableConcept","ActivityDefinition.participant.type":"code","ActivityDefinition.priority":"code","ActivityDefinition.productCodeableConcept":"CodeableConcept","ActivityDefinition.productReference":"Reference","ActivityDefinition.profile":"canonical","ActivityDefinition.publisher":"string","ActivityDefinition.purpose":"markdown","ActivityDefinition.quantity":"Quantity","ActivityDefinition.relatedArtifact":"RelatedArtifact","ActivityDefinition.reviewer":"ContactDetail","ActivityDefinition.specimenRequirement":"Reference","ActivityDefinition.status":"code","ActivityDefinition.subjectCodeableConcept":"CodeableConcept","ActivityDefinition.subjectReference":"Reference","ActivityDefinition.subtitle":"string","ActivityDefinition.text":"Narrative","ActivityDefinition.timingAge":"Age","ActivityDefinition.timingDateTime":"dateTime","ActivityDefinition.timingDuration":"Duration","ActivityDefinition.timingPeriod":"Period","ActivityDefinition.timingRange":"Range","ActivityDefinition.timingTiming":"Timing","ActivityDefinition.title":"string","ActivityDefinition.topic":"CodeableConcept","ActivityDefinition.transform":"canonical","ActivityDefinition.url":"uri","ActivityDefinition.usage":"string","ActivityDefinition.useContext":"UsageContext","ActivityDefinition.version":"string","Address.city":"string","Address.country":"string","Address.district":"string","Address.extension":"Extension","Address.id":"System.String","Address.line":"string","Address.period":"Period","Address.postalCode":"string","Address.state":"string","Address.text":"string","Address.type":"code","Address.use":"code","AdverseEvent.actuality":"code","AdverseEvent.category":"CodeableConcept","AdverseEvent.contained":"Resource","AdverseEvent.contributor":"Reference","AdverseEvent.date":"dateTime","AdverseEvent.detected":"dateTime","AdverseEvent.encounter":"Reference","AdverseEvent.event":"CodeableConcept","AdverseEvent.extension":"Extension","AdverseEvent.id":"System.String","AdverseEvent.identifier":"Identifier","AdverseEvent.implicitRules":"uri","AdverseEvent.language":"code","AdverseEvent.location":"Reference","AdverseEvent.meta":"Meta","AdverseEvent.modifierExtension":"Extension","AdverseEvent.outcome":"CodeableConcept","AdverseEvent.recordedDate":"dateTime","AdverseEvent.recorder":"Reference","AdverseEvent.referenceDocument":"Reference","AdverseEvent.resultingCondition":"Reference","AdverseEvent.seriousness":"CodeableConcept","AdverseEvent.severity":"CodeableConcept","AdverseEvent.study":"Reference","AdverseEvent.subject":"Reference","AdverseEvent.subjectMedicalHistory":"Reference","AdverseEvent.suspectEntity":"BackboneElement","AdverseEvent.suspectEntity.causality":"BackboneElement","AdverseEvent.suspectEntity.causality.assessment":"CodeableConcept","AdverseEvent.suspectEntity.causality.author":"Reference","AdverseEvent.suspectEntity.causality.extension":"Extension","AdverseEvent.suspectEntity.causality.id":"System.String","AdverseEvent.suspectEntity.causality.method":"CodeableConcept","AdverseEvent.suspectEntity.causality.modifierExtension":"Extension","AdverseEvent.suspectEntity.causality.productRelatedness":"string","AdverseEvent.suspectEntity.extension":"Extension","AdverseEvent.suspectEntity.id":"System.String","AdverseEvent.suspectEntity.instance":"Reference","AdverseEvent.suspectEntity.modifierExtension":"Extension","AdverseEvent.text":"Narrative","Age.code":"code","Age.comparator":"code","Age.extension":"Extension","Age.id":"System.String","Age.system":"uri","Age.unit":"string","Age.value":"decimal","AllergyIntolerance.asserter":"Reference","AllergyIntolerance.category":"code","AllergyIntolerance.clinicalStatus":"CodeableConcept","AllergyIntolerance.code":"CodeableConcept","AllergyIntolerance.contained":"Resource","AllergyIntolerance.criticality":"code","AllergyIntolerance.encounter":"Reference","AllergyIntolerance.extension":"Extension","AllergyIntolerance.id":"System.String","AllergyIntolerance.identifier":"Identifier","AllergyIntolerance.implicitRules":"uri","AllergyIntolerance.language":"code","AllergyIntolerance.lastOccurrence":"dateTime","AllergyIntolerance.meta":"Meta","AllergyIntolerance.modifierExtension":"Extension","AllergyIntolerance.note":"Annotation","AllergyIntolerance.onsetAge":"Age","AllergyIntolerance.onsetDateTime":"dateTime","AllergyIntolerance.onsetPeriod":"Period","AllergyIntolerance.onsetRange":"Range","AllergyIntolerance.onsetString":"string","AllergyIntolerance.patient":"Reference","AllergyIntolerance.reaction":"BackboneElement","AllergyIntolerance.reaction.description":"string","AllergyIntolerance.reaction.exposureRoute":"CodeableConcept","AllergyIntolerance.reaction.extension":"Extension","AllergyIntolerance.reaction.id":"System.String","AllergyIntolerance.reaction.manifestation":"CodeableConcept","AllergyIntolerance.reaction.modifierExtension":"Extension","AllergyIntolerance.reaction.note":"Annotation","AllergyIntolerance.reaction.onset":"dateTime","AllergyIntolerance.reaction.severity":"code","AllergyIntolerance.reaction.substance":"CodeableConcept","AllergyIntolerance.recordedDate":"dateTime","AllergyIntolerance.recorder":"Reference","AllergyIntolerance.text":"Narrative","AllergyIntolerance.type":"code","AllergyIntolerance.verificationStatus":"CodeableConcept","Annotation.authorReference":"Reference","Annotation.authorString":"string","Annotation.extension":"Extension","Annotation.id":"System.String","Annotation.text":"markdown","Annotation.time":"dateTime","Appointment.appointmentType":"CodeableConcept","Appointment.basedOn":"Reference","Appointment.cancelationReason":"CodeableConcept","Appointment.comment":"string","Appointment.contained":"Resource","Appointment.created":"dateTime","Appointment.description":"string","Appointment.end":"instant","Appointment.extension":"Extension","Appointment.id":"System.String","Appointment.identifier":"Identifier","Appointment.implicitRules":"uri","Appointment.language":"code","Appointment.meta":"Meta","Appointment.minutesDuration":"positiveInt","Appointment.modifierExtension":"Extension","Appointment.participant":"BackboneElement","Appointment.participant.actor":"Reference","Appointment.participant.extension":"Extension","Appointment.participant.id":"System.String","Appointment.participant.modifierExtension":"Extension","Appointment.participant.period":"Period","Appointment.participant.required":"code","Appointment.participant.status":"code","Appointment.participant.type":"CodeableConcept","Appointment.patientInstruction":"string","Appointment.priority":"unsignedInt","Appointment.reasonCode":"CodeableConcept","Appointment.reasonReference":"Reference","Appointment.requestedPeriod":"Period","Appointment.serviceCategory":"CodeableConcept","Appointment.serviceType":"CodeableConcept","Appointment.slot":"Reference","Appointment.specialty":"CodeableConcept","Appointment.start":"instant","Appointment.status":"code","Appointment.supportingInformation":"Reference","Appointment.text":"Narrative","AppointmentResponse.actor":"Reference","AppointmentResponse.appointment":"Reference","AppointmentResponse.comment":"string","AppointmentResponse.contained":"Resource","AppointmentResponse.end":"instant","AppointmentResponse.extension":"Extension","AppointmentResponse.id":"System.String","AppointmentResponse.identifier":"Identifier","AppointmentResponse.implicitRules":"uri","AppointmentResponse.language":"code","AppointmentResponse.meta":"Meta","AppointmentResponse.modifierExtension":"Extension","AppointmentResponse.participantStatus":"code","AppointmentResponse.participantType":"CodeableConcept","AppointmentResponse.start":"instant","AppointmentResponse.text":"Narrative","Attachment.contentType":"code","Attachment.creation":"dateTime","Attachment.data":"base64Binary","Attachment.extension":"Extension","Attachment.hash":"base64Binary","Attachment.id":"System.String","Attachment.language":"code","Attachment.size":"unsignedInt","Attachment.title":"string","Attachment.url":"url","AuditEvent.action":"code","AuditEvent.agent":"BackboneElement","AuditEvent.agent.altId":"string","AuditEvent.agent.extension":"Extension","AuditEvent.agent.id":"System.String","AuditEvent.agent.location":"Reference","AuditEvent.agent.media":"Coding","AuditEvent.agent.modifierExtension":"Extension","AuditEvent.agent.name":"string","AuditEvent.agent.network":"BackboneElement","AuditEvent.agent.network.address":"string","AuditEvent.agent.network.extension":"Extension","AuditEvent.agent.network.id":"System.String","AuditEvent.agent.network.modifierExtension":"Extension","AuditEvent.agent.network.type":"code","AuditEvent.agent.policy":"uri","AuditEvent.agent.purposeOfUse":"CodeableConcept","AuditEvent.agent.requestor":"boolean","AuditEvent.agent.role":"CodeableConcept","AuditEvent.agent.type":"CodeableConcept","AuditEvent.agent.who":"Reference","AuditEvent.contained":"Resource","AuditEvent.entity":"BackboneElement","AuditEvent.entity.description":"string","AuditEvent.entity.detail":"BackboneElement","AuditEvent.entity.detail.extension":"Extension","AuditEvent.entity.detail.id":"System.String","AuditEvent.entity.detail.modifierExtension":"Extension","AuditEvent.entity.detail.type":"string","AuditEvent.entity.detail.valueBase64Binary":"base64Binary","AuditEvent.entity.detail.valueString":"string","AuditEvent.entity.extension":"Extension","AuditEvent.entity.id":"System.String","AuditEvent.entity.lifecycle":"Coding","AuditEvent.entity.modifierExtension":"Extension","AuditEvent.entity.name":"string","AuditEvent.entity.query":"base64Binary","AuditEvent.entity.role":"Coding","AuditEvent.entity.securityLabel":"Coding","AuditEvent.entity.type":"Coding","AuditEvent.entity.what":"Reference","AuditEvent.extension":"Extension","AuditEvent.id":"System.String","AuditEvent.implicitRules":"uri","AuditEvent.language":"code","AuditEvent.meta":"Meta","AuditEvent.modifierExtension":"Extension","AuditEvent.outcome":"code","AuditEvent.outcomeDesc":"string","AuditEvent.period":"Period","AuditEvent.purposeOfEvent":"CodeableConcept","AuditEvent.recorded":"instant","AuditEvent.source":"BackboneElement","AuditEvent.source.extension":"Extension","AuditEvent.source.id":"System.String","AuditEvent.source.modifierExtension":"Extension","AuditEvent.source.observer":"Reference","AuditEvent.source.site":"string","AuditEvent.source.type":"Coding","AuditEvent.subtype":"Coding","AuditEvent.text":"Narrative","AuditEvent.type":"Coding","BackboneElement.extension":"Extension","BackboneElement.id":"System.String","BackboneElement.modifierExtension":"Extension","Basic.author":"Reference","Basic.code":"CodeableConcept","Basic.contained":"Resource","Basic.created":"date","Basic.extension":"Extension","Basic.id":"System.String","Basic.identifier":"Identifier","Basic.implicitRules":"uri","Basic.language":"code","Basic.meta":"Meta","Basic.modifierExtension":"Extension","Basic.subject":"Reference","Basic.text":"Narrative","Binary.contentType":"code","Binary.data":"base64Binary","Binary.id":"System.String","Binary.implicitRules":"uri","Binary.language":"code","Binary.meta":"Meta","Binary.securityContext":"Reference","BiologicallyDerivedProduct.collection":"BackboneElement","BiologicallyDerivedProduct.collection.collectedDateTime":"dateTime","BiologicallyDerivedProduct.collection.collectedPeriod":"Period","BiologicallyDerivedProduct.collection.collector":"Reference","BiologicallyDerivedProduct.collection.extension":"Extension","BiologicallyDerivedProduct.collection.id":"System.String","BiologicallyDerivedProduct.collection.modifierExtension":"Extension","BiologicallyDerivedProduct.collection.source":"Reference","BiologicallyDerivedProduct.contained":"Resource","BiologicallyDerivedProduct.extension":"Extension","BiologicallyDerivedProduct.id":"System.String","BiologicallyDerivedProduct.identifier":"Identifier","BiologicallyDerivedProduct.implicitRules":"uri","BiologicallyDerivedProduct.language":"code","BiologicallyDerivedProduct.manipulation":"BackboneElement","BiologicallyDerivedProduct.manipulation.description":"string","BiologicallyDerivedProduct.manipulation.extension":"Extension","BiologicallyDerivedProduct.manipulation.id":"System.String","BiologicallyDerivedProduct.manipulation.modifierExtension":"Extension","BiologicallyDerivedProduct.manipulation.timeDateTime":"dateTime","BiologicallyDerivedProduct.manipulation.timePeriod":"Period","BiologicallyDerivedProduct.meta":"Meta","BiologicallyDerivedProduct.modifierExtension":"Extension","BiologicallyDerivedProduct.parent":"Reference","BiologicallyDerivedProduct.processing":"BackboneElement","BiologicallyDerivedProduct.processing.additive":"Reference","BiologicallyDerivedProduct.processing.description":"string","BiologicallyDerivedProduct.processing.extension":"Extension","BiologicallyDerivedProduct.processing.id":"System.String","BiologicallyDerivedProduct.processing.modifierExtension":"Extension","BiologicallyDerivedProduct.processing.procedure":"CodeableConcept","BiologicallyDerivedProduct.processing.timeDateTime":"dateTime","BiologicallyDerivedProduct.processing.timePeriod":"Period","BiologicallyDerivedProduct.productCategory":"code","BiologicallyDerivedProduct.productCode":"CodeableConcept","BiologicallyDerivedProduct.quantity":"integer","BiologicallyDerivedProduct.request":"Reference","BiologicallyDerivedProduct.status":"code","BiologicallyDerivedProduct.storage":"BackboneElement","BiologicallyDerivedProduct.storage.description":"string","BiologicallyDerivedProduct.storage.duration":"Period","BiologicallyDerivedProduct.storage.extension":"Extension","BiologicallyDerivedProduct.storage.id":"System.String","BiologicallyDerivedProduct.storage.modifierExtension":"Extension","BiologicallyDerivedProduct.storage.scale":"code","BiologicallyDerivedProduct.storage.temperature":"decimal","BiologicallyDerivedProduct.text":"Narrative","BodyStructure.active":"boolean","BodyStructure.contained":"Resource","BodyStructure.description":"string","BodyStructure.extension":"Extension","BodyStructure.id":"System.String","BodyStructure.identifier":"Identifier","BodyStructure.image":"Attachment","BodyStructure.implicitRules":"uri","BodyStructure.language":"code","BodyStructure.location":"CodeableConcept","BodyStructure.locationQualifier":"CodeableConcept","BodyStructure.meta":"Meta","BodyStructure.modifierExtension":"Extension","BodyStructure.morphology":"CodeableConcept","BodyStructure.patient":"Reference","BodyStructure.text":"Narrative","Bundle.entry":"BackboneElement","Bundle.entry.extension":"Extension","Bundle.entry.fullUrl":"uri","Bundle.entry.id":"System.String","Bundle.entry.modifierExtension":"Extension","Bundle.entry.request":"BackboneElement","Bundle.entry.request.extension":"Extension","Bundle.entry.request.id":"System.String","Bundle.entry.request.ifMatch":"string","Bundle.entry.request.ifModifiedSince":"instant","Bundle.entry.request.ifNoneExist":"string","Bundle.entry.request.ifNoneMatch":"string","Bundle.entry.request.method":"code","Bundle.entry.request.modifierExtension":"Extension","Bundle.entry.request.url":"uri","Bundle.entry.resource":"Resource","Bundle.entry.response":"BackboneElement","Bundle.entry.response.etag":"string","Bundle.entry.response.extension":"Extension","Bundle.entry.response.id":"System.String","Bundle.entry.response.lastModified":"instant","Bundle.entry.response.location":"uri","Bundle.entry.response.modifierExtension":"Extension","Bundle.entry.response.outcome":"Resource","Bundle.entry.response.status":"string","Bundle.entry.search":"BackboneElement","Bundle.entry.search.extension":"Extension","Bundle.entry.search.id":"System.String","Bundle.entry.search.mode":"code","Bundle.entry.search.modifierExtension":"Extension","Bundle.entry.search.score":"decimal","Bundle.id":"System.String","Bundle.identifier":"Identifier","Bundle.implicitRules":"uri","Bundle.language":"code","Bundle.link":"BackboneElement","Bundle.link.extension":"Extension","Bundle.link.id":"System.String","Bundle.link.modifierExtension":"Extension","Bundle.link.relation":"string","Bundle.link.url":"uri","Bundle.meta":"Meta","Bundle.signature":"Signature","Bundle.timestamp":"instant","Bundle.total":"unsignedInt","Bundle.type":"code","CapabilityStatement.contact":"ContactDetail","CapabilityStatement.contained":"Resource","CapabilityStatement.copyright":"markdown","CapabilityStatement.date":"dateTime","CapabilityStatement.description":"markdown","CapabilityStatement.document":"BackboneElement","CapabilityStatement.document.documentation":"markdown","CapabilityStatement.document.extension":"Extension","CapabilityStatement.document.id":"System.String","CapabilityStatement.document.mode":"code","CapabilityStatement.document.modifierExtension":"Extension","CapabilityStatement.document.profile":"canonical","CapabilityStatement.experimental":"boolean","CapabilityStatement.extension":"Extension","CapabilityStatement.fhirVersion":"code","CapabilityStatement.format":"code","CapabilityStatement.id":"System.String","CapabilityStatement.implementation":"BackboneElement","CapabilityStatement.implementation.custodian":"Reference","CapabilityStatement.implementation.description":"string","CapabilityStatement.implementation.extension":"Extension","CapabilityStatement.implementation.id":"System.String","CapabilityStatement.implementation.modifierExtension":"Extension","CapabilityStatement.implementation.url":"url","CapabilityStatement.implementationGuide":"canonical","CapabilityStatement.implicitRules":"uri","CapabilityStatement.imports":"canonical","CapabilityStatement.instantiates":"canonical","CapabilityStatement.jurisdiction":"CodeableConcept","CapabilityStatement.kind":"code","CapabilityStatement.language":"code","CapabilityStatement.messaging":"BackboneElement","CapabilityStatement.messaging.documentation":"markdown","CapabilityStatement.messaging.endpoint":"BackboneElement","CapabilityStatement.messaging.endpoint.address":"url","CapabilityStatement.messaging.endpoint.extension":"Extension","CapabilityStatement.messaging.endpoint.id":"System.String","CapabilityStatement.messaging.endpoint.modifierExtension":"Extension","CapabilityStatement.messaging.endpoint.protocol":"Coding","CapabilityStatement.messaging.extension":"Extension","CapabilityStatement.messaging.id":"System.String","CapabilityStatement.messaging.modifierExtension":"Extension","CapabilityStatement.messaging.reliableCache":"unsignedInt","CapabilityStatement.messaging.supportedMessage":"BackboneElement","CapabilityStatement.messaging.supportedMessage.definition":"canonical","CapabilityStatement.messaging.supportedMessage.extension":"Extension","CapabilityStatement.messaging.supportedMessage.id":"System.String","CapabilityStatement.messaging.supportedMessage.mode":"code","CapabilityStatement.messaging.supportedMessage.modifierExtension":"Extension","CapabilityStatement.meta":"Meta","CapabilityStatement.modifierExtension":"Extension","CapabilityStatement.name":"string","CapabilityStatement.patchFormat":"code","CapabilityStatement.publisher":"string","CapabilityStatement.purpose":"markdown","CapabilityStatement.rest":"BackboneElement","CapabilityStatement.rest.compartment":"canonical","CapabilityStatement.rest.documentation":"markdown","CapabilityStatement.rest.extension":"Extension","CapabilityStatement.rest.id":"System.String","CapabilityStatement.rest.interaction":"BackboneElement","CapabilityStatement.rest.interaction.code":"code","CapabilityStatement.rest.interaction.documentation":"markdown","CapabilityStatement.rest.interaction.extension":"Extension","CapabilityStatement.rest.interaction.id":"System.String","CapabilityStatement.rest.interaction.modifierExtension":"Extension","CapabilityStatement.rest.mode":"code","CapabilityStatement.rest.modifierExtension":"Extension","CapabilityStatement.rest.resource":"BackboneElement","CapabilityStatement.rest.resource.conditionalCreate":"boolean","CapabilityStatement.rest.resource.conditionalDelete":"code","CapabilityStatement.rest.resource.conditionalRead":"code","CapabilityStatement.rest.resource.conditionalUpdate":"boolean","CapabilityStatement.rest.resource.documentation":"markdown","CapabilityStatement.rest.resource.extension":"Extension","CapabilityStatement.rest.resource.id":"System.String","CapabilityStatement.rest.resource.interaction":"BackboneElement","CapabilityStatement.rest.resource.interaction.code":"code","CapabilityStatement.rest.resource.interaction.documentation":"markdown","CapabilityStatement.rest.resource.interaction.extension":"Extension","CapabilityStatement.rest.resource.interaction.id":"System.String","CapabilityStatement.rest.resource.interaction.modifierExtension":"Extension","CapabilityStatement.rest.resource.modifierExtension":"Extension","CapabilityStatement.rest.resource.operation":"BackboneElement","CapabilityStatement.rest.resource.operation.definition":"canonical","CapabilityStatement.rest.resource.operation.documentation":"markdown","CapabilityStatement.rest.resource.operation.extension":"Extension","CapabilityStatement.rest.resource.operation.id":"System.String","CapabilityStatement.rest.resource.operation.modifierExtension":"Extension","CapabilityStatement.rest.resource.operation.name":"string","CapabilityStatement.rest.resource.profile":"canonical","CapabilityStatement.rest.resource.readHistory":"boolean","CapabilityStatement.rest.resource.referencePolicy":"code","CapabilityStatement.rest.resource.searchInclude":"string","CapabilityStatement.rest.resource.searchParam":"BackboneElement","CapabilityStatement.rest.resource.searchParam.definition":"canonical","CapabilityStatement.rest.resource.searchParam.documentation":"markdown","CapabilityStatement.rest.resource.searchParam.extension":"Extension","CapabilityStatement.rest.resource.searchParam.id":"System.String","CapabilityStatement.rest.resource.searchParam.modifierExtension":"Extension","CapabilityStatement.rest.resource.searchParam.name":"string","CapabilityStatement.rest.resource.searchParam.type":"code","CapabilityStatement.rest.resource.searchRevInclude":"string","CapabilityStatement.rest.resource.supportedProfile":"canonical","CapabilityStatement.rest.resource.type":"code","CapabilityStatement.rest.resource.updateCreate":"boolean","CapabilityStatement.rest.resource.versioning":"code","CapabilityStatement.rest.security":"BackboneElement","CapabilityStatement.rest.security.cors":"boolean","CapabilityStatement.rest.security.description":"markdown","CapabilityStatement.rest.security.extension":"Extension","CapabilityStatement.rest.security.id":"System.String","CapabilityStatement.rest.security.modifierExtension":"Extension","CapabilityStatement.rest.security.service":"CodeableConcept","CapabilityStatement.software":"BackboneElement","CapabilityStatement.software.extension":"Extension","CapabilityStatement.software.id":"System.String","CapabilityStatement.software.modifierExtension":"Extension","CapabilityStatement.software.name":"string","CapabilityStatement.software.releaseDate":"dateTime","CapabilityStatement.software.version":"string","CapabilityStatement.status":"code","CapabilityStatement.text":"Narrative","CapabilityStatement.title":"string","CapabilityStatement.url":"uri","CapabilityStatement.useContext":"UsageContext","CapabilityStatement.version":"string","CarePlan.activity":"BackboneElement","CarePlan.activity.detail":"BackboneElement","CarePlan.activity.detail.code":"CodeableConcept","CarePlan.activity.detail.dailyAmount":"Quantity","CarePlan.activity.detail.description":"string","CarePlan.activity.detail.doNotPerform":"boolean","CarePlan.activity.detail.extension":"Extension","CarePlan.activity.detail.goal":"Reference","CarePlan.activity.detail.id":"System.String","CarePlan.activity.detail.instantiatesCanonical":"canonical","CarePlan.activity.detail.instantiatesUri":"uri","CarePlan.activity.detail.kind":"code","CarePlan.activity.detail.location":"Reference","CarePlan.activity.detail.modifierExtension":"Extension","CarePlan.activity.detail.performer":"Reference","CarePlan.activity.detail.productCodeableConcept":"CodeableConcept","CarePlan.activity.detail.productReference":"Reference","CarePlan.activity.detail.quantity":"Quantity","CarePlan.activity.detail.reasonCode":"CodeableConcept","CarePlan.activity.detail.reasonReference":"Reference","CarePlan.activity.detail.scheduledPeriod":"Period","CarePlan.activity.detail.scheduledString":"string","CarePlan.activity.detail.scheduledTiming":"Timing","CarePlan.activity.detail.status":"code","CarePlan.activity.detail.statusReason":"CodeableConcept","CarePlan.activity.extension":"Extension","CarePlan.activity.id":"System.String","CarePlan.activity.modifierExtension":"Extension","CarePlan.activity.outcomeCodeableConcept":"CodeableConcept","CarePlan.activity.outcomeReference":"Reference","CarePlan.activity.progress":"Annotation","CarePlan.activity.reference":"Reference","CarePlan.addresses":"Reference","CarePlan.author":"Reference","CarePlan.basedOn":"Reference","CarePlan.careTeam":"Reference","CarePlan.category":"CodeableConcept","CarePlan.contained":"Resource","CarePlan.contributor":"Reference","CarePlan.created":"dateTime","CarePlan.description":"string","CarePlan.encounter":"Reference","CarePlan.extension":"Extension","CarePlan.goal":"Reference","CarePlan.id":"System.String","CarePlan.identifier":"Identifier","CarePlan.implicitRules":"uri","CarePlan.instantiatesCanonical":"canonical","CarePlan.instantiatesUri":"uri","CarePlan.intent":"code","CarePlan.language":"code","CarePlan.meta":"Meta","CarePlan.modifierExtension":"Extension","CarePlan.note":"Annotation","CarePlan.partOf":"Reference","CarePlan.period":"Period","CarePlan.replaces":"Reference","CarePlan.status":"code","CarePlan.subject":"Reference","CarePlan.supportingInfo":"Reference","CarePlan.text":"Narrative","CarePlan.title":"string","CareTeam.category":"CodeableConcept","CareTeam.contained":"Resource","CareTeam.encounter":"Reference","CareTeam.extension":"Extension","CareTeam.id":"System.String","CareTeam.identifier":"Identifier","CareTeam.implicitRules":"uri","CareTeam.language":"code","CareTeam.managingOrganization":"Reference","CareTeam.meta":"Meta","CareTeam.modifierExtension":"Extension","CareTeam.name":"string","CareTeam.note":"Annotation","CareTeam.participant":"BackboneElement","CareTeam.participant.extension":"Extension","CareTeam.participant.id":"System.String","CareTeam.participant.member":"Reference","CareTeam.participant.modifierExtension":"Extension","CareTeam.participant.onBehalfOf":"Reference","CareTeam.participant.period":"Period","CareTeam.participant.role":"CodeableConcept","CareTeam.period":"Period","CareTeam.reasonCode":"CodeableConcept","CareTeam.reasonReference":"Reference","CareTeam.status":"code","CareTeam.subject":"Reference","CareTeam.telecom":"ContactPoint","CareTeam.text":"Narrative","CatalogEntry.additionalCharacteristic":"CodeableConcept","CatalogEntry.additionalClassification":"CodeableConcept","CatalogEntry.additionalIdentifier":"Identifier","CatalogEntry.classification":"CodeableConcept","CatalogEntry.contained":"Resource","CatalogEntry.extension":"Extension","CatalogEntry.id":"System.String","CatalogEntry.identifier":"Identifier","CatalogEntry.implicitRules":"uri","CatalogEntry.language":"code","CatalogEntry.lastUpdated":"dateTime","CatalogEntry.meta":"Meta","CatalogEntry.modifierExtension":"Extension","CatalogEntry.orderable":"boolean","CatalogEntry.referencedItem":"Reference","CatalogEntry.relatedEntry":"BackboneElement","CatalogEntry.relatedEntry.extension":"Extension","CatalogEntry.relatedEntry.id":"System.String","CatalogEntry.relatedEntry.item":"Reference","CatalogEntry.relatedEntry.modifierExtension":"Extension","CatalogEntry.relatedEntry.relationtype":"code","CatalogEntry.status":"code","CatalogEntry.text":"Narrative","CatalogEntry.type":"CodeableConcept","CatalogEntry.validTo":"dateTime","CatalogEntry.validityPeriod":"Period","ChargeItem.account":"Reference","ChargeItem.bodysite":"CodeableConcept","ChargeItem.code":"CodeableConcept","ChargeItem.contained":"Resource","ChargeItem.context":"Reference","ChargeItem.costCenter":"Reference","ChargeItem.definitionCanonical":"canonical","ChargeItem.definitionUri":"uri","ChargeItem.enteredDate":"dateTime","ChargeItem.enterer":"Reference","ChargeItem.extension":"Extension","ChargeItem.factorOverride":"decimal","ChargeItem.id":"System.String","ChargeItem.identifier":"Identifier","ChargeItem.implicitRules":"uri","ChargeItem.language":"code","ChargeItem.meta":"Meta","ChargeItem.modifierExtension":"Extension","ChargeItem.note":"Annotation","ChargeItem.occurrenceDateTime":"dateTime","ChargeItem.occurrencePeriod":"Period","ChargeItem.occurrenceTiming":"Timing","ChargeItem.overrideReason":"string","ChargeItem.partOf":"Reference","ChargeItem.performer":"BackboneElement","ChargeItem.performer.actor":"Reference","ChargeItem.performer.extension":"Extension","ChargeItem.performer.function":"CodeableConcept","ChargeItem.performer.id":"System.String","ChargeItem.performer.modifierExtension":"Extension","ChargeItem.performingOrganization":"Reference","ChargeItem.priceOverride":"Money","ChargeItem.productCodeableConcept":"CodeableConcept","ChargeItem.productReference":"Reference","ChargeItem.quantity":"Quantity","ChargeItem.reason":"CodeableConcept","ChargeItem.requestingOrganization":"Reference","ChargeItem.service":"Reference","ChargeItem.status":"code","ChargeItem.subject":"Reference","ChargeItem.supportingInformation":"Reference","ChargeItem.text":"Narrative","ChargeItemDefinition.applicability":"BackboneElement","ChargeItemDefinition.applicability.description":"string","ChargeItemDefinition.applicability.expression":"string","ChargeItemDefinition.applicability.extension":"Extension","ChargeItemDefinition.applicability.id":"System.String","ChargeItemDefinition.applicability.language":"string","ChargeItemDefinition.applicability.modifierExtension":"Extension","ChargeItemDefinition.approvalDate":"date","ChargeItemDefinition.code":"CodeableConcept","ChargeItemDefinition.contact":"ContactDetail","ChargeItemDefinition.contained":"Resource","ChargeItemDefinition.copyright":"markdown","ChargeItemDefinition.date":"dateTime","ChargeItemDefinition.derivedFromUri":"uri","ChargeItemDefinition.description":"markdown","ChargeItemDefinition.effectivePeriod":"Period","ChargeItemDefinition.experimental":"boolean","ChargeItemDefinition.extension":"Extension","ChargeItemDefinition.id":"System.String","ChargeItemDefinition.identifier":"Identifier","ChargeItemDefinition.implicitRules":"uri","ChargeItemDefinition.instance":"Reference","ChargeItemDefinition.jurisdiction":"CodeableConcept","ChargeItemDefinition.language":"code","ChargeItemDefinition.lastReviewDate":"date","ChargeItemDefinition.meta":"Meta","ChargeItemDefinition.modifierExtension":"Extension","ChargeItemDefinition.partOf":"canonical","ChargeItemDefinition.propertyGroup":"BackboneElement","ChargeItemDefinition.propertyGroup.extension":"Extension","ChargeItemDefinition.propertyGroup.id":"System.String","ChargeItemDefinition.propertyGroup.modifierExtension":"Extension","ChargeItemDefinition.propertyGroup.priceComponent":"BackboneElement","ChargeItemDefinition.propertyGroup.priceComponent.amount":"Money","ChargeItemDefinition.propertyGroup.priceComponent.code":"CodeableConcept","ChargeItemDefinition.propertyGroup.priceComponent.extension":"Extension","ChargeItemDefinition.propertyGroup.priceComponent.factor":"decimal","ChargeItemDefinition.propertyGroup.priceComponent.id":"System.String","ChargeItemDefinition.propertyGroup.priceComponent.modifierExtension":"Extension","ChargeItemDefinition.propertyGroup.priceComponent.type":"code","ChargeItemDefinition.publisher":"string","ChargeItemDefinition.replaces":"canonical","ChargeItemDefinition.status":"code","ChargeItemDefinition.text":"Narrative","ChargeItemDefinition.title":"string","ChargeItemDefinition.url":"uri","ChargeItemDefinition.useContext":"UsageContext","ChargeItemDefinition.version":"string","Claim.accident":"BackboneElement","Claim.accident.date":"date","Claim.accident.extension":"Extension","Claim.accident.id":"System.String","Claim.accident.locationAddress":"Address","Claim.accident.locationReference":"Reference","Claim.accident.modifierExtension":"Extension","Claim.accident.type":"CodeableConcept","Claim.billablePeriod":"Period","Claim.careTeam":"BackboneElement","Claim.careTeam.extension":"Extension","Claim.careTeam.id":"System.String","Claim.careTeam.modifierExtension":"Extension","Claim.careTeam.provider":"Reference","Claim.careTeam.qualification":"CodeableConcept","Claim.careTeam.responsible":"boolean","Claim.careTeam.role":"CodeableConcept","Claim.careTeam.sequence":"positiveInt","Claim.contained":"Resource","Claim.created":"dateTime","Claim.diagnosis":"BackboneElement","Claim.diagnosis.diagnosisCodeableConcept":"CodeableConcept","Claim.diagnosis.diagnosisReference":"Reference","Claim.diagnosis.extension":"Extension","Claim.diagnosis.id":"System.String","Claim.diagnosis.modifierExtension":"Extension","Claim.diagnosis.onAdmission":"CodeableConcept","Claim.diagnosis.packageCode":"CodeableConcept","Claim.diagnosis.sequence":"positiveInt","Claim.diagnosis.type":"CodeableConcept","Claim.enterer":"Reference","Claim.extension":"Extension","Claim.facility":"Reference","Claim.fundsReserve":"CodeableConcept","Claim.id":"System.String","Claim.identifier":"Identifier","Claim.implicitRules":"uri","Claim.insurance":"BackboneElement","Claim.insurance.businessArrangement":"string","Claim.insurance.claimResponse":"Reference","Claim.insurance.coverage":"Reference","Claim.insurance.extension":"Extension","Claim.insurance.focal":"boolean","Claim.insurance.id":"System.String","Claim.insurance.identifier":"Identifier","Claim.insurance.modifierExtension":"Extension","Claim.insurance.preAuthRef":"string","Claim.insurance.sequence":"positiveInt","Claim.insurer":"Reference","Claim.item":"BackboneElement","Claim.item.bodySite":"CodeableConcept","Claim.item.careTeamSequence":"positiveInt","Claim.item.category":"CodeableConcept","Claim.item.detail":"BackboneElement","Claim.item.detail.category":"CodeableConcept","Claim.item.detail.extension":"Extension","Claim.item.detail.factor":"decimal","Claim.item.detail.id":"System.String","Claim.item.detail.modifier":"CodeableConcept","Claim.item.detail.modifierExtension":"Extension","Claim.item.detail.net":"Money","Claim.item.detail.productOrService":"CodeableConcept","Claim.item.detail.programCode":"CodeableConcept","Claim.item.detail.quantity":"Quantity","Claim.item.detail.revenue":"CodeableConcept","Claim.item.detail.sequence":"positiveInt","Claim.item.detail.subDetail":"BackboneElement","Claim.item.detail.subDetail.category":"CodeableConcept","Claim.item.detail.subDetail.extension":"Extension","Claim.item.detail.subDetail.factor":"decimal","Claim.item.detail.subDetail.id":"System.String","Claim.item.detail.subDetail.modifier":"CodeableConcept","Claim.item.detail.subDetail.modifierExtension":"Extension","Claim.item.detail.subDetail.net":"Money","Claim.item.detail.subDetail.productOrService":"CodeableConcept","Claim.item.detail.subDetail.programCode":"CodeableConcept","Claim.item.detail.subDetail.quantity":"Quantity","Claim.item.detail.subDetail.revenue":"CodeableConcept","Claim.item.detail.subDetail.sequence":"positiveInt","Claim.item.detail.subDetail.udi":"Reference","Claim.item.detail.subDetail.unitPrice":"Money","Claim.item.detail.udi":"Reference","Claim.item.detail.unitPrice":"Money","Claim.item.diagnosisSequence":"positiveInt","Claim.item.encounter":"Reference","Claim.item.extension":"Extension","Claim.item.factor":"decimal","Claim.item.id":"System.String","Claim.item.informationSequence":"positiveInt","Claim.item.locationAddress":"Address","Claim.item.locationCodeableConcept":"CodeableConcept","Claim.item.locationReference":"Reference","Claim.item.modifier":"CodeableConcept","Claim.item.modifierExtension":"Extension","Claim.item.net":"Money","Claim.item.procedureSequence":"positiveInt","Claim.item.productOrService":"CodeableConcept","Claim.item.programCode":"CodeableConcept","Claim.item.quantity":"Quantity","Claim.item.revenue":"CodeableConcept","Claim.item.sequence":"positiveInt","Claim.item.servicedDate":"date","Claim.item.servicedPeriod":"Period","Claim.item.subSite":"CodeableConcept","Claim.item.udi":"Reference","Claim.item.unitPrice":"Money","Claim.language":"code","Claim.meta":"Meta","Claim.modifierExtension":"Extension","Claim.originalPrescription":"Reference","Claim.patient":"Reference","Claim.payee":"BackboneElement","Claim.payee.extension":"Extension","Claim.payee.id":"System.String","Claim.payee.modifierExtension":"Extension","Claim.payee.party":"Reference","Claim.payee.type":"CodeableConcept","Claim.prescription":"Reference","Claim.priority":"CodeableConcept","Claim.procedure":"BackboneElement","Claim.procedure.date":"dateTime","Claim.procedure.extension":"Extension","Claim.procedure.id":"System.String","Claim.procedure.modifierExtension":"Extension","Claim.procedure.procedureCodeableConcept":"CodeableConcept","Claim.procedure.procedureReference":"Reference","Claim.procedure.sequence":"positiveInt","Claim.procedure.type":"CodeableConcept","Claim.procedure.udi":"Reference","Claim.provider":"Reference","Claim.referral":"Reference","Claim.related":"BackboneElement","Claim.related.claim":"Reference","Claim.related.extension":"Extension","Claim.related.id":"System.String","Claim.related.modifierExtension":"Extension","Claim.related.reference":"Identifier","Claim.related.relationship":"CodeableConcept","Claim.status":"code","Claim.subType":"CodeableConcept","Claim.supportingInfo":"BackboneElement","Claim.supportingInfo.category":"CodeableConcept","Claim.supportingInfo.code":"CodeableConcept","Claim.supportingInfo.extension":"Extension","Claim.supportingInfo.id":"System.String","Claim.supportingInfo.modifierExtension":"Extension","Claim.supportingInfo.reason":"CodeableConcept","Claim.supportingInfo.sequence":"positiveInt","Claim.supportingInfo.timingDate":"date","Claim.supportingInfo.timingPeriod":"Period","Claim.supportingInfo.valueAttachment":"Attachment","Claim.supportingInfo.valueBoolean":"boolean","Claim.supportingInfo.valueQuantity":"Quantity","Claim.supportingInfo.valueReference":"Reference","Claim.supportingInfo.valueString":"string","Claim.text":"Narrative","Claim.total":"Money","Claim.type":"CodeableConcept","Claim.use":"code","ClaimResponse.addItem":"BackboneElement","ClaimResponse.addItem.bodySite":"CodeableConcept","ClaimResponse.addItem.detail":"BackboneElement","ClaimResponse.addItem.detail.extension":"Extension","ClaimResponse.addItem.detail.factor":"decimal","ClaimResponse.addItem.detail.id":"System.String","ClaimResponse.addItem.detail.modifier":"CodeableConcept","ClaimResponse.addItem.detail.modifierExtension":"Extension","ClaimResponse.addItem.detail.net":"Money","ClaimResponse.addItem.detail.noteNumber":"positiveInt","ClaimResponse.addItem.detail.productOrService":"CodeableConcept","ClaimResponse.addItem.detail.quantity":"Quantity","ClaimResponse.addItem.detail.subDetail":"BackboneElement","ClaimResponse.addItem.detail.subDetail.extension":"Extension","ClaimResponse.addItem.detail.subDetail.factor":"decimal","ClaimResponse.addItem.detail.subDetail.id":"System.String","ClaimResponse.addItem.detail.subDetail.modifier":"CodeableConcept","ClaimResponse.addItem.detail.subDetail.modifierExtension":"Extension","ClaimResponse.addItem.detail.subDetail.net":"Money","ClaimResponse.addItem.detail.subDetail.noteNumber":"positiveInt","ClaimResponse.addItem.detail.subDetail.productOrService":"CodeableConcept","ClaimResponse.addItem.detail.subDetail.quantity":"Quantity","ClaimResponse.addItem.detail.subDetail.unitPrice":"Money","ClaimResponse.addItem.detail.unitPrice":"Money","ClaimResponse.addItem.detailSequence":"positiveInt","ClaimResponse.addItem.extension":"Extension","ClaimResponse.addItem.factor":"decimal","ClaimResponse.addItem.id":"System.String","ClaimResponse.addItem.itemSequence":"positiveInt","ClaimResponse.addItem.locationAddress":"Address","ClaimResponse.addItem.locationCodeableConcept":"CodeableConcept","ClaimResponse.addItem.locationReference":"Reference","ClaimResponse.addItem.modifier":"CodeableConcept","ClaimResponse.addItem.modifierExtension":"Extension","ClaimResponse.addItem.net":"Money","ClaimResponse.addItem.noteNumber":"positiveInt","ClaimResponse.addItem.productOrService":"CodeableConcept","ClaimResponse.addItem.programCode":"CodeableConcept","ClaimResponse.addItem.provider":"Reference","ClaimResponse.addItem.quantity":"Quantity","ClaimResponse.addItem.servicedDate":"date","ClaimResponse.addItem.servicedPeriod":"Period","ClaimResponse.addItem.subSite":"CodeableConcept","ClaimResponse.addItem.subdetailSequence":"positiveInt","ClaimResponse.addItem.unitPrice":"Money","ClaimResponse.communicationRequest":"Reference","ClaimResponse.contained":"Resource","ClaimResponse.created":"dateTime","ClaimResponse.disposition":"string","ClaimResponse.error":"BackboneElement","ClaimResponse.error.code":"CodeableConcept","ClaimResponse.error.detailSequence":"positiveInt","ClaimResponse.error.extension":"Extension","ClaimResponse.error.id":"System.String","ClaimResponse.error.itemSequence":"positiveInt","ClaimResponse.error.modifierExtension":"Extension","ClaimResponse.error.subDetailSequence":"positiveInt","ClaimResponse.extension":"Extension","ClaimResponse.form":"Attachment","ClaimResponse.formCode":"CodeableConcept","ClaimResponse.fundsReserve":"CodeableConcept","ClaimResponse.id":"System.String","ClaimResponse.identifier":"Identifier","ClaimResponse.implicitRules":"uri","ClaimResponse.insurance":"BackboneElement","ClaimResponse.insurance.businessArrangement":"string","ClaimResponse.insurance.claimResponse":"Reference","ClaimResponse.insurance.coverage":"Reference","ClaimResponse.insurance.extension":"Extension","ClaimResponse.insurance.focal":"boolean","ClaimResponse.insurance.id":"System.String","ClaimResponse.insurance.modifierExtension":"Extension","ClaimResponse.insurance.sequence":"positiveInt","ClaimResponse.insurer":"Reference","ClaimResponse.item":"BackboneElement","ClaimResponse.item.adjudication":"BackboneElement","ClaimResponse.item.adjudication.amount":"Money","ClaimResponse.item.adjudication.category":"CodeableConcept","ClaimResponse.item.adjudication.extension":"Extension","ClaimResponse.item.adjudication.id":"System.String","ClaimResponse.item.adjudication.modifierExtension":"Extension","ClaimResponse.item.adjudication.reason":"CodeableConcept","ClaimResponse.item.adjudication.value":"decimal","ClaimResponse.item.detail":"BackboneElement","ClaimResponse.item.detail.detailSequence":"positiveInt","ClaimResponse.item.detail.extension":"Extension","ClaimResponse.item.detail.id":"System.String","ClaimResponse.item.detail.modifierExtension":"Extension","ClaimResponse.item.detail.noteNumber":"positiveInt","ClaimResponse.item.detail.subDetail":"BackboneElement","ClaimResponse.item.detail.subDetail.extension":"Extension","ClaimResponse.item.detail.subDetail.id":"System.String","ClaimResponse.item.detail.subDetail.modifierExtension":"Extension","ClaimResponse.item.detail.subDetail.noteNumber":"positiveInt","ClaimResponse.item.detail.subDetail.subDetailSequence":"positiveInt","ClaimResponse.item.extension":"Extension","ClaimResponse.item.id":"System.String","ClaimResponse.item.itemSequence":"positiveInt","ClaimResponse.item.modifierExtension":"Extension","ClaimResponse.item.noteNumber":"positiveInt","ClaimResponse.language":"code","ClaimResponse.meta":"Meta","ClaimResponse.modifierExtension":"Extension","ClaimResponse.outcome":"code","ClaimResponse.patient":"Reference","ClaimResponse.payeeType":"CodeableConcept","ClaimResponse.payment":"BackboneElement","ClaimResponse.payment.adjustment":"Money","ClaimResponse.payment.adjustmentReason":"CodeableConcept","ClaimResponse.payment.amount":"Money","ClaimResponse.payment.date":"date","ClaimResponse.payment.extension":"Extension","ClaimResponse.payment.id":"System.String","ClaimResponse.payment.identifier":"Identifier","ClaimResponse.payment.modifierExtension":"Extension","ClaimResponse.payment.type":"CodeableConcept","ClaimResponse.preAuthPeriod":"Period","ClaimResponse.preAuthRef":"string","ClaimResponse.processNote":"BackboneElement","ClaimResponse.processNote.extension":"Extension","ClaimResponse.processNote.id":"System.String","ClaimResponse.processNote.language":"CodeableConcept","ClaimResponse.processNote.modifierExtension":"Extension","ClaimResponse.processNote.number":"positiveInt","ClaimResponse.processNote.text":"string","ClaimResponse.processNote.type":"code","ClaimResponse.request":"Reference","ClaimResponse.requestor":"Reference","ClaimResponse.status":"code","ClaimResponse.subType":"CodeableConcept","ClaimResponse.text":"Narrative","ClaimResponse.total":"BackboneElement","ClaimResponse.total.amount":"Money","ClaimResponse.total.category":"CodeableConcept","ClaimResponse.total.extension":"Extension","ClaimResponse.total.id":"System.String","ClaimResponse.total.modifierExtension":"Extension","ClaimResponse.type":"CodeableConcept","ClaimResponse.use":"code","ClinicalImpression.assessor":"Reference","ClinicalImpression.code":"CodeableConcept","ClinicalImpression.contained":"Resource","ClinicalImpression.date":"dateTime","ClinicalImpression.description":"string","ClinicalImpression.effectiveDateTime":"dateTime","ClinicalImpression.effectivePeriod":"Period","ClinicalImpression.encounter":"Reference","ClinicalImpression.extension":"Extension","ClinicalImpression.finding":"BackboneElement","ClinicalImpression.finding.basis":"string","ClinicalImpression.finding.extension":"Extension","ClinicalImpression.finding.id":"System.String","ClinicalImpression.finding.itemCodeableConcept":"CodeableConcept","ClinicalImpression.finding.itemReference":"Reference","ClinicalImpression.finding.modifierExtension":"Extension","ClinicalImpression.id":"System.String","ClinicalImpression.identifier":"Identifier","ClinicalImpression.implicitRules":"uri","ClinicalImpression.investigation":"BackboneElement","ClinicalImpression.investigation.code":"CodeableConcept","ClinicalImpression.investigation.extension":"Extension","ClinicalImpression.investigation.id":"System.String","ClinicalImpression.investigation.item":"Reference","ClinicalImpression.investigation.modifierExtension":"Extension","ClinicalImpression.language":"code","ClinicalImpression.meta":"Meta","ClinicalImpression.modifierExtension":"Extension","ClinicalImpression.note":"Annotation","ClinicalImpression.previous":"Reference","ClinicalImpression.problem":"Reference","ClinicalImpression.prognosisCodeableConcept":"CodeableConcept","ClinicalImpression.prognosisReference":"Reference","ClinicalImpression.protocol":"uri","ClinicalImpression.status":"code","ClinicalImpression.statusReason":"CodeableConcept","ClinicalImpression.subject":"Reference","ClinicalImpression.summary":"string","ClinicalImpression.supportingInfo":"Reference","ClinicalImpression.text":"Narrative","CodeSystem.caseSensitive":"boolean","CodeSystem.compositional":"boolean","CodeSystem.concept":"BackboneElement","CodeSystem.concept.code":"code","CodeSystem.concept.definition":"string","CodeSystem.concept.designation":"BackboneElement","CodeSystem.concept.designation.extension":"Extension","CodeSystem.concept.designation.id":"System.String","CodeSystem.concept.designation.language":"code","CodeSystem.concept.designation.modifierExtension":"Extension","CodeSystem.concept.designation.use":"Coding","CodeSystem.concept.designation.value":"string","CodeSystem.concept.display":"string","CodeSystem.concept.extension":"Extension","CodeSystem.concept.id":"System.String","CodeSystem.concept.modifierExtension":"Extension","CodeSystem.concept.property":"BackboneElement","CodeSystem.concept.property.code":"code","CodeSystem.concept.property.extension":"Extension","CodeSystem.concept.property.id":"System.String","CodeSystem.concept.property.modifierExtension":"Extension","CodeSystem.concept.property.valueBoolean":"boolean","CodeSystem.concept.property.valueCode":"code","CodeSystem.concept.property.valueCoding":"Coding","CodeSystem.concept.property.valueDateTime":"dateTime","CodeSystem.concept.property.valueDecimal":"decimal","CodeSystem.concept.property.valueInteger":"integer","CodeSystem.concept.property.valueString":"string","CodeSystem.contact":"ContactDetail","CodeSystem.contained":"Resource","CodeSystem.content":"code","CodeSystem.copyright":"markdown","CodeSystem.count":"unsignedInt","CodeSystem.date":"dateTime","CodeSystem.description":"markdown","CodeSystem.experimental":"boolean","CodeSystem.extension":"Extension","CodeSystem.filter":"BackboneElement","CodeSystem.filter.code":"code","CodeSystem.filter.description":"string","CodeSystem.filter.extension":"Extension","CodeSystem.filter.id":"System.String","CodeSystem.filter.modifierExtension":"Extension","CodeSystem.filter.operator":"code","CodeSystem.filter.value":"string","CodeSystem.hierarchyMeaning":"code","CodeSystem.id":"System.String","CodeSystem.identifier":"Identifier","CodeSystem.implicitRules":"uri","CodeSystem.jurisdiction":"CodeableConcept","CodeSystem.language":"code","CodeSystem.meta":"Meta","CodeSystem.modifierExtension":"Extension","CodeSystem.name":"string","CodeSystem.property":"BackboneElement","CodeSystem.property.code":"code","CodeSystem.property.description":"string","CodeSystem.property.extension":"Extension","CodeSystem.property.id":"System.String","CodeSystem.property.modifierExtension":"Extension","CodeSystem.property.type":"code","CodeSystem.property.uri":"uri","CodeSystem.publisher":"string","CodeSystem.purpose":"markdown","CodeSystem.status":"code","CodeSystem.supplements":"canonical","CodeSystem.text":"Narrative","CodeSystem.title":"string","CodeSystem.url":"uri","CodeSystem.useContext":"UsageContext","CodeSystem.valueSet":"canonical","CodeSystem.version":"string","CodeSystem.versionNeeded":"boolean","CodeableConcept.coding":"Coding","CodeableConcept.extension":"Extension","CodeableConcept.id":"System.String","CodeableConcept.text":"string","Coding.code":"code","Coding.display":"string","Coding.extension":"Extension","Coding.id":"System.String","Coding.system":"uri","Coding.userSelected":"boolean","Coding.version":"string","Communication.about":"Reference","Communication.basedOn":"Reference","Communication.category":"CodeableConcept","Communication.contained":"Resource","Communication.encounter":"Reference","Communication.extension":"Extension","Communication.id":"System.String","Communication.identifier":"Identifier","Communication.implicitRules":"uri","Communication.inResponseTo":"Reference","Communication.instantiatesCanonical":"canonical","Communication.instantiatesUri":"uri","Communication.language":"code","Communication.medium":"CodeableConcept","Communication.meta":"Meta","Communication.modifierExtension":"Extension","Communication.note":"Annotation","Communication.partOf":"Reference","Communication.payload":"BackboneElement","Communication.payload.contentAttachment":"Attachment","Communication.payload.contentReference":"Reference","Communication.payload.contentString":"string","Communication.payload.extension":"Extension","Communication.payload.id":"System.String","Communication.payload.modifierExtension":"Extension","Communication.priority":"code","Communication.reasonCode":"CodeableConcept","Communication.reasonReference":"Reference","Communication.received":"dateTime","Communication.recipient":"Reference","Communication.sender":"Reference","Communication.sent":"dateTime","Communication.status":"code","Communication.statusReason":"CodeableConcept","Communication.subject":"Reference","Communication.text":"Narrative","Communication.topic":"CodeableConcept","CommunicationRequest.about":"Reference","CommunicationRequest.authoredOn":"dateTime","CommunicationRequest.basedOn":"Reference","CommunicationRequest.category":"CodeableConcept","CommunicationRequest.contained":"Resource","CommunicationRequest.doNotPerform":"boolean","CommunicationRequest.encounter":"Reference","CommunicationRequest.extension":"Extension","CommunicationRequest.groupIdentifier":"Identifier","CommunicationRequest.id":"System.String","CommunicationRequest.identifier":"Identifier","CommunicationRequest.implicitRules":"uri","CommunicationRequest.language":"code","CommunicationRequest.medium":"CodeableConcept","CommunicationRequest.meta":"Meta","CommunicationRequest.modifierExtension":"Extension","CommunicationRequest.note":"Annotation","CommunicationRequest.occurrenceDateTime":"dateTime","CommunicationRequest.occurrencePeriod":"Period","CommunicationRequest.payload":"BackboneElement","CommunicationRequest.payload.contentAttachment":"Attachment","CommunicationRequest.payload.contentReference":"Reference","CommunicationRequest.payload.contentString":"string","CommunicationRequest.payload.extension":"Extension","CommunicationRequest.payload.id":"System.String","CommunicationRequest.payload.modifierExtension":"Extension","CommunicationRequest.priority":"code","CommunicationRequest.reasonCode":"CodeableConcept","CommunicationRequest.reasonReference":"Reference","CommunicationRequest.recipient":"Reference","CommunicationRequest.replaces":"Reference","CommunicationRequest.requester":"Reference","CommunicationRequest.sender":"Reference","CommunicationRequest.status":"code","CommunicationRequest.statusReason":"CodeableConcept","CommunicationRequest.subject":"Reference","CommunicationRequest.text":"Narrative","CompartmentDefinition.code":"code","CompartmentDefinition.contact":"ContactDetail","CompartmentDefinition.contained":"Resource","CompartmentDefinition.date":"dateTime","CompartmentDefinition.description":"markdown","CompartmentDefinition.experimental":"boolean","CompartmentDefinition.extension":"Extension","CompartmentDefinition.id":"System.String","CompartmentDefinition.implicitRules":"uri","CompartmentDefinition.language":"code","CompartmentDefinition.meta":"Meta","CompartmentDefinition.modifierExtension":"Extension","CompartmentDefinition.name":"string","CompartmentDefinition.publisher":"string","CompartmentDefinition.purpose":"markdown","CompartmentDefinition.resource":"BackboneElement","CompartmentDefinition.resource.code":"code","CompartmentDefinition.resource.documentation":"string","CompartmentDefinition.resource.extension":"Extension","CompartmentDefinition.resource.id":"System.String","CompartmentDefinition.resource.modifierExtension":"Extension","CompartmentDefinition.resource.param":"string","CompartmentDefinition.search":"boolean","CompartmentDefinition.status":"code","CompartmentDefinition.text":"Narrative","CompartmentDefinition.url":"uri","CompartmentDefinition.useContext":"UsageContext","CompartmentDefinition.version":"string","Composition.attester":"BackboneElement","Composition.attester.extension":"Extension","Composition.attester.id":"System.String","Composition.attester.mode":"code","Composition.attester.modifierExtension":"Extension","Composition.attester.party":"Reference","Composition.attester.time":"dateTime","Composition.author":"Reference","Composition.category":"CodeableConcept","Composition.confidentiality":"code","Composition.contained":"Resource","Composition.custodian":"Reference","Composition.date":"dateTime","Composition.encounter":"Reference","Composition.event":"BackboneElement","Composition.event.code":"CodeableConcept","Composition.event.detail":"Reference","Composition.event.extension":"Extension","Composition.event.id":"System.String","Composition.event.modifierExtension":"Extension","Composition.event.period":"Period","Composition.extension":"Extension","Composition.id":"System.String","Composition.identifier":"Identifier","Composition.implicitRules":"uri","Composition.language":"code","Composition.meta":"Meta","Composition.modifierExtension":"Extension","Composition.relatesTo":"BackboneElement","Composition.relatesTo.code":"code","Composition.relatesTo.extension":"Extension","Composition.relatesTo.id":"System.String","Composition.relatesTo.modifierExtension":"Extension","Composition.relatesTo.targetIdentifier":"Identifier","Composition.relatesTo.targetReference":"Reference","Composition.section":"BackboneElement","Composition.section.author":"Reference","Composition.section.code":"CodeableConcept","Composition.section.emptyReason":"CodeableConcept","Composition.section.entry":"Reference","Composition.section.extension":"Extension","Composition.section.focus":"Reference","Composition.section.id":"System.String","Composition.section.mode":"code","Composition.section.modifierExtension":"Extension","Composition.section.orderedBy":"CodeableConcept","Composition.section.text":"Narrative","Composition.section.title":"string","Composition.status":"code","Composition.subject":"Reference","Composition.text":"Narrative","Composition.title":"string","Composition.type":"CodeableConcept","ConceptMap.contact":"ContactDetail","ConceptMap.contained":"Resource","ConceptMap.copyright":"markdown","ConceptMap.date":"dateTime","ConceptMap.description":"markdown","ConceptMap.experimental":"boolean","ConceptMap.extension":"Extension","ConceptMap.group":"BackboneElement","ConceptMap.group.element":"BackboneElement","ConceptMap.group.element.code":"code","ConceptMap.group.element.display":"string","ConceptMap.group.element.extension":"Extension","ConceptMap.group.element.id":"System.String","ConceptMap.group.element.modifierExtension":"Extension","ConceptMap.group.element.target":"BackboneElement","ConceptMap.group.element.target.code":"code","ConceptMap.group.element.target.comment":"string","ConceptMap.group.element.target.dependsOn":"BackboneElement","ConceptMap.group.element.target.dependsOn.display":"string","ConceptMap.group.element.target.dependsOn.extension":"Extension","ConceptMap.group.element.target.dependsOn.id":"System.String","ConceptMap.group.element.target.dependsOn.modifierExtension":"Extension","ConceptMap.group.element.target.dependsOn.property":"uri","ConceptMap.group.element.target.dependsOn.system":"canonical","ConceptMap.group.element.target.dependsOn.value":"string","ConceptMap.group.element.target.display":"string","ConceptMap.group.element.target.equivalence":"code","ConceptMap.group.element.target.extension":"Extension","ConceptMap.group.element.target.id":"System.String","ConceptMap.group.element.target.modifierExtension":"Extension","ConceptMap.group.extension":"Extension","ConceptMap.group.id":"System.String","ConceptMap.group.modifierExtension":"Extension","ConceptMap.group.source":"uri","ConceptMap.group.sourceVersion":"string","ConceptMap.group.target":"uri","ConceptMap.group.targetVersion":"string","ConceptMap.group.unmapped":"BackboneElement","ConceptMap.group.unmapped.code":"code","ConceptMap.group.unmapped.display":"string","ConceptMap.group.unmapped.extension":"Extension","ConceptMap.group.unmapped.id":"System.String","ConceptMap.group.unmapped.mode":"code","ConceptMap.group.unmapped.modifierExtension":"Extension","ConceptMap.group.unmapped.url":"canonical","ConceptMap.id":"System.String","ConceptMap.identifier":"Identifier","ConceptMap.implicitRules":"uri","ConceptMap.jurisdiction":"CodeableConcept","ConceptMap.language":"code","ConceptMap.meta":"Meta","ConceptMap.modifierExtension":"Extension","ConceptMap.name":"string","ConceptMap.publisher":"string","ConceptMap.purpose":"markdown","ConceptMap.sourceCanonical":"canonical","ConceptMap.sourceUri":"uri","ConceptMap.status":"code","ConceptMap.targetCanonical":"canonical","ConceptMap.targetUri":"uri","ConceptMap.text":"Narrative","ConceptMap.title":"string","ConceptMap.url":"uri","ConceptMap.useContext":"UsageContext","ConceptMap.version":"string","Condition.abatementAge":"Age","Condition.abatementDateTime":"dateTime","Condition.abatementPeriod":"Period","Condition.abatementRange":"Range","Condition.abatementString":"string","Condition.asserter":"Reference","Condition.bodySite":"CodeableConcept","Condition.category":"CodeableConcept","Condition.clinicalStatus":"CodeableConcept","Condition.code":"CodeableConcept","Condition.contained":"Resource","Condition.encounter":"Reference","Condition.evidence":"BackboneElement","Condition.evidence.code":"CodeableConcept","Condition.evidence.detail":"Reference","Condition.evidence.extension":"Extension","Condition.evidence.id":"System.String","Condition.evidence.modifierExtension":"Extension","Condition.extension":"Extension","Condition.id":"System.String","Condition.identifier":"Identifier","Condition.implicitRules":"uri","Condition.language":"code","Condition.meta":"Meta","Condition.modifierExtension":"Extension","Condition.note":"Annotation","Condition.onsetAge":"Age","Condition.onsetDateTime":"dateTime","Condition.onsetPeriod":"Period","Condition.onsetRange":"Range","Condition.onsetString":"string","Condition.recordedDate":"dateTime","Condition.recorder":"Reference","Condition.severity":"CodeableConcept","Condition.stage":"BackboneElement","Condition.stage.assessment":"Reference","Condition.stage.extension":"Extension","Condition.stage.id":"System.String","Condition.stage.modifierExtension":"Extension","Condition.stage.summary":"CodeableConcept","Condition.stage.type":"CodeableConcept","Condition.subject":"Reference","Condition.text":"Narrative","Condition.verificationStatus":"CodeableConcept","Consent.category":"CodeableConcept","Consent.contained":"Resource","Consent.dateTime":"dateTime","Consent.extension":"Extension","Consent.id":"System.String","Consent.identifier":"Identifier","Consent.implicitRules":"uri","Consent.language":"code","Consent.meta":"Meta","Consent.modifierExtension":"Extension","Consent.organization":"Reference","Consent.patient":"Reference","Consent.performer":"Reference","Consent.policy":"BackboneElement","Consent.policy.authority":"uri","Consent.policy.extension":"Extension","Consent.policy.id":"System.String","Consent.policy.modifierExtension":"Extension","Consent.policy.uri":"uri","Consent.policyRule":"CodeableConcept","Consent.provision":"BackboneElement","Consent.provision.action":"CodeableConcept","Consent.provision.actor":"BackboneElement","Consent.provision.actor.extension":"Extension","Consent.provision.actor.id":"System.String","Consent.provision.actor.modifierExtension":"Extension","Consent.provision.actor.reference":"Reference","Consent.provision.actor.role":"CodeableConcept","Consent.provision.class":"Coding","Consent.provision.code":"CodeableConcept","Consent.provision.data":"BackboneElement","Consent.provision.data.extension":"Extension","Consent.provision.data.id":"System.String","Consent.provision.data.meaning":"code","Consent.provision.data.modifierExtension":"Extension","Consent.provision.data.reference":"Reference","Consent.provision.dataPeriod":"Period","Consent.provision.extension":"Extension","Consent.provision.id":"System.String","Consent.provision.modifierExtension":"Extension","Consent.provision.period":"Period","Consent.provision.purpose":"Coding","Consent.provision.securityLabel":"Coding","Consent.provision.type":"code","Consent.scope":"CodeableConcept","Consent.sourceAttachment":"Attachment","Consent.sourceReference":"Reference","Consent.status":"code","Consent.text":"Narrative","Consent.verification":"BackboneElement","Consent.verification.extension":"Extension","Consent.verification.id":"System.String","Consent.verification.modifierExtension":"Extension","Consent.verification.verificationDate":"dateTime","Consent.verification.verified":"boolean","Consent.verification.verifiedWith":"Reference","ContactDetail.extension":"Extension","ContactDetail.id":"System.String","ContactDetail.name":"string","ContactDetail.telecom":"ContactPoint","ContactPoint.extension":"Extension","ContactPoint.id":"System.String","ContactPoint.period":"Period","ContactPoint.rank":"positiveInt","ContactPoint.system":"code","ContactPoint.use":"code","ContactPoint.value":"string","Contract.alias":"string","Contract.applies":"Period","Contract.author":"Reference","Contract.authority":"Reference","Contract.contained":"Resource","Contract.contentDefinition":"BackboneElement","Contract.contentDefinition.copyright":"markdown","Contract.contentDefinition.extension":"Extension","Contract.contentDefinition.id":"System.String","Contract.contentDefinition.modifierExtension":"Extension","Contract.contentDefinition.publicationDate":"dateTime","Contract.contentDefinition.publicationStatus":"code","Contract.contentDefinition.publisher":"Reference","Contract.contentDefinition.subType":"CodeableConcept","Contract.contentDefinition.type":"CodeableConcept","Contract.contentDerivative":"CodeableConcept","Contract.domain":"Reference","Contract.expirationType":"CodeableConcept","Contract.extension":"Extension","Contract.friendly":"BackboneElement","Contract.friendly.contentAttachment":"Attachment","Contract.friendly.contentReference":"Reference","Contract.friendly.extension":"Extension","Contract.friendly.id":"System.String","Contract.friendly.modifierExtension":"Extension","Contract.id":"System.String","Contract.identifier":"Identifier","Contract.implicitRules":"uri","Contract.instantiatesCanonical":"Reference","Contract.instantiatesUri":"uri","Contract.issued":"dateTime","Contract.language":"code","Contract.legal":"BackboneElement","Contract.legal.contentAttachment":"Attachment","Contract.legal.contentReference":"Reference","Contract.legal.extension":"Extension","Contract.legal.id":"System.String","Contract.legal.modifierExtension":"Extension","Contract.legalState":"CodeableConcept","Contract.legallyBindingAttachment":"Attachment","Contract.legallyBindingReference":"Reference","Contract.meta":"Meta","Contract.modifierExtension":"Extension","Contract.name":"string","Contract.relevantHistory":"Reference","Contract.rule":"BackboneElement","Contract.rule.contentAttachment":"Attachment","Contract.rule.contentReference":"Reference","Contract.rule.extension":"Extension","Contract.rule.id":"System.String","Contract.rule.modifierExtension":"Extension","Contract.scope":"CodeableConcept","Contract.signer":"BackboneElement","Contract.signer.extension":"Extension","Contract.signer.id":"System.String","Contract.signer.modifierExtension":"Extension","Contract.signer.party":"Reference","Contract.signer.signature":"Signature","Contract.signer.type":"Coding","Contract.site":"Reference","Contract.status":"code","Contract.subType":"CodeableConcept","Contract.subject":"Reference","Contract.subtitle":"string","Contract.supportingInfo":"Reference","Contract.term":"BackboneElement","Contract.term.action":"BackboneElement","Contract.term.action.context":"Reference","Contract.term.action.contextLinkId":"string","Contract.term.action.doNotPerform":"boolean","Contract.term.action.extension":"Extension","Contract.term.action.id":"System.String","Contract.term.action.intent":"CodeableConcept","Contract.term.action.linkId":"string","Contract.term.action.modifierExtension":"Extension","Contract.term.action.note":"Annotation","Contract.term.action.occurrenceDateTime":"dateTime","Contract.term.action.occurrencePeriod":"Period","Contract.term.action.occurrenceTiming":"Timing","Contract.term.action.performer":"Reference","Contract.term.action.performerLinkId":"string","Contract.term.action.performerRole":"CodeableConcept","Contract.term.action.performerType":"CodeableConcept","Contract.term.action.reason":"string","Contract.term.action.reasonCode":"CodeableConcept","Contract.term.action.reasonLinkId":"string","Contract.term.action.reasonReference":"Reference","Contract.term.action.requester":"Reference","Contract.term.action.requesterLinkId":"string","Contract.term.action.securityLabelNumber":"unsignedInt","Contract.term.action.status":"CodeableConcept","Contract.term.action.subject":"BackboneElement","Contract.term.action.subject.extension":"Extension","Contract.term.action.subject.id":"System.String","Contract.term.action.subject.modifierExtension":"Extension","Contract.term.action.subject.reference":"Reference","Contract.term.action.subject.role":"CodeableConcept","Contract.term.action.type":"CodeableConcept","Contract.term.applies":"Period","Contract.term.asset":"BackboneElement","Contract.term.asset.condition":"string","Contract.term.asset.context":"BackboneElement","Contract.term.asset.context.code":"CodeableConcept","Contract.term.asset.context.extension":"Extension","Contract.term.asset.context.id":"System.String","Contract.term.asset.context.modifierExtension":"Extension","Contract.term.asset.context.reference":"Reference","Contract.term.asset.context.text":"string","Contract.term.asset.extension":"Extension","Contract.term.asset.id":"System.String","Contract.term.asset.linkId":"string","Contract.term.asset.modifierExtension":"Extension","Contract.term.asset.period":"Period","Contract.term.asset.periodType":"CodeableConcept","Contract.term.asset.relationship":"Coding","Contract.term.asset.scope":"CodeableConcept","Contract.term.asset.securityLabelNumber":"unsignedInt","Contract.term.asset.subtype":"CodeableConcept","Contract.term.asset.text":"string","Contract.term.asset.type":"CodeableConcept","Contract.term.asset.typeReference":"Reference","Contract.term.asset.usePeriod":"Period","Contract.term.asset.valuedItem":"BackboneElement","Contract.term.asset.valuedItem.effectiveTime":"dateTime","Contract.term.asset.valuedItem.entityCodeableConcept":"CodeableConcept","Contract.term.asset.valuedItem.entityReference":"Reference","Contract.term.asset.valuedItem.extension":"Extension","Contract.term.asset.valuedItem.factor":"decimal","Contract.term.asset.valuedItem.id":"System.String","Contract.term.asset.valuedItem.identifier":"Identifier","Contract.term.asset.valuedItem.linkId":"string","Contract.term.asset.valuedItem.modifierExtension":"Extension","Contract.term.asset.valuedItem.net":"Money","Contract.term.asset.valuedItem.payment":"string","Contract.term.asset.valuedItem.paymentDate":"dateTime","Contract.term.asset.valuedItem.points":"decimal","Contract.term.asset.valuedItem.quantity":"Quantity","Contract.term.asset.valuedItem.recipient":"Reference","Contract.term.asset.valuedItem.responsible":"Reference","Contract.term.asset.valuedItem.securityLabelNumber":"unsignedInt","Contract.term.asset.valuedItem.unitPrice":"Money","Contract.term.extension":"Extension","Contract.term.id":"System.String","Contract.term.identifier":"Identifier","Contract.term.issued":"dateTime","Contract.term.modifierExtension":"Extension","Contract.term.offer":"BackboneElement","Contract.term.offer.answer":"BackboneElement","Contract.term.offer.answer.extension":"Extension","Contract.term.offer.answer.id":"System.String","Contract.term.offer.answer.modifierExtension":"Extension","Contract.term.offer.answer.valueAttachment":"Attachment","Contract.term.offer.answer.valueBoolean":"boolean","Contract.term.offer.answer.valueCoding":"Coding","Contract.term.offer.answer.valueDate":"date","Contract.term.offer.answer.valueDateTime":"dateTime","Contract.term.offer.answer.valueDecimal":"decimal","Contract.term.offer.answer.valueInteger":"integer","Contract.term.offer.answer.valueQuantity":"Quantity","Contract.term.offer.answer.valueReference":"Reference","Contract.term.offer.answer.valueString":"string","Contract.term.offer.answer.valueTime":"time","Contract.term.offer.answer.valueUri":"uri","Contract.term.offer.decision":"CodeableConcept","Contract.term.offer.decisionMode":"CodeableConcept","Contract.term.offer.extension":"Extension","Contract.term.offer.id":"System.String","Contract.term.offer.identifier":"Identifier","Contract.term.offer.linkId":"string","Contract.term.offer.modifierExtension":"Extension","Contract.term.offer.party":"BackboneElement","Contract.term.offer.party.extension":"Extension","Contract.term.offer.party.id":"System.String","Contract.term.offer.party.modifierExtension":"Extension","Contract.term.offer.party.reference":"Reference","Contract.term.offer.party.role":"CodeableConcept","Contract.term.offer.securityLabelNumber":"unsignedInt","Contract.term.offer.text":"string","Contract.term.offer.topic":"Reference","Contract.term.offer.type":"CodeableConcept","Contract.term.securityLabel":"BackboneElement","Contract.term.securityLabel.category":"Coding","Contract.term.securityLabel.classification":"Coding","Contract.term.securityLabel.control":"Coding","Contract.term.securityLabel.extension":"Extension","Contract.term.securityLabel.id":"System.String","Contract.term.securityLabel.modifierExtension":"Extension","Contract.term.securityLabel.number":"unsignedInt","Contract.term.subType":"CodeableConcept","Contract.term.text":"string","Contract.term.topicCodeableConcept":"CodeableConcept","Contract.term.topicReference":"Reference","Contract.term.type":"CodeableConcept","Contract.text":"Narrative","Contract.title":"string","Contract.topicCodeableConcept":"CodeableConcept","Contract.topicReference":"Reference","Contract.type":"CodeableConcept","Contract.url":"uri","Contract.version":"string","Contributor.contact":"ContactDetail","Contributor.extension":"Extension","Contributor.id":"System.String","Contributor.name":"string","Contributor.type":"code","Count.code":"code","Count.comparator":"code","Count.extension":"Extension","Count.id":"System.String","Count.system":"uri","Count.unit":"string","Count.value":"decimal","Coverage.beneficiary":"Reference","Coverage.class":"BackboneElement","Coverage.class.extension":"Extension","Coverage.class.id":"System.String","Coverage.class.modifierExtension":"Extension","Coverage.class.name":"string","Coverage.class.type":"CodeableConcept","Coverage.class.value":"string","Coverage.contained":"Resource","Coverage.contract":"Reference","Coverage.costToBeneficiary":"BackboneElement","Coverage.costToBeneficiary.exception":"BackboneElement","Coverage.costToBeneficiary.exception.extension":"Extension","Coverage.costToBeneficiary.exception.id":"System.String","Coverage.costToBeneficiary.exception.modifierExtension":"Extension","Coverage.costToBeneficiary.exception.period":"Period","Coverage.costToBeneficiary.exception.type":"CodeableConcept","Coverage.costToBeneficiary.extension":"Extension","Coverage.costToBeneficiary.id":"System.String","Coverage.costToBeneficiary.modifierExtension":"Extension","Coverage.costToBeneficiary.type":"CodeableConcept","Coverage.costToBeneficiary.valueMoney":"Money","Coverage.costToBeneficiary.valueQuantity":"Quantity","Coverage.dependent":"string","Coverage.extension":"Extension","Coverage.id":"System.String","Coverage.identifier":"Identifier","Coverage.implicitRules":"uri","Coverage.language":"code","Coverage.meta":"Meta","Coverage.modifierExtension":"Extension","Coverage.network":"string","Coverage.order":"positiveInt","Coverage.payor":"Reference","Coverage.period":"Period","Coverage.policyHolder":"Reference","Coverage.relationship":"CodeableConcept","Coverage.status":"code","Coverage.subrogation":"boolean","Coverage.subscriber":"Reference","Coverage.subscriberId":"string","Coverage.text":"Narrative","Coverage.type":"CodeableConcept","CoverageEligibilityRequest.contained":"Resource","CoverageEligibilityRequest.created":"dateTime","CoverageEligibilityRequest.enterer":"Reference","CoverageEligibilityRequest.extension":"Extension","CoverageEligibilityRequest.facility":"Reference","CoverageEligibilityRequest.id":"System.String","CoverageEligibilityRequest.identifier":"Identifier","CoverageEligibilityRequest.implicitRules":"uri","CoverageEligibilityRequest.insurance":"BackboneElement","CoverageEligibilityRequest.insurance.businessArrangement":"string","CoverageEligibilityRequest.insurance.coverage":"Reference","CoverageEligibilityRequest.insurance.extension":"Extension","CoverageEligibilityRequest.insurance.focal":"boolean","CoverageEligibilityRequest.insurance.id":"System.String","CoverageEligibilityRequest.insurance.modifierExtension":"Extension","CoverageEligibilityRequest.insurer":"Reference","CoverageEligibilityRequest.item":"BackboneElement","CoverageEligibilityRequest.item.category":"CodeableConcept","CoverageEligibilityRequest.item.detail":"Reference","CoverageEligibilityRequest.item.diagnosis":"BackboneElement","CoverageEligibilityRequest.item.diagnosis.diagnosisCodeableConcept":"CodeableConcept","CoverageEligibilityRequest.item.diagnosis.diagnosisReference":"Reference","CoverageEligibilityRequest.item.diagnosis.extension":"Extension","CoverageEligibilityRequest.item.diagnosis.id":"System.String","CoverageEligibilityRequest.item.diagnosis.modifierExtension":"Extension","CoverageEligibilityRequest.item.extension":"Extension","CoverageEligibilityRequest.item.facility":"Reference","CoverageEligibilityRequest.item.id":"System.String","CoverageEligibilityRequest.item.modifier":"CodeableConcept","CoverageEligibilityRequest.item.modifierExtension":"Extension","CoverageEligibilityRequest.item.productOrService":"CodeableConcept","CoverageEligibilityRequest.item.provider":"Reference","CoverageEligibilityRequest.item.quantity":"Quantity","CoverageEligibilityRequest.item.supportingInfoSequence":"positiveInt","CoverageEligibilityRequest.item.unitPrice":"Money","CoverageEligibilityRequest.language":"code","CoverageEligibilityRequest.meta":"Meta","CoverageEligibilityRequest.modifierExtension":"Extension","CoverageEligibilityRequest.patient":"Reference","CoverageEligibilityRequest.priority":"CodeableConcept","CoverageEligibilityRequest.provider":"Reference","CoverageEligibilityRequest.purpose":"code","CoverageEligibilityRequest.servicedDate":"date","CoverageEligibilityRequest.servicedPeriod":"Period","CoverageEligibilityRequest.status":"code","CoverageEligibilityRequest.supportingInfo":"BackboneElement","CoverageEligibilityRequest.supportingInfo.appliesToAll":"boolean","CoverageEligibilityRequest.supportingInfo.extension":"Extension","CoverageEligibilityRequest.supportingInfo.id":"System.String","CoverageEligibilityRequest.supportingInfo.information":"Reference","CoverageEligibilityRequest.supportingInfo.modifierExtension":"Extension","CoverageEligibilityRequest.supportingInfo.sequence":"positiveInt","CoverageEligibilityRequest.text":"Narrative","CoverageEligibilityResponse.contained":"Resource","CoverageEligibilityResponse.created":"dateTime","CoverageEligibilityResponse.disposition":"string","CoverageEligibilityResponse.error":"BackboneElement","CoverageEligibilityResponse.error.code":"CodeableConcept","CoverageEligibilityResponse.error.extension":"Extension","CoverageEligibilityResponse.error.id":"System.String","CoverageEligibilityResponse.error.modifierExtension":"Extension","CoverageEligibilityResponse.extension":"Extension","CoverageEligibilityResponse.form":"CodeableConcept","CoverageEligibilityResponse.id":"System.String","CoverageEligibilityResponse.identifier":"Identifier","CoverageEligibilityResponse.implicitRules":"uri","CoverageEligibilityResponse.insurance":"BackboneElement","CoverageEligibilityResponse.insurance.benefitPeriod":"Period","CoverageEligibilityResponse.insurance.coverage":"Reference","CoverageEligibilityResponse.insurance.extension":"Extension","CoverageEligibilityResponse.insurance.id":"System.String","CoverageEligibilityResponse.insurance.inforce":"boolean","CoverageEligibilityResponse.insurance.item":"BackboneElement","CoverageEligibilityResponse.insurance.item.authorizationRequired":"boolean","CoverageEligibilityResponse.insurance.item.authorizationSupporting":"CodeableConcept","CoverageEligibilityResponse.insurance.item.authorizationUrl":"uri","CoverageEligibilityResponse.insurance.item.benefit":"BackboneElement","CoverageEligibilityResponse.insurance.item.benefit.allowedMoney":"Money","CoverageEligibilityResponse.insurance.item.benefit.allowedString":"string","CoverageEligibilityResponse.insurance.item.benefit.allowedUnsignedInt":"unsignedInt","CoverageEligibilityResponse.insurance.item.benefit.extension":"Extension","CoverageEligibilityResponse.insurance.item.benefit.id":"System.String","CoverageEligibilityResponse.insurance.item.benefit.modifierExtension":"Extension","CoverageEligibilityResponse.insurance.item.benefit.type":"CodeableConcept","CoverageEligibilityResponse.insurance.item.benefit.usedMoney":"Money","CoverageEligibilityResponse.insurance.item.benefit.usedString":"string","CoverageEligibilityResponse.insurance.item.benefit.usedUnsignedInt":"unsignedInt","CoverageEligibilityResponse.insurance.item.category":"CodeableConcept","CoverageEligibilityResponse.insurance.item.description":"string","CoverageEligibilityResponse.insurance.item.excluded":"boolean","CoverageEligibilityResponse.insurance.item.extension":"Extension","CoverageEligibilityResponse.insurance.item.id":"System.String","CoverageEligibilityResponse.insurance.item.modifier":"CodeableConcept","CoverageEligibilityResponse.insurance.item.modifierExtension":"Extension","CoverageEligibilityResponse.insurance.item.name":"string","CoverageEligibilityResponse.insurance.item.network":"CodeableConcept","CoverageEligibilityResponse.insurance.item.productOrService":"CodeableConcept","CoverageEligibilityResponse.insurance.item.provider":"Reference","CoverageEligibilityResponse.insurance.item.term":"CodeableConcept","CoverageEligibilityResponse.insurance.item.unit":"CodeableConcept","CoverageEligibilityResponse.insurance.modifierExtension":"Extension","CoverageEligibilityResponse.insurer":"Reference","CoverageEligibilityResponse.language":"code","CoverageEligibilityResponse.meta":"Meta","CoverageEligibilityResponse.modifierExtension":"Extension","CoverageEligibilityResponse.outcome":"code","CoverageEligibilityResponse.patient":"Reference","CoverageEligibilityResponse.preAuthRef":"string","CoverageEligibilityResponse.purpose":"code","CoverageEligibilityResponse.request":"Reference","CoverageEligibilityResponse.requestor":"Reference","CoverageEligibilityResponse.servicedDate":"date","CoverageEligibilityResponse.servicedPeriod":"Period","CoverageEligibilityResponse.status":"code","CoverageEligibilityResponse.text":"Narrative","DataRequirement.codeFilter.code":"Coding","DataRequirement.codeFilter.extension":"Extension","DataRequirement.codeFilter.id":"System.String","DataRequirement.codeFilter.path":"string","DataRequirement.codeFilter.searchParam":"string","DataRequirement.codeFilter.valueSet":"canonical","DataRequirement.dateFilter.extension":"Extension","DataRequirement.dateFilter.id":"System.String","DataRequirement.dateFilter.path":"string","DataRequirement.dateFilter.searchParam":"string","DataRequirement.dateFilter.valueDateTime":"dateTime","DataRequirement.dateFilter.valueDuration":"Duration","DataRequirement.dateFilter.valuePeriod":"Period","DataRequirement.extension":"Extension","DataRequirement.id":"System.String","DataRequirement.limit":"positiveInt","DataRequirement.mustSupport":"string","DataRequirement.profile":"canonical","DataRequirement.sort.direction":"code","DataRequirement.sort.extension":"Extension","DataRequirement.sort.id":"System.String","DataRequirement.sort.path":"string","DataRequirement.subjectCodeableConcept":"CodeableConcept","DataRequirement.subjectReference":"Reference","DataRequirement.type":"code","DetectedIssue.author":"Reference","DetectedIssue.code":"CodeableConcept","DetectedIssue.contained":"Resource","DetectedIssue.detail":"string","DetectedIssue.evidence":"BackboneElement","DetectedIssue.evidence.code":"CodeableConcept","DetectedIssue.evidence.detail":"Reference","DetectedIssue.evidence.extension":"Extension","DetectedIssue.evidence.id":"System.String","DetectedIssue.evidence.modifierExtension":"Extension","DetectedIssue.extension":"Extension","DetectedIssue.id":"System.String","DetectedIssue.identifiedDateTime":"dateTime","DetectedIssue.identifiedPeriod":"Period","DetectedIssue.identifier":"Identifier","DetectedIssue.implicated":"Reference","DetectedIssue.implicitRules":"uri","DetectedIssue.language":"code","DetectedIssue.meta":"Meta","DetectedIssue.mitigation":"BackboneElement","DetectedIssue.mitigation.action":"CodeableConcept","DetectedIssue.mitigation.author":"Reference","DetectedIssue.mitigation.date":"dateTime","DetectedIssue.mitigation.extension":"Extension","DetectedIssue.mitigation.id":"System.String","DetectedIssue.mitigation.modifierExtension":"Extension","DetectedIssue.modifierExtension":"Extension","DetectedIssue.patient":"Reference","DetectedIssue.reference":"uri","DetectedIssue.severity":"code","DetectedIssue.status":"code","DetectedIssue.text":"Narrative","Device.contact":"ContactPoint","Device.contained":"Resource","Device.definition":"Reference","Device.deviceName":"BackboneElement","Device.deviceName.extension":"Extension","Device.deviceName.id":"System.String","Device.deviceName.modifierExtension":"Extension","Device.deviceName.name":"string","Device.deviceName.type":"code","Device.distinctIdentifier":"string","Device.expirationDate":"dateTime","Device.extension":"Extension","Device.id":"System.String","Device.identifier":"Identifier","Device.implicitRules":"uri","Device.language":"code","Device.location":"Reference","Device.lotNumber":"string","Device.manufactureDate":"dateTime","Device.manufacturer":"string","Device.meta":"Meta","Device.modelNumber":"string","Device.modifierExtension":"Extension","Device.note":"Annotation","Device.owner":"Reference","Device.parent":"Reference","Device.partNumber":"string","Device.patient":"Reference","Device.property":"BackboneElement","Device.property.extension":"Extension","Device.property.id":"System.String","Device.property.modifierExtension":"Extension","Device.property.type":"CodeableConcept","Device.property.valueCode":"CodeableConcept","Device.property.valueQuantity":"Quantity","Device.safety":"CodeableConcept","Device.serialNumber":"string","Device.specialization":"BackboneElement","Device.specialization.extension":"Extension","Device.specialization.id":"System.String","Device.specialization.modifierExtension":"Extension","Device.specialization.systemType":"CodeableConcept","Device.specialization.version":"string","Device.status":"code","Device.statusReason":"CodeableConcept","Device.text":"Narrative","Device.type":"CodeableConcept","Device.udiCarrier":"BackboneElement","Device.udiCarrier.carrierAIDC":"base64Binary","Device.udiCarrier.carrierHRF":"string","Device.udiCarrier.deviceIdentifier":"string","Device.udiCarrier.entryType":"code","Device.udiCarrier.extension":"Extension","Device.udiCarrier.id":"System.String","Device.udiCarrier.issuer":"uri","Device.udiCarrier.jurisdiction":"uri","Device.udiCarrier.modifierExtension":"Extension","Device.url":"uri","Device.version":"BackboneElement","Device.version.component":"Identifier","Device.version.extension":"Extension","Device.version.id":"System.String","Device.version.modifierExtension":"Extension","Device.version.type":"CodeableConcept","Device.version.value":"string","DeviceDefinition.capability":"BackboneElement","DeviceDefinition.capability.description":"CodeableConcept","DeviceDefinition.capability.extension":"Extension","DeviceDefinition.capability.id":"System.String","DeviceDefinition.capability.modifierExtension":"Extension","DeviceDefinition.capability.type":"CodeableConcept","DeviceDefinition.contact":"ContactPoint","DeviceDefinition.contained":"Resource","DeviceDefinition.deviceName":"BackboneElement","DeviceDefinition.deviceName.extension":"Extension","DeviceDefinition.deviceName.id":"System.String","DeviceDefinition.deviceName.modifierExtension":"Extension","DeviceDefinition.deviceName.name":"string","DeviceDefinition.deviceName.type":"code","DeviceDefinition.extension":"Extension","DeviceDefinition.id":"System.String","DeviceDefinition.identifier":"Identifier","DeviceDefinition.implicitRules":"uri","DeviceDefinition.language":"code","DeviceDefinition.languageCode":"CodeableConcept","DeviceDefinition.manufacturerReference":"Reference","DeviceDefinition.manufacturerString":"string","DeviceDefinition.material":"BackboneElement","DeviceDefinition.material.allergenicIndicator":"boolean","DeviceDefinition.material.alternate":"boolean","DeviceDefinition.material.extension":"Extension","DeviceDefinition.material.id":"System.String","DeviceDefinition.material.modifierExtension":"Extension","DeviceDefinition.material.substance":"CodeableConcept","DeviceDefinition.meta":"Meta","DeviceDefinition.modelNumber":"string","DeviceDefinition.modifierExtension":"Extension","DeviceDefinition.note":"Annotation","DeviceDefinition.onlineInformation":"uri","DeviceDefinition.owner":"Reference","DeviceDefinition.parentDevice":"Reference","DeviceDefinition.physicalCharacteristics":"ProdCharacteristic","DeviceDefinition.property":"BackboneElement","DeviceDefinition.property.extension":"Extension","DeviceDefinition.property.id":"System.String","DeviceDefinition.property.modifierExtension":"Extension","DeviceDefinition.property.type":"CodeableConcept","DeviceDefinition.property.valueCode":"CodeableConcept","DeviceDefinition.property.valueQuantity":"Quantity","DeviceDefinition.quantity":"Quantity","DeviceDefinition.safety":"CodeableConcept","DeviceDefinition.shelfLifeStorage":"ProductShelfLife","DeviceDefinition.specialization":"BackboneElement","DeviceDefinition.specialization.extension":"Extension","DeviceDefinition.specialization.id":"System.String","DeviceDefinition.specialization.modifierExtension":"Extension","DeviceDefinition.specialization.systemType":"string","DeviceDefinition.specialization.version":"string","DeviceDefinition.text":"Narrative","DeviceDefinition.type":"CodeableConcept","DeviceDefinition.udiDeviceIdentifier":"BackboneElement","DeviceDefinition.udiDeviceIdentifier.deviceIdentifier":"string","DeviceDefinition.udiDeviceIdentifier.extension":"Extension","DeviceDefinition.udiDeviceIdentifier.id":"System.String","DeviceDefinition.udiDeviceIdentifier.issuer":"uri","DeviceDefinition.udiDeviceIdentifier.jurisdiction":"uri","DeviceDefinition.udiDeviceIdentifier.modifierExtension":"Extension","DeviceDefinition.url":"uri","DeviceDefinition.version":"string","DeviceMetric.calibration":"BackboneElement","DeviceMetric.calibration.extension":"Extension","DeviceMetric.calibration.id":"System.String","DeviceMetric.calibration.modifierExtension":"Extension","DeviceMetric.calibration.state":"code","DeviceMetric.calibration.time":"instant","DeviceMetric.calibration.type":"code","DeviceMetric.category":"code","DeviceMetric.color":"code","DeviceMetric.contained":"Resource","DeviceMetric.extension":"Extension","DeviceMetric.id":"System.String","DeviceMetric.identifier":"Identifier","DeviceMetric.implicitRules":"uri","DeviceMetric.language":"code","DeviceMetric.measurementPeriod":"Timing","DeviceMetric.meta":"Meta","DeviceMetric.modifierExtension":"Extension","DeviceMetric.operationalStatus":"code","DeviceMetric.parent":"Reference","DeviceMetric.source":"Reference","DeviceMetric.text":"Narrative","DeviceMetric.type":"CodeableConcept","DeviceMetric.unit":"CodeableConcept","DeviceRequest.authoredOn":"dateTime","DeviceRequest.basedOn":"Reference","DeviceRequest.codeCodeableConcept":"CodeableConcept","DeviceRequest.codeReference":"Reference","DeviceRequest.contained":"Resource","DeviceRequest.encounter":"Reference","DeviceRequest.extension":"Extension","DeviceRequest.groupIdentifier":"Identifier","DeviceRequest.id":"System.String","DeviceRequest.identifier":"Identifier","DeviceRequest.implicitRules":"uri","DeviceRequest.instantiatesCanonical":"canonical","DeviceRequest.instantiatesUri":"uri","DeviceRequest.insurance":"Reference","DeviceRequest.intent":"code","DeviceRequest.language":"code","DeviceRequest.meta":"Meta","DeviceRequest.modifierExtension":"Extension","DeviceRequest.note":"Annotation","DeviceRequest.occurrenceDateTime":"dateTime","DeviceRequest.occurrencePeriod":"Period","DeviceRequest.occurrenceTiming":"Timing","DeviceRequest.parameter":"BackboneElement","DeviceRequest.parameter.code":"CodeableConcept","DeviceRequest.parameter.extension":"Extension","DeviceRequest.parameter.id":"System.String","DeviceRequest.parameter.modifierExtension":"Extension","DeviceRequest.parameter.valueBoolean":"boolean","DeviceRequest.parameter.valueCodeableConcept":"CodeableConcept","DeviceRequest.parameter.valueQuantity":"Quantity","DeviceRequest.parameter.valueRange":"Range","DeviceRequest.performer":"Reference","DeviceRequest.performerType":"CodeableConcept","DeviceRequest.priorRequest":"Reference","DeviceRequest.priority":"code","DeviceRequest.reasonCode":"CodeableConcept","DeviceRequest.reasonReference":"Reference","DeviceRequest.relevantHistory":"Reference","DeviceRequest.requester":"Reference","DeviceRequest.status":"code","DeviceRequest.subject":"Reference","DeviceRequest.supportingInfo":"Reference","DeviceRequest.text":"Narrative","DeviceUseStatement.basedOn":"Reference","DeviceUseStatement.bodySite":"CodeableConcept","DeviceUseStatement.contained":"Resource","DeviceUseStatement.derivedFrom":"Reference","DeviceUseStatement.device":"Reference","DeviceUseStatement.extension":"Extension","DeviceUseStatement.id":"System.String","DeviceUseStatement.identifier":"Identifier","DeviceUseStatement.implicitRules":"uri","DeviceUseStatement.language":"code","DeviceUseStatement.meta":"Meta","DeviceUseStatement.modifierExtension":"Extension","DeviceUseStatement.note":"Annotation","DeviceUseStatement.reasonCode":"CodeableConcept","DeviceUseStatement.reasonReference":"Reference","DeviceUseStatement.recordedOn":"dateTime","DeviceUseStatement.source":"Reference","DeviceUseStatement.status":"code","DeviceUseStatement.subject":"Reference","DeviceUseStatement.text":"Narrative","DeviceUseStatement.timingDateTime":"dateTime","DeviceUseStatement.timingPeriod":"Period","DeviceUseStatement.timingTiming":"Timing","DiagnosticReport.basedOn":"Reference","DiagnosticReport.category":"CodeableConcept","DiagnosticReport.code":"CodeableConcept","DiagnosticReport.conclusion":"string","DiagnosticReport.conclusionCode":"CodeableConcept","DiagnosticReport.contained":"Resource","DiagnosticReport.effectiveDateTime":"dateTime","DiagnosticReport.effectivePeriod":"Period","DiagnosticReport.encounter":"Reference","DiagnosticReport.extension":"Extension","DiagnosticReport.id":"System.String","DiagnosticReport.identifier":"Identifier","DiagnosticReport.imagingStudy":"Reference","DiagnosticReport.implicitRules":"uri","DiagnosticReport.issued":"instant","DiagnosticReport.language":"code","DiagnosticReport.media":"BackboneElement","DiagnosticReport.media.comment":"string","DiagnosticReport.media.extension":"Extension","DiagnosticReport.media.id":"System.String","DiagnosticReport.media.link":"Reference","DiagnosticReport.media.modifierExtension":"Extension","DiagnosticReport.meta":"Meta","DiagnosticReport.modifierExtension":"Extension","DiagnosticReport.performer":"Reference","DiagnosticReport.presentedForm":"Attachment","DiagnosticReport.result":"Reference","DiagnosticReport.resultsInterpreter":"Reference","DiagnosticReport.specimen":"Reference","DiagnosticReport.status":"code","DiagnosticReport.subject":"Reference","DiagnosticReport.text":"Narrative","Distance.code":"code","Distance.comparator":"code","Distance.extension":"Extension","Distance.id":"System.String","Distance.system":"uri","Distance.unit":"string","Distance.value":"decimal","DocumentManifest.author":"Reference","DocumentManifest.contained":"Resource","DocumentManifest.content":"Reference","DocumentManifest.created":"dateTime","DocumentManifest.description":"string","DocumentManifest.extension":"Extension","DocumentManifest.id":"System.String","DocumentManifest.identifier":"Identifier","DocumentManifest.implicitRules":"uri","DocumentManifest.language":"code","DocumentManifest.masterIdentifier":"Identifier","DocumentManifest.meta":"Meta","DocumentManifest.modifierExtension":"Extension","DocumentManifest.recipient":"Reference","DocumentManifest.related":"BackboneElement","DocumentManifest.related.extension":"Extension","DocumentManifest.related.id":"System.String","DocumentManifest.related.identifier":"Identifier","DocumentManifest.related.modifierExtension":"Extension","DocumentManifest.related.ref":"Reference","DocumentManifest.source":"uri","DocumentManifest.status":"code","DocumentManifest.subject":"Reference","DocumentManifest.text":"Narrative","DocumentManifest.type":"CodeableConcept","DocumentReference.authenticator":"Reference","DocumentReference.author":"Reference","DocumentReference.category":"CodeableConcept","DocumentReference.contained":"Resource","DocumentReference.content":"BackboneElement","DocumentReference.content.attachment":"Attachment","DocumentReference.content.extension":"Extension","DocumentReference.content.format":"Coding","DocumentReference.content.id":"System.String","DocumentReference.content.modifierExtension":"Extension","DocumentReference.context":"BackboneElement","DocumentReference.context.encounter":"Reference","DocumentReference.context.event":"CodeableConcept","DocumentReference.context.extension":"Extension","DocumentReference.context.facilityType":"CodeableConcept","DocumentReference.context.id":"System.String","DocumentReference.context.modifierExtension":"Extension","DocumentReference.context.period":"Period","DocumentReference.context.practiceSetting":"CodeableConcept","DocumentReference.context.related":"Reference","DocumentReference.context.sourcePatientInfo":"Reference","DocumentReference.custodian":"Reference","DocumentReference.date":"instant","DocumentReference.description":"string","DocumentReference.docStatus":"code","DocumentReference.extension":"Extension","DocumentReference.id":"System.String","DocumentReference.identifier":"Identifier","DocumentReference.implicitRules":"uri","DocumentReference.language":"code","DocumentReference.masterIdentifier":"Identifier","DocumentReference.meta":"Meta","DocumentReference.modifierExtension":"Extension","DocumentReference.relatesTo":"BackboneElement","DocumentReference.relatesTo.code":"code","DocumentReference.relatesTo.extension":"Extension","DocumentReference.relatesTo.id":"System.String","DocumentReference.relatesTo.modifierExtension":"Extension","DocumentReference.relatesTo.target":"Reference","DocumentReference.securityLabel":"CodeableConcept","DocumentReference.status":"code","DocumentReference.subject":"Reference","DocumentReference.text":"Narrative","DocumentReference.type":"CodeableConcept","DomainResource.contained":"Resource","DomainResource.extension":"Extension","DomainResource.id":"System.String","DomainResource.implicitRules":"uri","DomainResource.language":"code","DomainResource.meta":"Meta","DomainResource.modifierExtension":"Extension","DomainResource.text":"Narrative","Dosage.additionalInstruction":"CodeableConcept","Dosage.asNeededBoolean":"boolean","Dosage.asNeededCodeableConcept":"CodeableConcept","Dosage.doseAndRate.doseQuantity":"Quantity","Dosage.doseAndRate.doseRange":"Range","Dosage.doseAndRate.extension":"Extension","Dosage.doseAndRate.id":"System.String","Dosage.doseAndRate.rateQuantity":"Quantity","Dosage.doseAndRate.rateRange":"Range","Dosage.doseAndRate.rateRatio":"Ratio","Dosage.doseAndRate.type":"CodeableConcept","Dosage.extension":"Extension","Dosage.id":"System.String","Dosage.maxDosePerAdministration":"Quantity","Dosage.maxDosePerLifetime":"Quantity","Dosage.maxDosePerPeriod":"Ratio","Dosage.method":"CodeableConcept","Dosage.modifierExtension":"Extension","Dosage.patientInstruction":"string","Dosage.route":"CodeableConcept","Dosage.sequence":"integer","Dosage.site":"CodeableConcept","Dosage.text":"string","Dosage.timing":"Timing","Duration.code":"code","Duration.comparator":"code","Duration.extension":"Extension","Duration.id":"System.String","Duration.system":"uri","Duration.unit":"string","Duration.value":"decimal","EffectEvidenceSynthesis.approvalDate":"date","EffectEvidenceSynthesis.author":"ContactDetail","EffectEvidenceSynthesis.certainty":"BackboneElement","EffectEvidenceSynthesis.certainty.certaintySubcomponent":"BackboneElement","EffectEvidenceSynthesis.certainty.certaintySubcomponent.extension":"Extension","EffectEvidenceSynthesis.certainty.certaintySubcomponent.id":"System.String","EffectEvidenceSynthesis.certainty.certaintySubcomponent.modifierExtension":"Extension","EffectEvidenceSynthesis.certainty.certaintySubcomponent.note":"Annotation","EffectEvidenceSynthesis.certainty.certaintySubcomponent.rating":"CodeableConcept","EffectEvidenceSynthesis.certainty.certaintySubcomponent.type":"CodeableConcept","EffectEvidenceSynthesis.certainty.extension":"Extension","EffectEvidenceSynthesis.certainty.id":"System.String","EffectEvidenceSynthesis.certainty.modifierExtension":"Extension","EffectEvidenceSynthesis.certainty.note":"Annotation","EffectEvidenceSynthesis.certainty.rating":"CodeableConcept","EffectEvidenceSynthesis.contact":"ContactDetail","EffectEvidenceSynthesis.contained":"Resource","EffectEvidenceSynthesis.copyright":"markdown","EffectEvidenceSynthesis.date":"dateTime","EffectEvidenceSynthesis.description":"markdown","EffectEvidenceSynthesis.editor":"ContactDetail","EffectEvidenceSynthesis.effectEstimate":"BackboneElement","EffectEvidenceSynthesis.effectEstimate.description":"string","EffectEvidenceSynthesis.effectEstimate.extension":"Extension","EffectEvidenceSynthesis.effectEstimate.id":"System.String","EffectEvidenceSynthesis.effectEstimate.modifierExtension":"Extension","EffectEvidenceSynthesis.effectEstimate.precisionEstimate":"BackboneElement","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.extension":"Extension","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.from":"decimal","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.id":"System.String","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.level":"decimal","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.modifierExtension":"Extension","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.to":"decimal","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.type":"CodeableConcept","EffectEvidenceSynthesis.effectEstimate.type":"CodeableConcept","EffectEvidenceSynthesis.effectEstimate.unitOfMeasure":"CodeableConcept","EffectEvidenceSynthesis.effectEstimate.value":"decimal","EffectEvidenceSynthesis.effectEstimate.variantState":"CodeableConcept","EffectEvidenceSynthesis.effectivePeriod":"Period","EffectEvidenceSynthesis.endorser":"ContactDetail","EffectEvidenceSynthesis.exposure":"Reference","EffectEvidenceSynthesis.exposureAlternative":"Reference","EffectEvidenceSynthesis.extension":"Extension","EffectEvidenceSynthesis.id":"System.String","EffectEvidenceSynthesis.identifier":"Identifier","EffectEvidenceSynthesis.implicitRules":"uri","EffectEvidenceSynthesis.jurisdiction":"CodeableConcept","EffectEvidenceSynthesis.language":"code","EffectEvidenceSynthesis.lastReviewDate":"date","EffectEvidenceSynthesis.meta":"Meta","EffectEvidenceSynthesis.modifierExtension":"Extension","EffectEvidenceSynthesis.name":"string","EffectEvidenceSynthesis.note":"Annotation","EffectEvidenceSynthesis.outcome":"Reference","EffectEvidenceSynthesis.population":"Reference","EffectEvidenceSynthesis.publisher":"string","EffectEvidenceSynthesis.relatedArtifact":"RelatedArtifact","EffectEvidenceSynthesis.resultsByExposure":"BackboneElement","EffectEvidenceSynthesis.resultsByExposure.description":"string","EffectEvidenceSynthesis.resultsByExposure.exposureState":"code","EffectEvidenceSynthesis.resultsByExposure.extension":"Extension","EffectEvidenceSynthesis.resultsByExposure.id":"System.String","EffectEvidenceSynthesis.resultsByExposure.modifierExtension":"Extension","EffectEvidenceSynthesis.resultsByExposure.riskEvidenceSynthesis":"Reference","EffectEvidenceSynthesis.resultsByExposure.variantState":"CodeableConcept","EffectEvidenceSynthesis.reviewer":"ContactDetail","EffectEvidenceSynthesis.sampleSize":"BackboneElement","EffectEvidenceSynthesis.sampleSize.description":"string","EffectEvidenceSynthesis.sampleSize.extension":"Extension","EffectEvidenceSynthesis.sampleSize.id":"System.String","EffectEvidenceSynthesis.sampleSize.modifierExtension":"Extension","EffectEvidenceSynthesis.sampleSize.numberOfParticipants":"integer","EffectEvidenceSynthesis.sampleSize.numberOfStudies":"integer","EffectEvidenceSynthesis.status":"code","EffectEvidenceSynthesis.studyType":"CodeableConcept","EffectEvidenceSynthesis.synthesisType":"CodeableConcept","EffectEvidenceSynthesis.text":"Narrative","EffectEvidenceSynthesis.title":"string","EffectEvidenceSynthesis.topic":"CodeableConcept","EffectEvidenceSynthesis.url":"uri","EffectEvidenceSynthesis.useContext":"UsageContext","EffectEvidenceSynthesis.version":"string","Element.extension":"Extension","Element.id":"System.String","ElementDefinition.alias":"string","ElementDefinition.base.extension":"Extension","ElementDefinition.base.id":"System.String","ElementDefinition.base.max":"string","ElementDefinition.base.min":"unsignedInt","ElementDefinition.base.path":"string","ElementDefinition.binding.description":"string","ElementDefinition.binding.extension":"Extension","ElementDefinition.binding.id":"System.String","ElementDefinition.binding.strength":"code","ElementDefinition.binding.valueSet":"canonical","ElementDefinition.code":"Coding","ElementDefinition.comment":"markdown","ElementDefinition.condition":"id","ElementDefinition.constraint.expression":"string","ElementDefinition.constraint.extension":"Extension","ElementDefinition.constraint.human":"string","ElementDefinition.constraint.id":"System.String","ElementDefinition.constraint.key":"id","ElementDefinition.constraint.requirements":"string","ElementDefinition.constraint.severity":"code","ElementDefinition.constraint.source":"canonical","ElementDefinition.constraint.xpath":"string","ElementDefinition.contentReference":"uri","ElementDefinition.defaultValueAddress":"Address","ElementDefinition.defaultValueAge":"Age","ElementDefinition.defaultValueAnnotation":"Annotation","ElementDefinition.defaultValueAttachment":"Attachment","ElementDefinition.defaultValueBase64Binary":"base64Binary","ElementDefinition.defaultValueBoolean":"boolean","ElementDefinition.defaultValueCanonical":"canonical","ElementDefinition.defaultValueCode":"code","ElementDefinition.defaultValueCodeableConcept":"CodeableConcept","ElementDefinition.defaultValueCoding":"Coding","ElementDefinition.defaultValueContactDetail":"ContactDetail","ElementDefinition.defaultValueContactPoint":"ContactPoint","ElementDefinition.defaultValueContributor":"Contributor","ElementDefinition.defaultValueCount":"Count","ElementDefinition.defaultValueDataRequirement":"DataRequirement","ElementDefinition.defaultValueDate":"date","ElementDefinition.defaultValueDateTime":"dateTime","ElementDefinition.defaultValueDecimal":"decimal","ElementDefinition.defaultValueDistance":"Distance","ElementDefinition.defaultValueDosage":"Dosage","ElementDefinition.defaultValueDuration":"Duration","ElementDefinition.defaultValueExpression":"Expression","ElementDefinition.defaultValueHumanName":"HumanName","ElementDefinition.defaultValueId":"id","ElementDefinition.defaultValueIdentifier":"Identifier","ElementDefinition.defaultValueInstant":"instant","ElementDefinition.defaultValueInteger":"integer","ElementDefinition.defaultValueMarkdown":"markdown","ElementDefinition.defaultValueMeta":"Meta","ElementDefinition.defaultValueMoney":"Money","ElementDefinition.defaultValueOid":"oid","ElementDefinition.defaultValueParameterDefinition":"ParameterDefinition","ElementDefinition.defaultValuePeriod":"Period","ElementDefinition.defaultValuePositiveInt":"positiveInt","ElementDefinition.defaultValueQuantity":"Quantity","ElementDefinition.defaultValueRange":"Range","ElementDefinition.defaultValueRatio":"Ratio","ElementDefinition.defaultValueReference":"Reference","ElementDefinition.defaultValueRelatedArtifact":"RelatedArtifact","ElementDefinition.defaultValueSampledData":"SampledData","ElementDefinition.defaultValueSignature":"Signature","ElementDefinition.defaultValueString":"string","ElementDefinition.defaultValueTime":"time","ElementDefinition.defaultValueTiming":"Timing","ElementDefinition.defaultValueTriggerDefinition":"TriggerDefinition","ElementDefinition.defaultValueUnsignedInt":"unsignedInt","ElementDefinition.defaultValueUri":"uri","ElementDefinition.defaultValueUrl":"url","ElementDefinition.defaultValueUsageContext":"UsageContext","ElementDefinition.defaultValueUuid":"uuid","ElementDefinition.definition":"markdown","ElementDefinition.example.extension":"Extension","ElementDefinition.example.id":"System.String","ElementDefinition.example.label":"string","ElementDefinition.example.valueAddress":"Address","ElementDefinition.example.valueAge":"Age","ElementDefinition.example.valueAnnotation":"Annotation","ElementDefinition.example.valueAttachment":"Attachment","ElementDefinition.example.valueBase64Binary":"base64Binary","ElementDefinition.example.valueBoolean":"boolean","ElementDefinition.example.valueCanonical":"canonical","ElementDefinition.example.valueCode":"code","ElementDefinition.example.valueCodeableConcept":"CodeableConcept","ElementDefinition.example.valueCoding":"Coding","ElementDefinition.example.valueContactDetail":"ContactDetail","ElementDefinition.example.valueContactPoint":"ContactPoint","ElementDefinition.example.valueContributor":"Contributor","ElementDefinition.example.valueCount":"Count","ElementDefinition.example.valueDataRequirement":"DataRequirement","ElementDefinition.example.valueDate":"date","ElementDefinition.example.valueDateTime":"dateTime","ElementDefinition.example.valueDecimal":"decimal","ElementDefinition.example.valueDistance":"Distance","ElementDefinition.example.valueDosage":"Dosage","ElementDefinition.example.valueDuration":"Duration","ElementDefinition.example.valueExpression":"Expression","ElementDefinition.example.valueHumanName":"HumanName","ElementDefinition.example.valueId":"id","ElementDefinition.example.valueIdentifier":"Identifier","ElementDefinition.example.valueInstant":"instant","ElementDefinition.example.valueInteger":"integer","ElementDefinition.example.valueMarkdown":"markdown","ElementDefinition.example.valueMeta":"Meta","ElementDefinition.example.valueMoney":"Money","ElementDefinition.example.valueOid":"oid","ElementDefinition.example.valueParameterDefinition":"ParameterDefinition","ElementDefinition.example.valuePeriod":"Period","ElementDefinition.example.valuePositiveInt":"positiveInt","ElementDefinition.example.valueQuantity":"Quantity","ElementDefinition.example.valueRange":"Range","ElementDefinition.example.valueRatio":"Ratio","ElementDefinition.example.valueReference":"Reference","ElementDefinition.example.valueRelatedArtifact":"RelatedArtifact","ElementDefinition.example.valueSampledData":"SampledData","ElementDefinition.example.valueSignature":"Signature","ElementDefinition.example.valueString":"string","ElementDefinition.example.valueTime":"time","ElementDefinition.example.valueTiming":"Timing","ElementDefinition.example.valueTriggerDefinition":"TriggerDefinition","ElementDefinition.example.valueUnsignedInt":"unsignedInt","ElementDefinition.example.valueUri":"uri","ElementDefinition.example.valueUrl":"url","ElementDefinition.example.valueUsageContext":"UsageContext","ElementDefinition.example.valueUuid":"uuid","ElementDefinition.extension":"Extension","ElementDefinition.extension.extension":"Extension","ElementDefinition.extension.id":"System.String","ElementDefinition.extension.url":"System.String","ElementDefinition.extension.valueCanonical":"canonical","ElementDefinition.extension.valueCodeableConcept":"CodeableConcept","ElementDefinition.extension.valueString":"string","ElementDefinition.fixedAddress":"Address","ElementDefinition.fixedAge":"Age","ElementDefinition.fixedAnnotation":"Annotation","ElementDefinition.fixedAttachment":"Attachment","ElementDefinition.fixedBase64Binary":"base64Binary","ElementDefinition.fixedBoolean":"boolean","ElementDefinition.fixedCanonical":"canonical","ElementDefinition.fixedCode":"code","ElementDefinition.fixedCodeableConcept":"CodeableConcept","ElementDefinition.fixedCoding":"Coding","ElementDefinition.fixedContactDetail":"ContactDetail","ElementDefinition.fixedContactPoint":"ContactPoint","ElementDefinition.fixedContributor":"Contributor","ElementDefinition.fixedCount":"Count","ElementDefinition.fixedDataRequirement":"DataRequirement","ElementDefinition.fixedDate":"date","ElementDefinition.fixedDateTime":"dateTime","ElementDefinition.fixedDecimal":"decimal","ElementDefinition.fixedDistance":"Distance","ElementDefinition.fixedDosage":"Dosage","ElementDefinition.fixedDuration":"Duration","ElementDefinition.fixedExpression":"Expression","ElementDefinition.fixedHumanName":"HumanName","ElementDefinition.fixedId":"id","ElementDefinition.fixedIdentifier":"Identifier","ElementDefinition.fixedInstant":"instant","ElementDefinition.fixedInteger":"integer","ElementDefinition.fixedMarkdown":"markdown","ElementDefinition.fixedMeta":"Meta","ElementDefinition.fixedMoney":"Money","ElementDefinition.fixedOid":"oid","ElementDefinition.fixedParameterDefinition":"ParameterDefinition","ElementDefinition.fixedPeriod":"Period","ElementDefinition.fixedPositiveInt":"positiveInt","ElementDefinition.fixedQuantity":"Quantity","ElementDefinition.fixedRange":"Range","ElementDefinition.fixedRatio":"Ratio","ElementDefinition.fixedReference":"Reference","ElementDefinition.fixedRelatedArtifact":"RelatedArtifact","ElementDefinition.fixedSampledData":"SampledData","ElementDefinition.fixedSignature":"Signature","ElementDefinition.fixedString":"string","ElementDefinition.fixedTime":"time","ElementDefinition.fixedTiming":"Timing","ElementDefinition.fixedTriggerDefinition":"TriggerDefinition","ElementDefinition.fixedUnsignedInt":"unsignedInt","ElementDefinition.fixedUri":"uri","ElementDefinition.fixedUrl":"url","ElementDefinition.fixedUsageContext":"UsageContext","ElementDefinition.fixedUuid":"uuid","ElementDefinition.id":"System.String","ElementDefinition.isModifier":"boolean","ElementDefinition.isModifierReason":"string","ElementDefinition.isSummary":"boolean","ElementDefinition.label":"string","ElementDefinition.mapping.comment":"string","ElementDefinition.mapping.extension":"Extension","ElementDefinition.mapping.id":"System.String","ElementDefinition.mapping.identity":"id","ElementDefinition.mapping.language":"code","ElementDefinition.mapping.map":"string","ElementDefinition.max":"string","ElementDefinition.maxLength":"integer","ElementDefinition.maxValueDate":"date","ElementDefinition.maxValueDateTime":"dateTime","ElementDefinition.maxValueDecimal":"decimal","ElementDefinition.maxValueInstant":"instant","ElementDefinition.maxValueInteger":"integer","ElementDefinition.maxValuePositiveInt":"positiveInt","ElementDefinition.maxValueQuantity":"Quantity","ElementDefinition.maxValueTime":"time","ElementDefinition.maxValueUnsignedInt":"unsignedInt","ElementDefinition.meaningWhenMissing":"markdown","ElementDefinition.min":"unsignedInt","ElementDefinition.minValueDate":"date","ElementDefinition.minValueDateTime":"dateTime","ElementDefinition.minValueDecimal":"decimal","ElementDefinition.minValueInstant":"instant","ElementDefinition.minValueInteger":"integer","ElementDefinition.minValuePositiveInt":"positiveInt","ElementDefinition.minValueQuantity":"Quantity","ElementDefinition.minValueTime":"time","ElementDefinition.minValueUnsignedInt":"unsignedInt","ElementDefinition.modifierExtension":"Extension","ElementDefinition.mustSupport":"boolean","ElementDefinition.orderMeaning":"string","ElementDefinition.path":"string","ElementDefinition.patternAddress":"Address","ElementDefinition.patternAge":"Age","ElementDefinition.patternAnnotation":"Annotation","ElementDefinition.patternAttachment":"Attachment","ElementDefinition.patternBase64Binary":"base64Binary","ElementDefinition.patternBoolean":"boolean","ElementDefinition.patternCanonical":"canonical","ElementDefinition.patternCode":"code","ElementDefinition.patternCodeableConcept":"CodeableConcept","ElementDefinition.patternCoding":"Coding","ElementDefinition.patternContactDetail":"ContactDetail","ElementDefinition.patternContactPoint":"ContactPoint","ElementDefinition.patternContributor":"Contributor","ElementDefinition.patternCount":"Count","ElementDefinition.patternDataRequirement":"DataRequirement","ElementDefinition.patternDate":"date","ElementDefinition.patternDateTime":"dateTime","ElementDefinition.patternDecimal":"decimal","ElementDefinition.patternDistance":"Distance","ElementDefinition.patternDosage":"Dosage","ElementDefinition.patternDuration":"Duration","ElementDefinition.patternExpression":"Expression","ElementDefinition.patternHumanName":"HumanName","ElementDefinition.patternId":"id","ElementDefinition.patternIdentifier":"Identifier","ElementDefinition.patternInstant":"instant","ElementDefinition.patternInteger":"integer","ElementDefinition.patternMarkdown":"markdown","ElementDefinition.patternMeta":"Meta","ElementDefinition.patternMoney":"Money","ElementDefinition.patternOid":"oid","ElementDefinition.patternParameterDefinition":"ParameterDefinition","ElementDefinition.patternPeriod":"Period","ElementDefinition.patternPositiveInt":"positiveInt","ElementDefinition.patternQuantity":"Quantity","ElementDefinition.patternRange":"Range","ElementDefinition.patternRatio":"Ratio","ElementDefinition.patternReference":"Reference","ElementDefinition.patternRelatedArtifact":"RelatedArtifact","ElementDefinition.patternSampledData":"SampledData","ElementDefinition.patternSignature":"Signature","ElementDefinition.patternString":"string","ElementDefinition.patternTime":"time","ElementDefinition.patternTiming":"Timing","ElementDefinition.patternTriggerDefinition":"TriggerDefinition","ElementDefinition.patternUnsignedInt":"unsignedInt","ElementDefinition.patternUri":"uri","ElementDefinition.patternUrl":"url","ElementDefinition.patternUsageContext":"UsageContext","ElementDefinition.patternUuid":"uuid","ElementDefinition.representation":"code","ElementDefinition.requirements":"markdown","ElementDefinition.short":"string","ElementDefinition.sliceIsConstraining":"boolean","ElementDefinition.sliceName":"string","ElementDefinition.slicing.description":"string","ElementDefinition.slicing.discriminator.extension":"Extension","ElementDefinition.slicing.discriminator.id":"System.String","ElementDefinition.slicing.discriminator.path":"string","ElementDefinition.slicing.discriminator.type":"code","ElementDefinition.slicing.extension":"Extension","ElementDefinition.slicing.id":"System.String","ElementDefinition.slicing.ordered":"boolean","ElementDefinition.slicing.rules":"code","ElementDefinition.type.aggregation":"code","ElementDefinition.type.code":"uri","ElementDefinition.type.extension":"Extension","ElementDefinition.type.id":"System.String","ElementDefinition.type.profile":"canonical","ElementDefinition.type.targetProfile":"canonical","ElementDefinition.type.versioning":"code","Encounter.account":"Reference","Encounter.appointment":"Reference","Encounter.basedOn":"Reference","Encounter.class":"Coding","Encounter.classHistory":"BackboneElement","Encounter.classHistory.class":"Coding","Encounter.classHistory.extension":"Extension","Encounter.classHistory.id":"System.String","Encounter.classHistory.modifierExtension":"Extension","Encounter.classHistory.period":"Period","Encounter.contained":"Resource","Encounter.diagnosis":"BackboneElement","Encounter.diagnosis.condition":"Reference","Encounter.diagnosis.extension":"Extension","Encounter.diagnosis.id":"System.String","Encounter.diagnosis.modifierExtension":"Extension","Encounter.diagnosis.rank":"positiveInt","Encounter.diagnosis.use":"CodeableConcept","Encounter.episodeOfCare":"Reference","Encounter.extension":"Extension","Encounter.hospitalization":"BackboneElement","Encounter.hospitalization.admitSource":"CodeableConcept","Encounter.hospitalization.destination":"Reference","Encounter.hospitalization.dietPreference":"CodeableConcept","Encounter.hospitalization.dischargeDisposition":"CodeableConcept","Encounter.hospitalization.extension":"Extension","Encounter.hospitalization.id":"System.String","Encounter.hospitalization.modifierExtension":"Extension","Encounter.hospitalization.origin":"Reference","Encounter.hospitalization.preAdmissionIdentifier":"Identifier","Encounter.hospitalization.reAdmission":"CodeableConcept","Encounter.hospitalization.specialArrangement":"CodeableConcept","Encounter.hospitalization.specialCourtesy":"CodeableConcept","Encounter.id":"System.String","Encounter.identifier":"Identifier","Encounter.implicitRules":"uri","Encounter.language":"code","Encounter.length":"Duration","Encounter.location":"BackboneElement","Encounter.location.extension":"Extension","Encounter.location.id":"System.String","Encounter.location.location":"Reference","Encounter.location.modifierExtension":"Extension","Encounter.location.period":"Period","Encounter.location.physicalType":"CodeableConcept","Encounter.location.status":"code","Encounter.meta":"Meta","Encounter.modifierExtension":"Extension","Encounter.partOf":"Reference","Encounter.participant":"BackboneElement","Encounter.participant.extension":"Extension","Encounter.participant.id":"System.String","Encounter.participant.individual":"Reference","Encounter.participant.modifierExtension":"Extension","Encounter.participant.period":"Period","Encounter.participant.type":"CodeableConcept","Encounter.period":"Period","Encounter.priority":"CodeableConcept","Encounter.reasonCode":"CodeableConcept","Encounter.reasonReference":"Reference","Encounter.serviceProvider":"Reference","Encounter.serviceType":"CodeableConcept","Encounter.status":"code","Encounter.statusHistory":"BackboneElement","Encounter.statusHistory.extension":"Extension","Encounter.statusHistory.id":"System.String","Encounter.statusHistory.modifierExtension":"Extension","Encounter.statusHistory.period":"Period","Encounter.statusHistory.status":"code","Encounter.subject":"Reference","Encounter.text":"Narrative","Encounter.type":"CodeableConcept","Endpoint.address":"url","Endpoint.connectionType":"Coding","Endpoint.contact":"ContactPoint","Endpoint.contained":"Resource","Endpoint.extension":"Extension","Endpoint.header":"string","Endpoint.id":"System.String","Endpoint.identifier":"Identifier","Endpoint.implicitRules":"uri","Endpoint.language":"code","Endpoint.managingOrganization":"Reference","Endpoint.meta":"Meta","Endpoint.modifierExtension":"Extension","Endpoint.name":"string","Endpoint.payloadMimeType":"code","Endpoint.payloadType":"CodeableConcept","Endpoint.period":"Period","Endpoint.status":"code","Endpoint.text":"Narrative","EnrollmentRequest.candidate":"Reference","EnrollmentRequest.contained":"Resource","EnrollmentRequest.coverage":"Reference","EnrollmentRequest.created":"dateTime","EnrollmentRequest.extension":"Extension","EnrollmentRequest.id":"System.String","EnrollmentRequest.identifier":"Identifier","EnrollmentRequest.implicitRules":"uri","EnrollmentRequest.insurer":"Reference","EnrollmentRequest.language":"code","EnrollmentRequest.meta":"Meta","EnrollmentRequest.modifierExtension":"Extension","EnrollmentRequest.provider":"Reference","EnrollmentRequest.status":"code","EnrollmentRequest.text":"Narrative","EnrollmentResponse.contained":"Resource","EnrollmentResponse.created":"dateTime","EnrollmentResponse.disposition":"string","EnrollmentResponse.extension":"Extension","EnrollmentResponse.id":"System.String","EnrollmentResponse.identifier":"Identifier","EnrollmentResponse.implicitRules":"uri","EnrollmentResponse.language":"code","EnrollmentResponse.meta":"Meta","EnrollmentResponse.modifierExtension":"Extension","EnrollmentResponse.organization":"Reference","EnrollmentResponse.outcome":"code","EnrollmentResponse.request":"Reference","EnrollmentResponse.requestProvider":"Reference","EnrollmentResponse.status":"code","EnrollmentResponse.text":"Narrative","EpisodeOfCare.account":"Reference","EpisodeOfCare.careManager":"Reference","EpisodeOfCare.contained":"Resource","EpisodeOfCare.diagnosis":"BackboneElement","EpisodeOfCare.diagnosis.condition":"Reference","EpisodeOfCare.diagnosis.extension":"Extension","EpisodeOfCare.diagnosis.id":"System.String","EpisodeOfCare.diagnosis.modifierExtension":"Extension","EpisodeOfCare.diagnosis.rank":"positiveInt","EpisodeOfCare.diagnosis.role":"CodeableConcept","EpisodeOfCare.extension":"Extension","EpisodeOfCare.id":"System.String","EpisodeOfCare.identifier":"Identifier","EpisodeOfCare.implicitRules":"uri","EpisodeOfCare.language":"code","EpisodeOfCare.managingOrganization":"Reference","EpisodeOfCare.meta":"Meta","EpisodeOfCare.modifierExtension":"Extension","EpisodeOfCare.patient":"Reference","EpisodeOfCare.period":"Period","EpisodeOfCare.referralRequest":"Reference","EpisodeOfCare.status":"code","EpisodeOfCare.statusHistory":"BackboneElement","EpisodeOfCare.statusHistory.extension":"Extension","EpisodeOfCare.statusHistory.id":"System.String","EpisodeOfCare.statusHistory.modifierExtension":"Extension","EpisodeOfCare.statusHistory.period":"Period","EpisodeOfCare.statusHistory.status":"code","EpisodeOfCare.team":"Reference","EpisodeOfCare.text":"Narrative","EpisodeOfCare.type":"CodeableConcept","EventDefinition.approvalDate":"date","EventDefinition.author":"ContactDetail","EventDefinition.contact":"ContactDetail","EventDefinition.contained":"Resource","EventDefinition.copyright":"markdown","EventDefinition.date":"dateTime","EventDefinition.description":"markdown","EventDefinition.editor":"ContactDetail","EventDefinition.effectivePeriod":"Period","EventDefinition.endorser":"ContactDetail","EventDefinition.experimental":"boolean","EventDefinition.extension":"Extension","EventDefinition.id":"System.String","EventDefinition.identifier":"Identifier","EventDefinition.implicitRules":"uri","EventDefinition.jurisdiction":"CodeableConcept","EventDefinition.language":"code","EventDefinition.lastReviewDate":"date","EventDefinition.meta":"Meta","EventDefinition.modifierExtension":"Extension","EventDefinition.name":"string","EventDefinition.publisher":"string","EventDefinition.purpose":"markdown","EventDefinition.relatedArtifact":"RelatedArtifact","EventDefinition.reviewer":"ContactDetail","EventDefinition.status":"code","EventDefinition.subjectCodeableConcept":"CodeableConcept","EventDefinition.subjectReference":"Reference","EventDefinition.subtitle":"string","EventDefinition.text":"Narrative","EventDefinition.title":"string","EventDefinition.topic":"CodeableConcept","EventDefinition.trigger":"TriggerDefinition","EventDefinition.url":"uri","EventDefinition.usage":"string","EventDefinition.useContext":"UsageContext","EventDefinition.version":"string","Evidence.approvalDate":"date","Evidence.author":"ContactDetail","Evidence.contact":"ContactDetail","Evidence.contained":"Resource","Evidence.copyright":"markdown","Evidence.date":"dateTime","Evidence.description":"markdown","Evidence.editor":"ContactDetail","Evidence.effectivePeriod":"Period","Evidence.endorser":"ContactDetail","Evidence.exposureBackground":"Reference","Evidence.exposureVariant":"Reference","Evidence.extension":"Extension","Evidence.id":"System.String","Evidence.identifier":"Identifier","Evidence.implicitRules":"uri","Evidence.jurisdiction":"CodeableConcept","Evidence.language":"code","Evidence.lastReviewDate":"date","Evidence.meta":"Meta","Evidence.modifierExtension":"Extension","Evidence.name":"string","Evidence.note":"Annotation","Evidence.outcome":"Reference","Evidence.publisher":"string","Evidence.relatedArtifact":"RelatedArtifact","Evidence.reviewer":"ContactDetail","Evidence.shortTitle":"string","Evidence.status":"code","Evidence.subtitle":"string","Evidence.text":"Narrative","Evidence.title":"string","Evidence.topic":"CodeableConcept","Evidence.url":"uri","Evidence.useContext":"UsageContext","Evidence.version":"string","EvidenceVariable.approvalDate":"date","EvidenceVariable.author":"ContactDetail","EvidenceVariable.characteristic":"BackboneElement","EvidenceVariable.characteristic.definitionCanonical":"canonical","EvidenceVariable.characteristic.definitionCodeableConcept":"CodeableConcept","EvidenceVariable.characteristic.definitionDataRequirement":"DataRequirement","EvidenceVariable.characteristic.definitionExpression":"Expression","EvidenceVariable.characteristic.definitionReference":"Reference","EvidenceVariable.characteristic.definitionTriggerDefinition":"TriggerDefinition","EvidenceVariable.characteristic.description":"string","EvidenceVariable.characteristic.exclude":"boolean","EvidenceVariable.characteristic.extension":"Extension","EvidenceVariable.characteristic.groupMeasure":"code","EvidenceVariable.characteristic.id":"System.String","EvidenceVariable.characteristic.modifierExtension":"Extension","EvidenceVariable.characteristic.participantEffectiveDateTime":"dateTime","EvidenceVariable.characteristic.participantEffectiveDuration":"Duration","EvidenceVariable.characteristic.participantEffectivePeriod":"Period","EvidenceVariable.characteristic.participantEffectiveTiming":"Timing","EvidenceVariable.characteristic.timeFromStart":"Duration","EvidenceVariable.characteristic.usageContext":"UsageContext","EvidenceVariable.contact":"ContactDetail","EvidenceVariable.contained":"Resource","EvidenceVariable.copyright":"markdown","EvidenceVariable.date":"dateTime","EvidenceVariable.description":"markdown","EvidenceVariable.editor":"ContactDetail","EvidenceVariable.effectivePeriod":"Period","EvidenceVariable.endorser":"ContactDetail","EvidenceVariable.extension":"Extension","EvidenceVariable.id":"System.String","EvidenceVariable.identifier":"Identifier","EvidenceVariable.implicitRules":"uri","EvidenceVariable.jurisdiction":"CodeableConcept","EvidenceVariable.language":"code","EvidenceVariable.lastReviewDate":"date","EvidenceVariable.meta":"Meta","EvidenceVariable.modifierExtension":"Extension","EvidenceVariable.name":"string","EvidenceVariable.note":"Annotation","EvidenceVariable.publisher":"string","EvidenceVariable.relatedArtifact":"RelatedArtifact","EvidenceVariable.reviewer":"ContactDetail","EvidenceVariable.shortTitle":"string","EvidenceVariable.status":"code","EvidenceVariable.subtitle":"string","EvidenceVariable.text":"Narrative","EvidenceVariable.title":"string","EvidenceVariable.topic":"CodeableConcept","EvidenceVariable.type":"code","EvidenceVariable.url":"uri","EvidenceVariable.useContext":"UsageContext","EvidenceVariable.version":"string","ExampleScenario.actor":"BackboneElement","ExampleScenario.actor.actorId":"string","ExampleScenario.actor.description":"markdown","ExampleScenario.actor.extension":"Extension","ExampleScenario.actor.id":"System.String","ExampleScenario.actor.modifierExtension":"Extension","ExampleScenario.actor.name":"string","ExampleScenario.actor.type":"code","ExampleScenario.contact":"ContactDetail","ExampleScenario.contained":"Resource","ExampleScenario.copyright":"markdown","ExampleScenario.date":"dateTime","ExampleScenario.experimental":"boolean","ExampleScenario.extension":"Extension","ExampleScenario.id":"System.String","ExampleScenario.identifier":"Identifier","ExampleScenario.implicitRules":"uri","ExampleScenario.instance":"BackboneElement","ExampleScenario.instance.containedInstance":"BackboneElement","ExampleScenario.instance.containedInstance.extension":"Extension","ExampleScenario.instance.containedInstance.id":"System.String","ExampleScenario.instance.containedInstance.modifierExtension":"Extension","ExampleScenario.instance.containedInstance.resourceId":"string","ExampleScenario.instance.containedInstance.versionId":"string","ExampleScenario.instance.description":"markdown","ExampleScenario.instance.extension":"Extension","ExampleScenario.instance.id":"System.String","ExampleScenario.instance.modifierExtension":"Extension","ExampleScenario.instance.name":"string","ExampleScenario.instance.resourceId":"string","ExampleScenario.instance.resourceType":"code","ExampleScenario.instance.version":"BackboneElement","ExampleScenario.instance.version.description":"markdown","ExampleScenario.instance.version.extension":"Extension","ExampleScenario.instance.version.id":"System.String","ExampleScenario.instance.version.modifierExtension":"Extension","ExampleScenario.instance.version.versionId":"string","ExampleScenario.jurisdiction":"CodeableConcept","ExampleScenario.language":"code","ExampleScenario.meta":"Meta","ExampleScenario.modifierExtension":"Extension","ExampleScenario.name":"string","ExampleScenario.process":"BackboneElement","ExampleScenario.process.description":"markdown","ExampleScenario.process.extension":"Extension","ExampleScenario.process.id":"System.String","ExampleScenario.process.modifierExtension":"Extension","ExampleScenario.process.postConditions":"markdown","ExampleScenario.process.preConditions":"markdown","ExampleScenario.process.step":"BackboneElement","ExampleScenario.process.step.alternative":"BackboneElement","ExampleScenario.process.step.alternative.description":"markdown","ExampleScenario.process.step.alternative.extension":"Extension","ExampleScenario.process.step.alternative.id":"System.String","ExampleScenario.process.step.alternative.modifierExtension":"Extension","ExampleScenario.process.step.alternative.title":"string","ExampleScenario.process.step.extension":"Extension","ExampleScenario.process.step.id":"System.String","ExampleScenario.process.step.modifierExtension":"Extension","ExampleScenario.process.step.operation":"BackboneElement","ExampleScenario.process.step.operation.description":"markdown","ExampleScenario.process.step.operation.extension":"Extension","ExampleScenario.process.step.operation.id":"System.String","ExampleScenario.process.step.operation.initiator":"string","ExampleScenario.process.step.operation.initiatorActive":"boolean","ExampleScenario.process.step.operation.modifierExtension":"Extension","ExampleScenario.process.step.operation.name":"string","ExampleScenario.process.step.operation.number":"string","ExampleScenario.process.step.operation.receiver":"string","ExampleScenario.process.step.operation.receiverActive":"boolean","ExampleScenario.process.step.operation.type":"string","ExampleScenario.process.step.pause":"boolean","ExampleScenario.process.title":"string","ExampleScenario.publisher":"string","ExampleScenario.purpose":"markdown","ExampleScenario.status":"code","ExampleScenario.text":"Narrative","ExampleScenario.url":"uri","ExampleScenario.useContext":"UsageContext","ExampleScenario.version":"string","ExampleScenario.workflow":"canonical","ExplanationOfBenefit.accident":"BackboneElement","ExplanationOfBenefit.accident.date":"date","ExplanationOfBenefit.accident.extension":"Extension","ExplanationOfBenefit.accident.id":"System.String","ExplanationOfBenefit.accident.locationAddress":"Address","ExplanationOfBenefit.accident.locationReference":"Reference","ExplanationOfBenefit.accident.modifierExtension":"Extension","ExplanationOfBenefit.accident.type":"CodeableConcept","ExplanationOfBenefit.addItem":"BackboneElement","ExplanationOfBenefit.addItem.bodySite":"CodeableConcept","ExplanationOfBenefit.addItem.detail":"BackboneElement","ExplanationOfBenefit.addItem.detail.extension":"Extension","ExplanationOfBenefit.addItem.detail.factor":"decimal","ExplanationOfBenefit.addItem.detail.id":"System.String","ExplanationOfBenefit.addItem.detail.modifier":"CodeableConcept","ExplanationOfBenefit.addItem.detail.modifierExtension":"Extension","ExplanationOfBenefit.addItem.detail.net":"Money","ExplanationOfBenefit.addItem.detail.noteNumber":"positiveInt","ExplanationOfBenefit.addItem.detail.productOrService":"CodeableConcept","ExplanationOfBenefit.addItem.detail.quantity":"Quantity","ExplanationOfBenefit.addItem.detail.subDetail":"BackboneElement","ExplanationOfBenefit.addItem.detail.subDetail.extension":"Extension","ExplanationOfBenefit.addItem.detail.subDetail.factor":"decimal","ExplanationOfBenefit.addItem.detail.subDetail.id":"System.String","ExplanationOfBenefit.addItem.detail.subDetail.modifier":"CodeableConcept","ExplanationOfBenefit.addItem.detail.subDetail.modifierExtension":"Extension","ExplanationOfBenefit.addItem.detail.subDetail.net":"Money","ExplanationOfBenefit.addItem.detail.subDetail.noteNumber":"positiveInt","ExplanationOfBenefit.addItem.detail.subDetail.productOrService":"CodeableConcept","ExplanationOfBenefit.addItem.detail.subDetail.quantity":"Quantity","ExplanationOfBenefit.addItem.detail.subDetail.unitPrice":"Money","ExplanationOfBenefit.addItem.detail.unitPrice":"Money","ExplanationOfBenefit.addItem.detailSequence":"positiveInt","ExplanationOfBenefit.addItem.extension":"Extension","ExplanationOfBenefit.addItem.factor":"decimal","ExplanationOfBenefit.addItem.id":"System.String","ExplanationOfBenefit.addItem.itemSequence":"positiveInt","ExplanationOfBenefit.addItem.locationAddress":"Address","ExplanationOfBenefit.addItem.locationCodeableConcept":"CodeableConcept","ExplanationOfBenefit.addItem.locationReference":"Reference","ExplanationOfBenefit.addItem.modifier":"CodeableConcept","ExplanationOfBenefit.addItem.modifierExtension":"Extension","ExplanationOfBenefit.addItem.net":"Money","ExplanationOfBenefit.addItem.noteNumber":"positiveInt","ExplanationOfBenefit.addItem.productOrService":"CodeableConcept","ExplanationOfBenefit.addItem.programCode":"CodeableConcept","ExplanationOfBenefit.addItem.provider":"Reference","ExplanationOfBenefit.addItem.quantity":"Quantity","ExplanationOfBenefit.addItem.servicedDate":"date","ExplanationOfBenefit.addItem.servicedPeriod":"Period","ExplanationOfBenefit.addItem.subDetailSequence":"positiveInt","ExplanationOfBenefit.addItem.subSite":"CodeableConcept","ExplanationOfBenefit.addItem.unitPrice":"Money","ExplanationOfBenefit.benefitBalance":"BackboneElement","ExplanationOfBenefit.benefitBalance.category":"CodeableConcept","ExplanationOfBenefit.benefitBalance.description":"string","ExplanationOfBenefit.benefitBalance.excluded":"boolean","ExplanationOfBenefit.benefitBalance.extension":"Extension","ExplanationOfBenefit.benefitBalance.financial":"BackboneElement","ExplanationOfBenefit.benefitBalance.financial.allowedMoney":"Money","ExplanationOfBenefit.benefitBalance.financial.allowedString":"string","ExplanationOfBenefit.benefitBalance.financial.allowedUnsignedInt":"unsignedInt","ExplanationOfBenefit.benefitBalance.financial.extension":"Extension","ExplanationOfBenefit.benefitBalance.financial.id":"System.String","ExplanationOfBenefit.benefitBalance.financial.modifierExtension":"Extension","ExplanationOfBenefit.benefitBalance.financial.type":"CodeableConcept","ExplanationOfBenefit.benefitBalance.financial.usedMoney":"Money","ExplanationOfBenefit.benefitBalance.financial.usedUnsignedInt":"unsignedInt","ExplanationOfBenefit.benefitBalance.id":"System.String","ExplanationOfBenefit.benefitBalance.modifierExtension":"Extension","ExplanationOfBenefit.benefitBalance.name":"string","ExplanationOfBenefit.benefitBalance.network":"CodeableConcept","ExplanationOfBenefit.benefitBalance.term":"CodeableConcept","ExplanationOfBenefit.benefitBalance.unit":"CodeableConcept","ExplanationOfBenefit.benefitPeriod":"Period","ExplanationOfBenefit.billablePeriod":"Period","ExplanationOfBenefit.careTeam":"BackboneElement","ExplanationOfBenefit.careTeam.extension":"Extension","ExplanationOfBenefit.careTeam.id":"System.String","ExplanationOfBenefit.careTeam.modifierExtension":"Extension","ExplanationOfBenefit.careTeam.provider":"Reference","ExplanationOfBenefit.careTeam.qualification":"CodeableConcept","ExplanationOfBenefit.careTeam.responsible":"boolean","ExplanationOfBenefit.careTeam.role":"CodeableConcept","ExplanationOfBenefit.careTeam.sequence":"positiveInt","ExplanationOfBenefit.claim":"Reference","ExplanationOfBenefit.claimResponse":"Reference","ExplanationOfBenefit.contained":"Resource","ExplanationOfBenefit.created":"dateTime","ExplanationOfBenefit.diagnosis":"BackboneElement","ExplanationOfBenefit.diagnosis.diagnosisCodeableConcept":"CodeableConcept","ExplanationOfBenefit.diagnosis.diagnosisReference":"Reference","ExplanationOfBenefit.diagnosis.extension":"Extension","ExplanationOfBenefit.diagnosis.id":"System.String","ExplanationOfBenefit.diagnosis.modifierExtension":"Extension","ExplanationOfBenefit.diagnosis.onAdmission":"CodeableConcept","ExplanationOfBenefit.diagnosis.packageCode":"CodeableConcept","ExplanationOfBenefit.diagnosis.sequence":"positiveInt","ExplanationOfBenefit.diagnosis.type":"CodeableConcept","ExplanationOfBenefit.disposition":"string","ExplanationOfBenefit.enterer":"Reference","ExplanationOfBenefit.extension":"Extension","ExplanationOfBenefit.facility":"Reference","ExplanationOfBenefit.form":"Attachment","ExplanationOfBenefit.formCode":"CodeableConcept","ExplanationOfBenefit.fundsReserve":"CodeableConcept","ExplanationOfBenefit.fundsReserveRequested":"CodeableConcept","ExplanationOfBenefit.id":"System.String","ExplanationOfBenefit.identifier":"Identifier","ExplanationOfBenefit.implicitRules":"uri","ExplanationOfBenefit.insurance":"BackboneElement","ExplanationOfBenefit.insurance.coverage":"Reference","ExplanationOfBenefit.insurance.extension":"Extension","ExplanationOfBenefit.insurance.focal":"boolean","ExplanationOfBenefit.insurance.id":"System.String","ExplanationOfBenefit.insurance.modifierExtension":"Extension","ExplanationOfBenefit.insurance.preAuthRef":"string","ExplanationOfBenefit.insurer":"Reference","ExplanationOfBenefit.item":"BackboneElement","ExplanationOfBenefit.item.adjudication":"BackboneElement","ExplanationOfBenefit.item.adjudication.amount":"Money","ExplanationOfBenefit.item.adjudication.category":"CodeableConcept","ExplanationOfBenefit.item.adjudication.extension":"Extension","ExplanationOfBenefit.item.adjudication.id":"System.String","ExplanationOfBenefit.item.adjudication.modifierExtension":"Extension","ExplanationOfBenefit.item.adjudication.reason":"CodeableConcept","ExplanationOfBenefit.item.adjudication.value":"decimal","ExplanationOfBenefit.item.bodySite":"CodeableConcept","ExplanationOfBenefit.item.careTeamSequence":"positiveInt","ExplanationOfBenefit.item.category":"CodeableConcept","ExplanationOfBenefit.item.detail":"BackboneElement","ExplanationOfBenefit.item.detail.category":"CodeableConcept","ExplanationOfBenefit.item.detail.extension":"Extension","ExplanationOfBenefit.item.detail.factor":"decimal","ExplanationOfBenefit.item.detail.id":"System.String","ExplanationOfBenefit.item.detail.modifier":"CodeableConcept","ExplanationOfBenefit.item.detail.modifierExtension":"Extension","ExplanationOfBenefit.item.detail.net":"Money","ExplanationOfBenefit.item.detail.noteNumber":"positiveInt","ExplanationOfBenefit.item.detail.productOrService":"CodeableConcept","ExplanationOfBenefit.item.detail.programCode":"CodeableConcept","ExplanationOfBenefit.item.detail.quantity":"Quantity","ExplanationOfBenefit.item.detail.revenue":"CodeableConcept","ExplanationOfBenefit.item.detail.sequence":"positiveInt","ExplanationOfBenefit.item.detail.subDetail":"BackboneElement","ExplanationOfBenefit.item.detail.subDetail.category":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.extension":"Extension","ExplanationOfBenefit.item.detail.subDetail.factor":"decimal","ExplanationOfBenefit.item.detail.subDetail.id":"System.String","ExplanationOfBenefit.item.detail.subDetail.modifier":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.modifierExtension":"Extension","ExplanationOfBenefit.item.detail.subDetail.net":"Money","ExplanationOfBenefit.item.detail.subDetail.noteNumber":"positiveInt","ExplanationOfBenefit.item.detail.subDetail.productOrService":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.programCode":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.quantity":"Quantity","ExplanationOfBenefit.item.detail.subDetail.revenue":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.sequence":"positiveInt","ExplanationOfBenefit.item.detail.subDetail.udi":"Reference","ExplanationOfBenefit.item.detail.subDetail.unitPrice":"Money","ExplanationOfBenefit.item.detail.udi":"Reference","ExplanationOfBenefit.item.detail.unitPrice":"Money","ExplanationOfBenefit.item.diagnosisSequence":"positiveInt","ExplanationOfBenefit.item.encounter":"Reference","ExplanationOfBenefit.item.extension":"Extension","ExplanationOfBenefit.item.factor":"decimal","ExplanationOfBenefit.item.id":"System.String","ExplanationOfBenefit.item.informationSequence":"positiveInt","ExplanationOfBenefit.item.locationAddress":"Address","ExplanationOfBenefit.item.locationCodeableConcept":"CodeableConcept","ExplanationOfBenefit.item.locationReference":"Reference","ExplanationOfBenefit.item.modifier":"CodeableConcept","ExplanationOfBenefit.item.modifierExtension":"Extension","ExplanationOfBenefit.item.net":"Money","ExplanationOfBenefit.item.noteNumber":"positiveInt","ExplanationOfBenefit.item.procedureSequence":"positiveInt","ExplanationOfBenefit.item.productOrService":"CodeableConcept","ExplanationOfBenefit.item.programCode":"CodeableConcept","ExplanationOfBenefit.item.quantity":"Quantity","ExplanationOfBenefit.item.revenue":"CodeableConcept","ExplanationOfBenefit.item.sequence":"positiveInt","ExplanationOfBenefit.item.servicedDate":"date","ExplanationOfBenefit.item.servicedPeriod":"Period","ExplanationOfBenefit.item.subSite":"CodeableConcept","ExplanationOfBenefit.item.udi":"Reference","ExplanationOfBenefit.item.unitPrice":"Money","ExplanationOfBenefit.language":"code","ExplanationOfBenefit.meta":"Meta","ExplanationOfBenefit.modifierExtension":"Extension","ExplanationOfBenefit.originalPrescription":"Reference","ExplanationOfBenefit.outcome":"code","ExplanationOfBenefit.patient":"Reference","ExplanationOfBenefit.payee":"BackboneElement","ExplanationOfBenefit.payee.extension":"Extension","ExplanationOfBenefit.payee.id":"System.String","ExplanationOfBenefit.payee.modifierExtension":"Extension","ExplanationOfBenefit.payee.party":"Reference","ExplanationOfBenefit.payee.type":"CodeableConcept","ExplanationOfBenefit.payment":"BackboneElement","ExplanationOfBenefit.payment.adjustment":"Money","ExplanationOfBenefit.payment.adjustmentReason":"CodeableConcept","ExplanationOfBenefit.payment.amount":"Money","ExplanationOfBenefit.payment.date":"date","ExplanationOfBenefit.payment.extension":"Extension","ExplanationOfBenefit.payment.id":"System.String","ExplanationOfBenefit.payment.identifier":"Identifier","ExplanationOfBenefit.payment.modifierExtension":"Extension","ExplanationOfBenefit.payment.type":"CodeableConcept","ExplanationOfBenefit.preAuthRef":"string","ExplanationOfBenefit.preAuthRefPeriod":"Period","ExplanationOfBenefit.precedence":"positiveInt","ExplanationOfBenefit.prescription":"Reference","ExplanationOfBenefit.priority":"CodeableConcept","ExplanationOfBenefit.procedure":"BackboneElement","ExplanationOfBenefit.procedure.date":"dateTime","ExplanationOfBenefit.procedure.extension":"Extension","ExplanationOfBenefit.procedure.id":"System.String","ExplanationOfBenefit.procedure.modifierExtension":"Extension","ExplanationOfBenefit.procedure.procedureCodeableConcept":"CodeableConcept","ExplanationOfBenefit.procedure.procedureReference":"Reference","ExplanationOfBenefit.procedure.sequence":"positiveInt","ExplanationOfBenefit.procedure.type":"CodeableConcept","ExplanationOfBenefit.procedure.udi":"Reference","ExplanationOfBenefit.processNote":"BackboneElement","ExplanationOfBenefit.processNote.extension":"Extension","ExplanationOfBenefit.processNote.id":"System.String","ExplanationOfBenefit.processNote.language":"CodeableConcept","ExplanationOfBenefit.processNote.modifierExtension":"Extension","ExplanationOfBenefit.processNote.number":"positiveInt","ExplanationOfBenefit.processNote.text":"string","ExplanationOfBenefit.processNote.type":"code","ExplanationOfBenefit.provider":"Reference","ExplanationOfBenefit.referral":"Reference","ExplanationOfBenefit.related":"BackboneElement","ExplanationOfBenefit.related.claim":"Reference","ExplanationOfBenefit.related.extension":"Extension","ExplanationOfBenefit.related.id":"System.String","ExplanationOfBenefit.related.modifierExtension":"Extension","ExplanationOfBenefit.related.reference":"Identifier","ExplanationOfBenefit.related.relationship":"CodeableConcept","ExplanationOfBenefit.status":"code","ExplanationOfBenefit.subType":"CodeableConcept","ExplanationOfBenefit.supportingInfo":"BackboneElement","ExplanationOfBenefit.supportingInfo.category":"CodeableConcept","ExplanationOfBenefit.supportingInfo.code":"CodeableConcept","ExplanationOfBenefit.supportingInfo.extension":"Extension","ExplanationOfBenefit.supportingInfo.id":"System.String","ExplanationOfBenefit.supportingInfo.modifierExtension":"Extension","ExplanationOfBenefit.supportingInfo.reason":"Coding","ExplanationOfBenefit.supportingInfo.sequence":"positiveInt","ExplanationOfBenefit.supportingInfo.timingDate":"date","ExplanationOfBenefit.supportingInfo.timingPeriod":"Period","ExplanationOfBenefit.supportingInfo.valueAttachment":"Attachment","ExplanationOfBenefit.supportingInfo.valueBoolean":"boolean","ExplanationOfBenefit.supportingInfo.valueQuantity":"Quantity","ExplanationOfBenefit.supportingInfo.valueReference":"Reference","ExplanationOfBenefit.supportingInfo.valueString":"string","ExplanationOfBenefit.text":"Narrative","ExplanationOfBenefit.total":"BackboneElement","ExplanationOfBenefit.total.amount":"Money","ExplanationOfBenefit.total.category":"CodeableConcept","ExplanationOfBenefit.total.extension":"Extension","ExplanationOfBenefit.total.id":"System.String","ExplanationOfBenefit.total.modifierExtension":"Extension","ExplanationOfBenefit.type":"CodeableConcept","ExplanationOfBenefit.use":"code","Expression.description":"string","Expression.expression":"string","Expression.extension":"Extension","Expression.id":"System.String","Expression.language":"code","Expression.name":"id","Expression.reference":"uri","Extension.extension":"Extension","Extension.id":"System.String","Extension.url":"System.String","Extension.valueAddress":"Address","Extension.valueAge":"Age","Extension.valueAnnotation":"Annotation","Extension.valueAttachment":"Attachment","Extension.valueBase64Binary":"base64Binary","Extension.valueBoolean":"boolean","Extension.valueCanonical":"canonical","Extension.valueCode":"code","Extension.valueCodeableConcept":"CodeableConcept","Extension.valueCoding":"Coding","Extension.valueContactDetail":"ContactDetail","Extension.valueContactPoint":"ContactPoint","Extension.valueContributor":"Contributor","Extension.valueCount":"Count","Extension.valueDataRequirement":"DataRequirement","Extension.valueDate":"date","Extension.valueDateTime":"dateTime","Extension.valueDecimal":"decimal","Extension.valueDistance":"Distance","Extension.valueDosage":"Dosage","Extension.valueDuration":"Duration","Extension.valueExpression":"Expression","Extension.valueHumanName":"HumanName","Extension.valueId":"id","Extension.valueIdentifier":"Identifier","Extension.valueInstant":"instant","Extension.valueInteger":"integer","Extension.valueMarkdown":"markdown","Extension.valueMeta":"Meta","Extension.valueMoney":"Money","Extension.valueOid":"oid","Extension.valueParameterDefinition":"ParameterDefinition","Extension.valuePeriod":"Period","Extension.valuePositiveInt":"positiveInt","Extension.valueQuantity":"Quantity","Extension.valueRange":"Range","Extension.valueRatio":"Ratio","Extension.valueReference":"Reference","Extension.valueRelatedArtifact":"RelatedArtifact","Extension.valueSampledData":"SampledData","Extension.valueSignature":"Signature","Extension.valueString":"string","Extension.valueTime":"time","Extension.valueTiming":"Timing","Extension.valueTriggerDefinition":"TriggerDefinition","Extension.valueUnsignedInt":"unsignedInt","Extension.valueUri":"uri","Extension.valueUrl":"url","Extension.valueUsageContext":"UsageContext","Extension.valueUuid":"uuid","FamilyMemberHistory.ageAge":"Age","FamilyMemberHistory.ageRange":"Range","FamilyMemberHistory.ageString":"string","FamilyMemberHistory.bornDate":"date","FamilyMemberHistory.bornPeriod":"Period","FamilyMemberHistory.bornString":"string","FamilyMemberHistory.condition":"BackboneElement","FamilyMemberHistory.condition.code":"CodeableConcept","FamilyMemberHistory.condition.contributedToDeath":"boolean","FamilyMemberHistory.condition.extension":"Extension","FamilyMemberHistory.condition.id":"System.String","FamilyMemberHistory.condition.modifierExtension":"Extension","FamilyMemberHistory.condition.note":"Annotation","FamilyMemberHistory.condition.onsetAge":"Age","FamilyMemberHistory.condition.onsetPeriod":"Period","FamilyMemberHistory.condition.onsetRange":"Range","FamilyMemberHistory.condition.onsetString":"string","FamilyMemberHistory.condition.outcome":"CodeableConcept","FamilyMemberHistory.contained":"Resource","FamilyMemberHistory.dataAbsentReason":"CodeableConcept","FamilyMemberHistory.date":"dateTime","FamilyMemberHistory.deceasedAge":"Age","FamilyMemberHistory.deceasedBoolean":"boolean","FamilyMemberHistory.deceasedDate":"date","FamilyMemberHistory.deceasedRange":"Range","FamilyMemberHistory.deceasedString":"string","FamilyMemberHistory.estimatedAge":"boolean","FamilyMemberHistory.extension":"Extension","FamilyMemberHistory.id":"System.String","FamilyMemberHistory.identifier":"Identifier","FamilyMemberHistory.implicitRules":"uri","FamilyMemberHistory.instantiatesCanonical":"canonical","FamilyMemberHistory.instantiatesUri":"uri","FamilyMemberHistory.language":"code","FamilyMemberHistory.meta":"Meta","FamilyMemberHistory.modifierExtension":"Extension","FamilyMemberHistory.name":"string","FamilyMemberHistory.note":"Annotation","FamilyMemberHistory.patient":"Reference","FamilyMemberHistory.reasonCode":"CodeableConcept","FamilyMemberHistory.reasonReference":"Reference","FamilyMemberHistory.relationship":"CodeableConcept","FamilyMemberHistory.sex":"CodeableConcept","FamilyMemberHistory.status":"code","FamilyMemberHistory.text":"Narrative","Flag.author":"Reference","Flag.category":"CodeableConcept","Flag.code":"CodeableConcept","Flag.contained":"Resource","Flag.encounter":"Reference","Flag.extension":"Extension","Flag.id":"System.String","Flag.identifier":"Identifier","Flag.implicitRules":"uri","Flag.language":"code","Flag.meta":"Meta","Flag.modifierExtension":"Extension","Flag.period":"Period","Flag.status":"code","Flag.subject":"Reference","Flag.text":"Narrative","Goal.achievementStatus":"CodeableConcept","Goal.addresses":"Reference","Goal.category":"CodeableConcept","Goal.contained":"Resource","Goal.description":"CodeableConcept","Goal.expressedBy":"Reference","Goal.extension":"Extension","Goal.id":"System.String","Goal.identifier":"Identifier","Goal.implicitRules":"uri","Goal.language":"code","Goal.lifecycleStatus":"code","Goal.meta":"Meta","Goal.modifierExtension":"Extension","Goal.note":"Annotation","Goal.outcomeCode":"CodeableConcept","Goal.outcomeReference":"Reference","Goal.priority":"CodeableConcept","Goal.startCodeableConcept":"CodeableConcept","Goal.startDate":"date","Goal.statusDate":"date","Goal.statusReason":"string","Goal.subject":"Reference","Goal.target":"BackboneElement","Goal.target.detailBoolean":"boolean","Goal.target.detailCodeableConcept":"CodeableConcept","Goal.target.detailInteger":"integer","Goal.target.detailQuantity":"Quantity","Goal.target.detailRange":"Range","Goal.target.detailRatio":"Ratio","Goal.target.detailString":"string","Goal.target.dueDate":"date","Goal.target.dueDuration":"Duration","Goal.target.extension":"Extension","Goal.target.id":"System.String","Goal.target.measure":"CodeableConcept","Goal.target.modifierExtension":"Extension","Goal.text":"Narrative","GraphDefinition.contact":"ContactDetail","GraphDefinition.contained":"Resource","GraphDefinition.date":"dateTime","GraphDefinition.description":"markdown","GraphDefinition.experimental":"boolean","GraphDefinition.extension":"Extension","GraphDefinition.id":"System.String","GraphDefinition.implicitRules":"uri","GraphDefinition.jurisdiction":"CodeableConcept","GraphDefinition.language":"code","GraphDefinition.link":"BackboneElement","GraphDefinition.link.description":"string","GraphDefinition.link.extension":"Extension","GraphDefinition.link.id":"System.String","GraphDefinition.link.max":"string","GraphDefinition.link.min":"integer","GraphDefinition.link.modifierExtension":"Extension","GraphDefinition.link.path":"string","GraphDefinition.link.sliceName":"string","GraphDefinition.link.target":"BackboneElement","GraphDefinition.link.target.compartment":"BackboneElement","GraphDefinition.link.target.compartment.code":"code","GraphDefinition.link.target.compartment.description":"string","GraphDefinition.link.target.compartment.expression":"string","GraphDefinition.link.target.compartment.extension":"Extension","GraphDefinition.link.target.compartment.id":"System.String","GraphDefinition.link.target.compartment.modifierExtension":"Extension","GraphDefinition.link.target.compartment.rule":"code","GraphDefinition.link.target.compartment.use":"code","GraphDefinition.link.target.extension":"Extension","GraphDefinition.link.target.id":"System.String","GraphDefinition.link.target.modifierExtension":"Extension","GraphDefinition.link.target.params":"string","GraphDefinition.link.target.profile":"canonical","GraphDefinition.link.target.type":"code","GraphDefinition.meta":"Meta","GraphDefinition.modifierExtension":"Extension","GraphDefinition.name":"string","GraphDefinition.profile":"canonical","GraphDefinition.publisher":"string","GraphDefinition.purpose":"markdown","GraphDefinition.start":"code","GraphDefinition.status":"code","GraphDefinition.text":"Narrative","GraphDefinition.url":"uri","GraphDefinition.useContext":"UsageContext","GraphDefinition.version":"string","Group.active":"boolean","Group.actual":"boolean","Group.characteristic":"BackboneElement","Group.characteristic.code":"CodeableConcept","Group.characteristic.exclude":"boolean","Group.characteristic.extension":"Extension","Group.characteristic.id":"System.String","Group.characteristic.modifierExtension":"Extension","Group.characteristic.period":"Period","Group.characteristic.valueBoolean":"boolean","Group.characteristic.valueCodeableConcept":"CodeableConcept","Group.characteristic.valueQuantity":"Quantity","Group.characteristic.valueRange":"Range","Group.characteristic.valueReference":"Reference","Group.code":"CodeableConcept","Group.contained":"Resource","Group.extension":"Extension","Group.id":"System.String","Group.identifier":"Identifier","Group.implicitRules":"uri","Group.language":"code","Group.managingEntity":"Reference","Group.member":"BackboneElement","Group.member.entity":"Reference","Group.member.extension":"Extension","Group.member.id":"System.String","Group.member.inactive":"boolean","Group.member.modifierExtension":"Extension","Group.member.period":"Period","Group.meta":"Meta","Group.modifierExtension":"Extension","Group.name":"string","Group.quantity":"unsignedInt","Group.text":"Narrative","Group.type":"code","GuidanceResponse.contained":"Resource","GuidanceResponse.dataRequirement":"DataRequirement","GuidanceResponse.encounter":"Reference","GuidanceResponse.evaluationMessage":"Reference","GuidanceResponse.extension":"Extension","GuidanceResponse.id":"System.String","GuidanceResponse.identifier":"Identifier","GuidanceResponse.implicitRules":"uri","GuidanceResponse.language":"code","GuidanceResponse.meta":"Meta","GuidanceResponse.modifierExtension":"Extension","GuidanceResponse.moduleCanonical":"canonical","GuidanceResponse.moduleCodeableConcept":"CodeableConcept","GuidanceResponse.moduleUri":"uri","GuidanceResponse.note":"Annotation","GuidanceResponse.occurrenceDateTime":"dateTime","GuidanceResponse.outputParameters":"Reference","GuidanceResponse.performer":"Reference","GuidanceResponse.reasonCode":"CodeableConcept","GuidanceResponse.reasonReference":"Reference","GuidanceResponse.requestIdentifier":"Identifier","GuidanceResponse.result":"Reference","GuidanceResponse.status":"code","GuidanceResponse.subject":"Reference","GuidanceResponse.text":"Narrative","HealthcareService.active":"boolean","HealthcareService.appointmentRequired":"boolean","HealthcareService.availabilityExceptions":"string","HealthcareService.availableTime":"BackboneElement","HealthcareService.availableTime.allDay":"boolean","HealthcareService.availableTime.availableEndTime":"time","HealthcareService.availableTime.availableStartTime":"time","HealthcareService.availableTime.daysOfWeek":"code","HealthcareService.availableTime.extension":"Extension","HealthcareService.availableTime.id":"System.String","HealthcareService.availableTime.modifierExtension":"Extension","HealthcareService.category":"CodeableConcept","HealthcareService.characteristic":"CodeableConcept","HealthcareService.comment":"string","HealthcareService.communication":"CodeableConcept","HealthcareService.contained":"Resource","HealthcareService.coverageArea":"Reference","HealthcareService.eligibility":"BackboneElement","HealthcareService.eligibility.code":"CodeableConcept","HealthcareService.eligibility.comment":"markdown","HealthcareService.eligibility.extension":"Extension","HealthcareService.eligibility.id":"System.String","HealthcareService.eligibility.modifierExtension":"Extension","HealthcareService.endpoint":"Reference","HealthcareService.extension":"Extension","HealthcareService.extraDetails":"markdown","HealthcareService.id":"System.String","HealthcareService.identifier":"Identifier","HealthcareService.implicitRules":"uri","HealthcareService.language":"code","HealthcareService.location":"Reference","HealthcareService.meta":"Meta","HealthcareService.modifierExtension":"Extension","HealthcareService.name":"string","HealthcareService.notAvailable":"BackboneElement","HealthcareService.notAvailable.description":"string","HealthcareService.notAvailable.during":"Period","HealthcareService.notAvailable.extension":"Extension","HealthcareService.notAvailable.id":"System.String","HealthcareService.notAvailable.modifierExtension":"Extension","HealthcareService.photo":"Attachment","HealthcareService.program":"CodeableConcept","HealthcareService.providedBy":"Reference","HealthcareService.referralMethod":"CodeableConcept","HealthcareService.serviceProvisionCode":"CodeableConcept","HealthcareService.specialty":"CodeableConcept","HealthcareService.telecom":"ContactPoint","HealthcareService.text":"Narrative","HealthcareService.type":"CodeableConcept","HumanName.extension":"Extension","HumanName.family":"string","HumanName.given":"string","HumanName.id":"System.String","HumanName.period":"Period","HumanName.prefix":"string","HumanName.suffix":"string","HumanName.text":"string","HumanName.use":"code","Identifier.assigner":"Reference","Identifier.extension":"Extension","Identifier.id":"System.String","Identifier.period":"Period","Identifier.system":"uri","Identifier.type":"CodeableConcept","Identifier.use":"code","Identifier.value":"string","ImagingStudy.basedOn":"Reference","ImagingStudy.contained":"Resource","ImagingStudy.description":"string","ImagingStudy.encounter":"Reference","ImagingStudy.endpoint":"Reference","ImagingStudy.extension":"Extension","ImagingStudy.id":"System.String","ImagingStudy.identifier":"Identifier","ImagingStudy.implicitRules":"uri","ImagingStudy.interpreter":"Reference","ImagingStudy.language":"code","ImagingStudy.location":"Reference","ImagingStudy.meta":"Meta","ImagingStudy.modality":"Coding","ImagingStudy.modifierExtension":"Extension","ImagingStudy.note":"Annotation","ImagingStudy.numberOfInstances":"unsignedInt","ImagingStudy.numberOfSeries":"unsignedInt","ImagingStudy.procedureCode":"CodeableConcept","ImagingStudy.procedureReference":"Reference","ImagingStudy.reasonCode":"CodeableConcept","ImagingStudy.reasonReference":"Reference","ImagingStudy.referrer":"Reference","ImagingStudy.series":"BackboneElement","ImagingStudy.series.bodySite":"Coding","ImagingStudy.series.description":"string","ImagingStudy.series.endpoint":"Reference","ImagingStudy.series.extension":"Extension","ImagingStudy.series.id":"System.String","ImagingStudy.series.instance":"BackboneElement","ImagingStudy.series.instance.extension":"Extension","ImagingStudy.series.instance.id":"System.String","ImagingStudy.series.instance.modifierExtension":"Extension","ImagingStudy.series.instance.number":"unsignedInt","ImagingStudy.series.instance.sopClass":"Coding","ImagingStudy.series.instance.title":"string","ImagingStudy.series.instance.uid":"id","ImagingStudy.series.laterality":"Coding","ImagingStudy.series.modality":"Coding","ImagingStudy.series.modifierExtension":"Extension","ImagingStudy.series.number":"unsignedInt","ImagingStudy.series.numberOfInstances":"unsignedInt","ImagingStudy.series.performer":"BackboneElement","ImagingStudy.series.performer.actor":"Reference","ImagingStudy.series.performer.extension":"Extension","ImagingStudy.series.performer.function":"CodeableConcept","ImagingStudy.series.performer.id":"System.String","ImagingStudy.series.performer.modifierExtension":"Extension","ImagingStudy.series.specimen":"Reference","ImagingStudy.series.started":"dateTime","ImagingStudy.series.uid":"id","ImagingStudy.started":"dateTime","ImagingStudy.status":"code","ImagingStudy.subject":"Reference","ImagingStudy.text":"Narrative","Immunization.contained":"Resource","Immunization.doseQuantity":"Quantity","Immunization.education":"BackboneElement","Immunization.education.documentType":"string","Immunization.education.extension":"Extension","Immunization.education.id":"System.String","Immunization.education.modifierExtension":"Extension","Immunization.education.presentationDate":"dateTime","Immunization.education.publicationDate":"dateTime","Immunization.education.reference":"uri","Immunization.encounter":"Reference","Immunization.expirationDate":"date","Immunization.extension":"Extension","Immunization.fundingSource":"CodeableConcept","Immunization.id":"System.String","Immunization.identifier":"Identifier","Immunization.implicitRules":"uri","Immunization.isSubpotent":"boolean","Immunization.language":"code","Immunization.location":"Reference","Immunization.lotNumber":"string","Immunization.manufacturer":"Reference","Immunization.meta":"Meta","Immunization.modifierExtension":"Extension","Immunization.note":"Annotation","Immunization.occurrenceDateTime":"dateTime","Immunization.occurrenceString":"string","Immunization.patient":"Reference","Immunization.performer":"BackboneElement","Immunization.performer.actor":"Reference","Immunization.performer.extension":"Extension","Immunization.performer.function":"CodeableConcept","Immunization.performer.id":"System.String","Immunization.performer.modifierExtension":"Extension","Immunization.primarySource":"boolean","Immunization.programEligibility":"CodeableConcept","Immunization.protocolApplied":"BackboneElement","Immunization.protocolApplied.authority":"Reference","Immunization.protocolApplied.doseNumberPositiveInt":"positiveInt","Immunization.protocolApplied.doseNumberString":"string","Immunization.protocolApplied.extension":"Extension","Immunization.protocolApplied.id":"System.String","Immunization.protocolApplied.modifierExtension":"Extension","Immunization.protocolApplied.series":"string","Immunization.protocolApplied.seriesDosesPositiveInt":"positiveInt","Immunization.protocolApplied.seriesDosesString":"string","Immunization.protocolApplied.targetDisease":"CodeableConcept","Immunization.reaction":"BackboneElement","Immunization.reaction.date":"dateTime","Immunization.reaction.detail":"Reference","Immunization.reaction.extension":"Extension","Immunization.reaction.id":"System.String","Immunization.reaction.modifierExtension":"Extension","Immunization.reaction.reported":"boolean","Immunization.reasonCode":"CodeableConcept","Immunization.reasonReference":"Reference","Immunization.recorded":"dateTime","Immunization.reportOrigin":"CodeableConcept","Immunization.route":"CodeableConcept","Immunization.site":"CodeableConcept","Immunization.status":"code","Immunization.statusReason":"CodeableConcept","Immunization.subpotentReason":"CodeableConcept","Immunization.text":"Narrative","Immunization.vaccineCode":"CodeableConcept","ImmunizationEvaluation.authority":"Reference","ImmunizationEvaluation.contained":"Resource","ImmunizationEvaluation.date":"dateTime","ImmunizationEvaluation.description":"string","ImmunizationEvaluation.doseNumberPositiveInt":"positiveInt","ImmunizationEvaluation.doseNumberString":"string","ImmunizationEvaluation.doseStatus":"CodeableConcept","ImmunizationEvaluation.doseStatusReason":"CodeableConcept","ImmunizationEvaluation.extension":"Extension","ImmunizationEvaluation.id":"System.String","ImmunizationEvaluation.identifier":"Identifier","ImmunizationEvaluation.immunizationEvent":"Reference","ImmunizationEvaluation.implicitRules":"uri","ImmunizationEvaluation.language":"code","ImmunizationEvaluation.meta":"Meta","ImmunizationEvaluation.modifierExtension":"Extension","ImmunizationEvaluation.patient":"Reference","ImmunizationEvaluation.series":"string","ImmunizationEvaluation.seriesDosesPositiveInt":"positiveInt","ImmunizationEvaluation.seriesDosesString":"string","ImmunizationEvaluation.status":"code","ImmunizationEvaluation.targetDisease":"CodeableConcept","ImmunizationEvaluation.text":"Narrative","ImmunizationRecommendation.authority":"Reference","ImmunizationRecommendation.contained":"Resource","ImmunizationRecommendation.date":"dateTime","ImmunizationRecommendation.extension":"Extension","ImmunizationRecommendation.id":"System.String","ImmunizationRecommendation.identifier":"Identifier","ImmunizationRecommendation.implicitRules":"uri","ImmunizationRecommendation.language":"code","ImmunizationRecommendation.meta":"Meta","ImmunizationRecommendation.modifierExtension":"Extension","ImmunizationRecommendation.patient":"Reference","ImmunizationRecommendation.recommendation":"BackboneElement","ImmunizationRecommendation.recommendation.contraindicatedVaccineCode":"CodeableConcept","ImmunizationRecommendation.recommendation.dateCriterion":"BackboneElement","ImmunizationRecommendation.recommendation.dateCriterion.code":"CodeableConcept","ImmunizationRecommendation.recommendation.dateCriterion.extension":"Extension","ImmunizationRecommendation.recommendation.dateCriterion.id":"System.String","ImmunizationRecommendation.recommendation.dateCriterion.modifierExtension":"Extension","ImmunizationRecommendation.recommendation.dateCriterion.value":"dateTime","ImmunizationRecommendation.recommendation.description":"string","ImmunizationRecommendation.recommendation.doseNumberPositiveInt":"positiveInt","ImmunizationRecommendation.recommendation.doseNumberString":"string","ImmunizationRecommendation.recommendation.extension":"Extension","ImmunizationRecommendation.recommendation.forecastReason":"CodeableConcept","ImmunizationRecommendation.recommendation.forecastStatus":"CodeableConcept","ImmunizationRecommendation.recommendation.id":"System.String","ImmunizationRecommendation.recommendation.modifierExtension":"Extension","ImmunizationRecommendation.recommendation.series":"string","ImmunizationRecommendation.recommendation.seriesDosesPositiveInt":"positiveInt","ImmunizationRecommendation.recommendation.seriesDosesString":"string","ImmunizationRecommendation.recommendation.supportingImmunization":"Reference","ImmunizationRecommendation.recommendation.supportingPatientInformation":"Reference","ImmunizationRecommendation.recommendation.targetDisease":"CodeableConcept","ImmunizationRecommendation.recommendation.vaccineCode":"CodeableConcept","ImmunizationRecommendation.text":"Narrative","ImplementationGuide.contact":"ContactDetail","ImplementationGuide.contained":"Resource","ImplementationGuide.copyright":"markdown","ImplementationGuide.date":"dateTime","ImplementationGuide.definition":"BackboneElement","ImplementationGuide.definition.extension":"Extension","ImplementationGuide.definition.grouping":"BackboneElement","ImplementationGuide.definition.grouping.description":"string","ImplementationGuide.definition.grouping.extension":"Extension","ImplementationGuide.definition.grouping.id":"System.String","ImplementationGuide.definition.grouping.modifierExtension":"Extension","ImplementationGuide.definition.grouping.name":"string","ImplementationGuide.definition.id":"System.String","ImplementationGuide.definition.modifierExtension":"Extension","ImplementationGuide.definition.page":"BackboneElement","ImplementationGuide.definition.page.extension":"Extension","ImplementationGuide.definition.page.generation":"code","ImplementationGuide.definition.page.id":"System.String","ImplementationGuide.definition.page.modifierExtension":"Extension","ImplementationGuide.definition.page.nameReference":"Reference","ImplementationGuide.definition.page.nameUrl":"url","ImplementationGuide.definition.page.title":"string","ImplementationGuide.definition.parameter":"BackboneElement","ImplementationGuide.definition.parameter.code":"code","ImplementationGuide.definition.parameter.extension":"Extension","ImplementationGuide.definition.parameter.id":"System.String","ImplementationGuide.definition.parameter.modifierExtension":"Extension","ImplementationGuide.definition.parameter.value":"string","ImplementationGuide.definition.resource":"BackboneElement","ImplementationGuide.definition.resource.description":"string","ImplementationGuide.definition.resource.exampleBoolean":"boolean","ImplementationGuide.definition.resource.exampleCanonical":"canonical","ImplementationGuide.definition.resource.extension":"Extension","ImplementationGuide.definition.resource.fhirVersion":"code","ImplementationGuide.definition.resource.groupingId":"id","ImplementationGuide.definition.resource.id":"System.String","ImplementationGuide.definition.resource.modifierExtension":"Extension","ImplementationGuide.definition.resource.name":"string","ImplementationGuide.definition.resource.reference":"Reference","ImplementationGuide.definition.template":"BackboneElement","ImplementationGuide.definition.template.code":"code","ImplementationGuide.definition.template.extension":"Extension","ImplementationGuide.definition.template.id":"System.String","ImplementationGuide.definition.template.modifierExtension":"Extension","ImplementationGuide.definition.template.scope":"string","ImplementationGuide.definition.template.source":"string","ImplementationGuide.dependsOn":"BackboneElement","ImplementationGuide.dependsOn.extension":"Extension","ImplementationGuide.dependsOn.id":"System.String","ImplementationGuide.dependsOn.modifierExtension":"Extension","ImplementationGuide.dependsOn.packageId":"id","ImplementationGuide.dependsOn.uri":"canonical","ImplementationGuide.dependsOn.version":"string","ImplementationGuide.description":"markdown","ImplementationGuide.experimental":"boolean","ImplementationGuide.extension":"Extension","ImplementationGuide.fhirVersion":"code","ImplementationGuide.global":"BackboneElement","ImplementationGuide.global.extension":"Extension","ImplementationGuide.global.id":"System.String","ImplementationGuide.global.modifierExtension":"Extension","ImplementationGuide.global.profile":"canonical","ImplementationGuide.global.type":"code","ImplementationGuide.id":"System.String","ImplementationGuide.implicitRules":"uri","ImplementationGuide.jurisdiction":"CodeableConcept","ImplementationGuide.language":"code","ImplementationGuide.license":"code","ImplementationGuide.manifest":"BackboneElement","ImplementationGuide.manifest.extension":"Extension","ImplementationGuide.manifest.id":"System.String","ImplementationGuide.manifest.image":"string","ImplementationGuide.manifest.modifierExtension":"Extension","ImplementationGuide.manifest.other":"string","ImplementationGuide.manifest.page":"BackboneElement","ImplementationGuide.manifest.page.anchor":"string","ImplementationGuide.manifest.page.extension":"Extension","ImplementationGuide.manifest.page.id":"System.String","ImplementationGuide.manifest.page.modifierExtension":"Extension","ImplementationGuide.manifest.page.name":"string","ImplementationGuide.manifest.page.title":"string","ImplementationGuide.manifest.rendering":"url","ImplementationGuide.manifest.resource":"BackboneElement","ImplementationGuide.manifest.resource.exampleBoolean":"boolean","ImplementationGuide.manifest.resource.exampleCanonical":"canonical","ImplementationGuide.manifest.resource.extension":"Extension","ImplementationGuide.manifest.resource.id":"System.String","ImplementationGuide.manifest.resource.modifierExtension":"Extension","ImplementationGuide.manifest.resource.reference":"Reference","ImplementationGuide.manifest.resource.relativePath":"url","ImplementationGuide.meta":"Meta","ImplementationGuide.modifierExtension":"Extension","ImplementationGuide.name":"string","ImplementationGuide.packageId":"id","ImplementationGuide.publisher":"string","ImplementationGuide.status":"code","ImplementationGuide.text":"Narrative","ImplementationGuide.title":"string","ImplementationGuide.url":"uri","ImplementationGuide.useContext":"UsageContext","ImplementationGuide.version":"string","InsurancePlan.administeredBy":"Reference","InsurancePlan.alias":"string","InsurancePlan.contact":"BackboneElement","InsurancePlan.contact.address":"Address","InsurancePlan.contact.extension":"Extension","InsurancePlan.contact.id":"System.String","InsurancePlan.contact.modifierExtension":"Extension","InsurancePlan.contact.name":"HumanName","InsurancePlan.contact.purpose":"CodeableConcept","InsurancePlan.contact.telecom":"ContactPoint","InsurancePlan.contained":"Resource","InsurancePlan.coverage":"BackboneElement","InsurancePlan.coverage.benefit":"BackboneElement","InsurancePlan.coverage.benefit.extension":"Extension","InsurancePlan.coverage.benefit.id":"System.String","InsurancePlan.coverage.benefit.limit":"BackboneElement","InsurancePlan.coverage.benefit.limit.code":"CodeableConcept","InsurancePlan.coverage.benefit.limit.extension":"Extension","InsurancePlan.coverage.benefit.limit.id":"System.String","InsurancePlan.coverage.benefit.limit.modifierExtension":"Extension","InsurancePlan.coverage.benefit.limit.value":"Quantity","InsurancePlan.coverage.benefit.modifierExtension":"Extension","InsurancePlan.coverage.benefit.requirement":"string","InsurancePlan.coverage.benefit.type":"CodeableConcept","InsurancePlan.coverage.extension":"Extension","InsurancePlan.coverage.id":"System.String","InsurancePlan.coverage.modifierExtension":"Extension","InsurancePlan.coverage.network":"Reference","InsurancePlan.coverage.type":"CodeableConcept","InsurancePlan.coverageArea":"Reference","InsurancePlan.endpoint":"Reference","InsurancePlan.extension":"Extension","InsurancePlan.id":"System.String","InsurancePlan.identifier":"Identifier","InsurancePlan.implicitRules":"uri","InsurancePlan.language":"code","InsurancePlan.meta":"Meta","InsurancePlan.modifierExtension":"Extension","InsurancePlan.name":"string","InsurancePlan.network":"Reference","InsurancePlan.ownedBy":"Reference","InsurancePlan.period":"Period","InsurancePlan.plan":"BackboneElement","InsurancePlan.plan.coverageArea":"Reference","InsurancePlan.plan.extension":"Extension","InsurancePlan.plan.generalCost":"BackboneElement","InsurancePlan.plan.generalCost.comment":"string","InsurancePlan.plan.generalCost.cost":"Money","InsurancePlan.plan.generalCost.extension":"Extension","InsurancePlan.plan.generalCost.groupSize":"positiveInt","InsurancePlan.plan.generalCost.id":"System.String","InsurancePlan.plan.generalCost.modifierExtension":"Extension","InsurancePlan.plan.generalCost.type":"CodeableConcept","InsurancePlan.plan.id":"System.String","InsurancePlan.plan.identifier":"Identifier","InsurancePlan.plan.modifierExtension":"Extension","InsurancePlan.plan.network":"Reference","InsurancePlan.plan.specificCost":"BackboneElement","InsurancePlan.plan.specificCost.benefit":"BackboneElement","InsurancePlan.plan.specificCost.benefit.cost":"BackboneElement","InsurancePlan.plan.specificCost.benefit.cost.applicability":"CodeableConcept","InsurancePlan.plan.specificCost.benefit.cost.extension":"Extension","InsurancePlan.plan.specificCost.benefit.cost.id":"System.String","InsurancePlan.plan.specificCost.benefit.cost.modifierExtension":"Extension","InsurancePlan.plan.specificCost.benefit.cost.qualifiers":"CodeableConcept","InsurancePlan.plan.specificCost.benefit.cost.type":"CodeableConcept","InsurancePlan.plan.specificCost.benefit.cost.value":"Quantity","InsurancePlan.plan.specificCost.benefit.extension":"Extension","InsurancePlan.plan.specificCost.benefit.id":"System.String","InsurancePlan.plan.specificCost.benefit.modifierExtension":"Extension","InsurancePlan.plan.specificCost.benefit.type":"CodeableConcept","InsurancePlan.plan.specificCost.category":"CodeableConcept","InsurancePlan.plan.specificCost.extension":"Extension","InsurancePlan.plan.specificCost.id":"System.String","InsurancePlan.plan.specificCost.modifierExtension":"Extension","InsurancePlan.plan.type":"CodeableConcept","InsurancePlan.status":"code","InsurancePlan.text":"Narrative","InsurancePlan.type":"CodeableConcept","Invoice.account":"Reference","Invoice.cancelledReason":"string","Invoice.contained":"Resource","Invoice.date":"dateTime","Invoice.extension":"Extension","Invoice.id":"System.String","Invoice.identifier":"Identifier","Invoice.implicitRules":"uri","Invoice.issuer":"Reference","Invoice.language":"code","Invoice.lineItem":"BackboneElement","Invoice.lineItem.chargeItemCodeableConcept":"CodeableConcept","Invoice.lineItem.chargeItemReference":"Reference","Invoice.lineItem.extension":"Extension","Invoice.lineItem.id":"System.String","Invoice.lineItem.modifierExtension":"Extension","Invoice.lineItem.priceComponent":"BackboneElement","Invoice.lineItem.priceComponent.amount":"Money","Invoice.lineItem.priceComponent.code":"CodeableConcept","Invoice.lineItem.priceComponent.extension":"Extension","Invoice.lineItem.priceComponent.factor":"decimal","Invoice.lineItem.priceComponent.id":"System.String","Invoice.lineItem.priceComponent.modifierExtension":"Extension","Invoice.lineItem.priceComponent.type":"code","Invoice.lineItem.sequence":"positiveInt","Invoice.meta":"Meta","Invoice.modifierExtension":"Extension","Invoice.note":"Annotation","Invoice.participant":"BackboneElement","Invoice.participant.actor":"Reference","Invoice.participant.extension":"Extension","Invoice.participant.id":"System.String","Invoice.participant.modifierExtension":"Extension","Invoice.participant.role":"CodeableConcept","Invoice.paymentTerms":"markdown","Invoice.recipient":"Reference","Invoice.status":"code","Invoice.subject":"Reference","Invoice.text":"Narrative","Invoice.totalGross":"Money","Invoice.totalNet":"Money","Invoice.type":"CodeableConcept","Library.approvalDate":"date","Library.author":"ContactDetail","Library.contact":"ContactDetail","Library.contained":"Resource","Library.content":"Attachment","Library.copyright":"markdown","Library.dataRequirement":"DataRequirement","Library.date":"dateTime","Library.description":"markdown","Library.editor":"ContactDetail","Library.effectivePeriod":"Period","Library.endorser":"ContactDetail","Library.experimental":"boolean","Library.extension":"Extension","Library.id":"System.String","Library.identifier":"Identifier","Library.implicitRules":"uri","Library.jurisdiction":"CodeableConcept","Library.language":"code","Library.lastReviewDate":"date","Library.meta":"Meta","Library.modifierExtension":"Extension","Library.name":"string","Library.parameter":"ParameterDefinition","Library.publisher":"string","Library.purpose":"markdown","Library.relatedArtifact":"RelatedArtifact","Library.reviewer":"ContactDetail","Library.status":"code","Library.subjectCodeableConcept":"CodeableConcept","Library.subjectReference":"Reference","Library.subtitle":"string","Library.text":"Narrative","Library.title":"string","Library.topic":"CodeableConcept","Library.type":"CodeableConcept","Library.url":"uri","Library.usage":"string","Library.useContext":"UsageContext","Library.version":"string","Linkage.active":"boolean","Linkage.author":"Reference","Linkage.contained":"Resource","Linkage.extension":"Extension","Linkage.id":"System.String","Linkage.implicitRules":"uri","Linkage.item":"BackboneElement","Linkage.item.extension":"Extension","Linkage.item.id":"System.String","Linkage.item.modifierExtension":"Extension","Linkage.item.resource":"Reference","Linkage.item.type":"code","Linkage.language":"code","Linkage.meta":"Meta","Linkage.modifierExtension":"Extension","Linkage.text":"Narrative","List.code":"CodeableConcept","List.contained":"Resource","List.date":"dateTime","List.emptyReason":"CodeableConcept","List.encounter":"Reference","List.entry":"BackboneElement","List.entry.date":"dateTime","List.entry.deleted":"boolean","List.entry.extension":"Extension","List.entry.flag":"CodeableConcept","List.entry.id":"System.String","List.entry.item":"Reference","List.entry.modifierExtension":"Extension","List.extension":"Extension","List.id":"System.String","List.identifier":"Identifier","List.implicitRules":"uri","List.language":"code","List.meta":"Meta","List.mode":"code","List.modifierExtension":"Extension","List.note":"Annotation","List.orderedBy":"CodeableConcept","List.source":"Reference","List.status":"code","List.subject":"Reference","List.text":"Narrative","List.title":"string","Location.address":"Address","Location.alias":"string","Location.availabilityExceptions":"string","Location.contained":"Resource","Location.description":"string","Location.endpoint":"Reference","Location.extension":"Extension","Location.hoursOfOperation":"BackboneElement","Location.hoursOfOperation.allDay":"boolean","Location.hoursOfOperation.closingTime":"time","Location.hoursOfOperation.daysOfWeek":"code","Location.hoursOfOperation.extension":"Extension","Location.hoursOfOperation.id":"System.String","Location.hoursOfOperation.modifierExtension":"Extension","Location.hoursOfOperation.openingTime":"time","Location.id":"System.String","Location.identifier":"Identifier","Location.implicitRules":"uri","Location.language":"code","Location.managingOrganization":"Reference","Location.meta":"Meta","Location.mode":"code","Location.modifierExtension":"Extension","Location.name":"string","Location.operationalStatus":"Coding","Location.partOf":"Reference","Location.physicalType":"CodeableConcept","Location.position":"BackboneElement","Location.position.altitude":"decimal","Location.position.extension":"Extension","Location.position.id":"System.String","Location.position.latitude":"decimal","Location.position.longitude":"decimal","Location.position.modifierExtension":"Extension","Location.status":"code","Location.telecom":"ContactPoint","Location.text":"Narrative","Location.type":"CodeableConcept","MarketingStatus.country":"CodeableConcept","MarketingStatus.dateRange":"Period","MarketingStatus.extension":"Extension","MarketingStatus.id":"System.String","MarketingStatus.jurisdiction":"CodeableConcept","MarketingStatus.modifierExtension":"Extension","MarketingStatus.restoreDate":"dateTime","MarketingStatus.status":"CodeableConcept","Measure.approvalDate":"date","Measure.author":"ContactDetail","Measure.clinicalRecommendationStatement":"markdown","Measure.compositeScoring":"CodeableConcept","Measure.contact":"ContactDetail","Measure.contained":"Resource","Measure.copyright":"markdown","Measure.date":"dateTime","Measure.definition":"markdown","Measure.description":"markdown","Measure.disclaimer":"markdown","Measure.editor":"ContactDetail","Measure.effectivePeriod":"Period","Measure.endorser":"ContactDetail","Measure.experimental":"boolean","Measure.extension":"Extension","Measure.group":"BackboneElement","Measure.group.code":"CodeableConcept","Measure.group.description":"string","Measure.group.extension":"Extension","Measure.group.id":"System.String","Measure.group.modifierExtension":"Extension","Measure.group.population":"BackboneElement","Measure.group.population.code":"CodeableConcept","Measure.group.population.criteria":"Expression","Measure.group.population.description":"string","Measure.group.population.extension":"Extension","Measure.group.population.id":"System.String","Measure.group.population.modifierExtension":"Extension","Measure.group.stratifier":"BackboneElement","Measure.group.stratifier.code":"CodeableConcept","Measure.group.stratifier.component":"BackboneElement","Measure.group.stratifier.component.code":"CodeableConcept","Measure.group.stratifier.component.criteria":"Expression","Measure.group.stratifier.component.description":"string","Measure.group.stratifier.component.extension":"Extension","Measure.group.stratifier.component.id":"System.String","Measure.group.stratifier.component.modifierExtension":"Extension","Measure.group.stratifier.criteria":"Expression","Measure.group.stratifier.description":"string","Measure.group.stratifier.extension":"Extension","Measure.group.stratifier.id":"System.String","Measure.group.stratifier.modifierExtension":"Extension","Measure.guidance":"markdown","Measure.id":"System.String","Measure.identifier":"Identifier","Measure.implicitRules":"uri","Measure.improvementNotation":"CodeableConcept","Measure.jurisdiction":"CodeableConcept","Measure.language":"code","Measure.lastReviewDate":"date","Measure.library":"canonical","Measure.meta":"Meta","Measure.modifierExtension":"Extension","Measure.name":"string","Measure.publisher":"string","Measure.purpose":"markdown","Measure.rateAggregation":"string","Measure.rationale":"markdown","Measure.relatedArtifact":"RelatedArtifact","Measure.reviewer":"ContactDetail","Measure.riskAdjustment":"string","Measure.scoring":"CodeableConcept","Measure.status":"code","Measure.subjectCodeableConcept":"CodeableConcept","Measure.subjectReference":"Reference","Measure.subtitle":"string","Measure.supplementalData":"BackboneElement","Measure.supplementalData.code":"CodeableConcept","Measure.supplementalData.criteria":"Expression","Measure.supplementalData.description":"string","Measure.supplementalData.extension":"Extension","Measure.supplementalData.id":"System.String","Measure.supplementalData.modifierExtension":"Extension","Measure.supplementalData.usage":"CodeableConcept","Measure.text":"Narrative","Measure.title":"string","Measure.topic":"CodeableConcept","Measure.type":"CodeableConcept","Measure.url":"uri","Measure.usage":"string","Measure.useContext":"UsageContext","Measure.version":"string","MeasureReport.contained":"Resource","MeasureReport.date":"dateTime","MeasureReport.evaluatedResource":"Reference","MeasureReport.extension":"Extension","MeasureReport.group":"BackboneElement","MeasureReport.group.code":"CodeableConcept","MeasureReport.group.extension":"Extension","MeasureReport.group.id":"System.String","MeasureReport.group.measureScore":"Quantity","MeasureReport.group.modifierExtension":"Extension","MeasureReport.group.population":"BackboneElement","MeasureReport.group.population.code":"CodeableConcept","MeasureReport.group.population.count":"integer","MeasureReport.group.population.extension":"Extension","MeasureReport.group.population.id":"System.String","MeasureReport.group.population.modifierExtension":"Extension","MeasureReport.group.population.subjectResults":"Reference","MeasureReport.group.stratifier":"BackboneElement","MeasureReport.group.stratifier.code":"CodeableConcept","MeasureReport.group.stratifier.extension":"Extension","MeasureReport.group.stratifier.id":"System.String","MeasureReport.group.stratifier.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum":"BackboneElement","MeasureReport.group.stratifier.stratum.component":"BackboneElement","MeasureReport.group.stratifier.stratum.component.code":"CodeableConcept","MeasureReport.group.stratifier.stratum.component.extension":"Extension","MeasureReport.group.stratifier.stratum.component.id":"System.String","MeasureReport.group.stratifier.stratum.component.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.component.value":"CodeableConcept","MeasureReport.group.stratifier.stratum.extension":"Extension","MeasureReport.group.stratifier.stratum.id":"System.String","MeasureReport.group.stratifier.stratum.measureScore":"Quantity","MeasureReport.group.stratifier.stratum.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.population":"BackboneElement","MeasureReport.group.stratifier.stratum.population.code":"CodeableConcept","MeasureReport.group.stratifier.stratum.population.count":"integer","MeasureReport.group.stratifier.stratum.population.extension":"Extension","MeasureReport.group.stratifier.stratum.population.id":"System.String","MeasureReport.group.stratifier.stratum.population.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.population.subjectResults":"Reference","MeasureReport.group.stratifier.stratum.value":"CodeableConcept","MeasureReport.id":"System.String","MeasureReport.identifier":"Identifier","MeasureReport.implicitRules":"uri","MeasureReport.improvementNotation":"CodeableConcept","MeasureReport.language":"code","MeasureReport.measure":"canonical","MeasureReport.meta":"Meta","MeasureReport.modifierExtension":"Extension","MeasureReport.period":"Period","MeasureReport.reporter":"Reference","MeasureReport.status":"code","MeasureReport.subject":"Reference","MeasureReport.text":"Narrative","MeasureReport.type":"code","Media.basedOn":"Reference","Media.bodySite":"CodeableConcept","Media.contained":"Resource","Media.content":"Attachment","Media.createdDateTime":"dateTime","Media.createdPeriod":"Period","Media.device":"Reference","Media.deviceName":"string","Media.duration":"decimal","Media.encounter":"Reference","Media.extension":"Extension","Media.frames":"positiveInt","Media.height":"positiveInt","Media.id":"System.String","Media.identifier":"Identifier","Media.implicitRules":"uri","Media.issued":"instant","Media.language":"code","Media.meta":"Meta","Media.modality":"CodeableConcept","Media.modifierExtension":"Extension","Media.note":"Annotation","Media.operator":"Reference","Media.partOf":"Reference","Media.reasonCode":"CodeableConcept","Media.status":"code","Media.subject":"Reference","Media.text":"Narrative","Media.type":"CodeableConcept","Media.view":"CodeableConcept","Media.width":"positiveInt","Medication.amount":"Ratio","Medication.batch":"BackboneElement","Medication.batch.expirationDate":"dateTime","Medication.batch.extension":"Extension","Medication.batch.id":"System.String","Medication.batch.lotNumber":"string","Medication.batch.modifierExtension":"Extension","Medication.code":"CodeableConcept","Medication.contained":"Resource","Medication.extension":"Extension","Medication.form":"CodeableConcept","Medication.id":"System.String","Medication.identifier":"Identifier","Medication.implicitRules":"uri","Medication.ingredient":"BackboneElement","Medication.ingredient.extension":"Extension","Medication.ingredient.id":"System.String","Medication.ingredient.isActive":"boolean","Medication.ingredient.itemCodeableConcept":"CodeableConcept","Medication.ingredient.itemReference":"Reference","Medication.ingredient.modifierExtension":"Extension","Medication.ingredient.strength":"Ratio","Medication.language":"code","Medication.manufacturer":"Reference","Medication.meta":"Meta","Medication.modifierExtension":"Extension","Medication.status":"code","Medication.text":"Narrative","MedicationAdministration.category":"CodeableConcept","MedicationAdministration.contained":"Resource","MedicationAdministration.context":"Reference","MedicationAdministration.device":"Reference","MedicationAdministration.dosage":"BackboneElement","MedicationAdministration.dosage.dose":"Quantity","MedicationAdministration.dosage.extension":"Extension","MedicationAdministration.dosage.id":"System.String","MedicationAdministration.dosage.method":"CodeableConcept","MedicationAdministration.dosage.modifierExtension":"Extension","MedicationAdministration.dosage.rateQuantity":"Quantity","MedicationAdministration.dosage.rateRatio":"Ratio","MedicationAdministration.dosage.route":"CodeableConcept","MedicationAdministration.dosage.site":"CodeableConcept","MedicationAdministration.dosage.text":"string","MedicationAdministration.effectiveDateTime":"dateTime","MedicationAdministration.effectivePeriod":"Period","MedicationAdministration.eventHistory":"Reference","MedicationAdministration.extension":"Extension","MedicationAdministration.id":"System.String","MedicationAdministration.identifier":"Identifier","MedicationAdministration.implicitRules":"uri","MedicationAdministration.instantiates":"uri","MedicationAdministration.language":"code","MedicationAdministration.medicationCodeableConcept":"CodeableConcept","MedicationAdministration.medicationReference":"Reference","MedicationAdministration.meta":"Meta","MedicationAdministration.modifierExtension":"Extension","MedicationAdministration.note":"Annotation","MedicationAdministration.partOf":"Reference","MedicationAdministration.performer":"BackboneElement","MedicationAdministration.performer.actor":"Reference","MedicationAdministration.performer.extension":"Extension","MedicationAdministration.performer.function":"CodeableConcept","MedicationAdministration.performer.id":"System.String","MedicationAdministration.performer.modifierExtension":"Extension","MedicationAdministration.reasonCode":"CodeableConcept","MedicationAdministration.reasonReference":"Reference","MedicationAdministration.request":"Reference","MedicationAdministration.status":"code","MedicationAdministration.statusReason":"CodeableConcept","MedicationAdministration.subject":"Reference","MedicationAdministration.supportingInformation":"Reference","MedicationAdministration.text":"Narrative","MedicationDispense.authorizingPrescription":"Reference","MedicationDispense.category":"CodeableConcept","MedicationDispense.contained":"Resource","MedicationDispense.context":"Reference","MedicationDispense.daysSupply":"Quantity","MedicationDispense.destination":"Reference","MedicationDispense.detectedIssue":"Reference","MedicationDispense.dosageInstruction":"Dosage","MedicationDispense.eventHistory":"Reference","MedicationDispense.extension":"Extension","MedicationDispense.id":"System.String","MedicationDispense.identifier":"Identifier","MedicationDispense.implicitRules":"uri","MedicationDispense.language":"code","MedicationDispense.location":"Reference","MedicationDispense.medicationCodeableConcept":"CodeableConcept","MedicationDispense.medicationReference":"Reference","MedicationDispense.meta":"Meta","MedicationDispense.modifierExtension":"Extension","MedicationDispense.note":"Annotation","MedicationDispense.partOf":"Reference","MedicationDispense.performer":"BackboneElement","MedicationDispense.performer.actor":"Reference","MedicationDispense.performer.extension":"Extension","MedicationDispense.performer.function":"CodeableConcept","MedicationDispense.performer.id":"System.String","MedicationDispense.performer.modifierExtension":"Extension","MedicationDispense.quantity":"Quantity","MedicationDispense.receiver":"Reference","MedicationDispense.status":"code","MedicationDispense.statusReasonCodeableConcept":"CodeableConcept","MedicationDispense.statusReasonReference":"Reference","MedicationDispense.subject":"Reference","MedicationDispense.substitution":"BackboneElement","MedicationDispense.substitution.extension":"Extension","MedicationDispense.substitution.id":"System.String","MedicationDispense.substitution.modifierExtension":"Extension","MedicationDispense.substitution.reason":"CodeableConcept","MedicationDispense.substitution.responsibleParty":"Reference","MedicationDispense.substitution.type":"CodeableConcept","MedicationDispense.substitution.wasSubstituted":"boolean","MedicationDispense.supportingInformation":"Reference","MedicationDispense.text":"Narrative","MedicationDispense.type":"CodeableConcept","MedicationDispense.whenHandedOver":"dateTime","MedicationDispense.whenPrepared":"dateTime","MedicationKnowledge.administrationGuidelines":"BackboneElement","MedicationKnowledge.administrationGuidelines.dosage":"BackboneElement","MedicationKnowledge.administrationGuidelines.dosage.dosage":"Dosage","MedicationKnowledge.administrationGuidelines.dosage.extension":"Extension","MedicationKnowledge.administrationGuidelines.dosage.id":"System.String","MedicationKnowledge.administrationGuidelines.dosage.modifierExtension":"Extension","MedicationKnowledge.administrationGuidelines.dosage.type":"CodeableConcept","MedicationKnowledge.administrationGuidelines.extension":"Extension","MedicationKnowledge.administrationGuidelines.id":"System.String","MedicationKnowledge.administrationGuidelines.indicationCodeableConcept":"CodeableConcept","MedicationKnowledge.administrationGuidelines.indicationReference":"Reference","MedicationKnowledge.administrationGuidelines.modifierExtension":"Extension","MedicationKnowledge.administrationGuidelines.patientCharacteristics":"BackboneElement","MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicCodeableConcept":"CodeableConcept","MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicQuantity":"Quantity","MedicationKnowledge.administrationGuidelines.patientCharacteristics.extension":"Extension","MedicationKnowledge.administrationGuidelines.patientCharacteristics.id":"System.String","MedicationKnowledge.administrationGuidelines.patientCharacteristics.modifierExtension":"Extension","MedicationKnowledge.administrationGuidelines.patientCharacteristics.value":"string","MedicationKnowledge.amount":"Quantity","MedicationKnowledge.associatedMedication":"Reference","MedicationKnowledge.code":"CodeableConcept","MedicationKnowledge.contained":"Resource","MedicationKnowledge.contraindication":"Reference","MedicationKnowledge.cost":"BackboneElement","MedicationKnowledge.cost.cost":"Money","MedicationKnowledge.cost.extension":"Extension","MedicationKnowledge.cost.id":"System.String","MedicationKnowledge.cost.modifierExtension":"Extension","MedicationKnowledge.cost.source":"string","MedicationKnowledge.cost.type":"CodeableConcept","MedicationKnowledge.doseForm":"CodeableConcept","MedicationKnowledge.drugCharacteristic":"BackboneElement","MedicationKnowledge.drugCharacteristic.extension":"Extension","MedicationKnowledge.drugCharacteristic.id":"System.String","MedicationKnowledge.drugCharacteristic.modifierExtension":"Extension","MedicationKnowledge.drugCharacteristic.type":"CodeableConcept","MedicationKnowledge.drugCharacteristic.valueBase64Binary":"base64Binary","MedicationKnowledge.drugCharacteristic.valueCodeableConcept":"CodeableConcept","MedicationKnowledge.drugCharacteristic.valueQuantity":"Quantity","MedicationKnowledge.drugCharacteristic.valueString":"string","MedicationKnowledge.extension":"Extension","MedicationKnowledge.id":"System.String","MedicationKnowledge.implicitRules":"uri","MedicationKnowledge.ingredient":"BackboneElement","MedicationKnowledge.ingredient.extension":"Extension","MedicationKnowledge.ingredient.id":"System.String","MedicationKnowledge.ingredient.isActive":"boolean","MedicationKnowledge.ingredient.itemCodeableConcept":"CodeableConcept","MedicationKnowledge.ingredient.itemReference":"Reference","MedicationKnowledge.ingredient.modifierExtension":"Extension","MedicationKnowledge.ingredient.strength":"Ratio","MedicationKnowledge.intendedRoute":"CodeableConcept","MedicationKnowledge.kinetics":"BackboneElement","MedicationKnowledge.kinetics.areaUnderCurve":"Quantity","MedicationKnowledge.kinetics.extension":"Extension","MedicationKnowledge.kinetics.halfLifePeriod":"Duration","MedicationKnowledge.kinetics.id":"System.String","MedicationKnowledge.kinetics.lethalDose50":"Quantity","MedicationKnowledge.kinetics.modifierExtension":"Extension","MedicationKnowledge.language":"code","MedicationKnowledge.manufacturer":"Reference","MedicationKnowledge.medicineClassification":"BackboneElement","MedicationKnowledge.medicineClassification.classification":"CodeableConcept","MedicationKnowledge.medicineClassification.extension":"Extension","MedicationKnowledge.medicineClassification.id":"System.String","MedicationKnowledge.medicineClassification.modifierExtension":"Extension","MedicationKnowledge.medicineClassification.type":"CodeableConcept","MedicationKnowledge.meta":"Meta","MedicationKnowledge.modifierExtension":"Extension","MedicationKnowledge.monitoringProgram":"BackboneElement","MedicationKnowledge.monitoringProgram.extension":"Extension","MedicationKnowledge.monitoringProgram.id":"System.String","MedicationKnowledge.monitoringProgram.modifierExtension":"Extension","MedicationKnowledge.monitoringProgram.name":"string","MedicationKnowledge.monitoringProgram.type":"CodeableConcept","MedicationKnowledge.monograph":"BackboneElement","MedicationKnowledge.monograph.extension":"Extension","MedicationKnowledge.monograph.id":"System.String","MedicationKnowledge.monograph.modifierExtension":"Extension","MedicationKnowledge.monograph.source":"Reference","MedicationKnowledge.monograph.type":"CodeableConcept","MedicationKnowledge.packaging":"BackboneElement","MedicationKnowledge.packaging.extension":"Extension","MedicationKnowledge.packaging.id":"System.String","MedicationKnowledge.packaging.modifierExtension":"Extension","MedicationKnowledge.packaging.quantity":"Quantity","MedicationKnowledge.packaging.type":"CodeableConcept","MedicationKnowledge.preparationInstruction":"markdown","MedicationKnowledge.productType":"CodeableConcept","MedicationKnowledge.regulatory":"BackboneElement","MedicationKnowledge.regulatory.extension":"Extension","MedicationKnowledge.regulatory.id":"System.String","MedicationKnowledge.regulatory.maxDispense":"BackboneElement","MedicationKnowledge.regulatory.maxDispense.extension":"Extension","MedicationKnowledge.regulatory.maxDispense.id":"System.String","MedicationKnowledge.regulatory.maxDispense.modifierExtension":"Extension","MedicationKnowledge.regulatory.maxDispense.period":"Duration","MedicationKnowledge.regulatory.maxDispense.quantity":"Quantity","MedicationKnowledge.regulatory.modifierExtension":"Extension","MedicationKnowledge.regulatory.regulatoryAuthority":"Reference","MedicationKnowledge.regulatory.schedule":"BackboneElement","MedicationKnowledge.regulatory.schedule.extension":"Extension","MedicationKnowledge.regulatory.schedule.id":"System.String","MedicationKnowledge.regulatory.schedule.modifierExtension":"Extension","MedicationKnowledge.regulatory.schedule.schedule":"CodeableConcept","MedicationKnowledge.regulatory.substitution":"BackboneElement","MedicationKnowledge.regulatory.substitution.allowed":"boolean","MedicationKnowledge.regulatory.substitution.extension":"Extension","MedicationKnowledge.regulatory.substitution.id":"System.String","MedicationKnowledge.regulatory.substitution.modifierExtension":"Extension","MedicationKnowledge.regulatory.substitution.type":"CodeableConcept","MedicationKnowledge.relatedMedicationKnowledge":"BackboneElement","MedicationKnowledge.relatedMedicationKnowledge.extension":"Extension","MedicationKnowledge.relatedMedicationKnowledge.id":"System.String","MedicationKnowledge.relatedMedicationKnowledge.modifierExtension":"Extension","MedicationKnowledge.relatedMedicationKnowledge.reference":"Reference","MedicationKnowledge.relatedMedicationKnowledge.type":"CodeableConcept","MedicationKnowledge.status":"code","MedicationKnowledge.synonym":"string","MedicationKnowledge.text":"Narrative","MedicationRequest.authoredOn":"dateTime","MedicationRequest.basedOn":"Reference","MedicationRequest.category":"CodeableConcept","MedicationRequest.contained":"Resource","MedicationRequest.courseOfTherapyType":"CodeableConcept","MedicationRequest.detectedIssue":"Reference","MedicationRequest.dispenseRequest":"BackboneElement","MedicationRequest.dispenseRequest.dispenseInterval":"Duration","MedicationRequest.dispenseRequest.expectedSupplyDuration":"Duration","MedicationRequest.dispenseRequest.extension":"Extension","MedicationRequest.dispenseRequest.id":"System.String","MedicationRequest.dispenseRequest.initialFill":"BackboneElement","MedicationRequest.dispenseRequest.initialFill.duration":"Duration","MedicationRequest.dispenseRequest.initialFill.extension":"Extension","MedicationRequest.dispenseRequest.initialFill.id":"System.String","MedicationRequest.dispenseRequest.initialFill.modifierExtension":"Extension","MedicationRequest.dispenseRequest.initialFill.quantity":"Quantity","MedicationRequest.dispenseRequest.modifierExtension":"Extension","MedicationRequest.dispenseRequest.numberOfRepeatsAllowed":"unsignedInt","MedicationRequest.dispenseRequest.performer":"Reference","MedicationRequest.dispenseRequest.quantity":"Quantity","MedicationRequest.dispenseRequest.validityPeriod":"Period","MedicationRequest.doNotPerform":"boolean","MedicationRequest.dosageInstruction":"Dosage","MedicationRequest.encounter":"Reference","MedicationRequest.eventHistory":"Reference","MedicationRequest.extension":"Extension","MedicationRequest.groupIdentifier":"Identifier","MedicationRequest.id":"System.String","MedicationRequest.identifier":"Identifier","MedicationRequest.implicitRules":"uri","MedicationRequest.instantiatesCanonical":"canonical","MedicationRequest.instantiatesUri":"uri","MedicationRequest.insurance":"Reference","MedicationRequest.intent":"code","MedicationRequest.language":"code","MedicationRequest.medicationCodeableConcept":"CodeableConcept","MedicationRequest.medicationReference":"Reference","MedicationRequest.meta":"Meta","MedicationRequest.modifierExtension":"Extension","MedicationRequest.note":"Annotation","MedicationRequest.performer":"Reference","MedicationRequest.performerType":"CodeableConcept","MedicationRequest.priorPrescription":"Reference","MedicationRequest.priority":"code","MedicationRequest.reasonCode":"CodeableConcept","MedicationRequest.reasonReference":"Reference","MedicationRequest.recorder":"Reference","MedicationRequest.reportedBoolean":"boolean","MedicationRequest.reportedReference":"Reference","MedicationRequest.requester":"Reference","MedicationRequest.status":"code","MedicationRequest.statusReason":"CodeableConcept","MedicationRequest.subject":"Reference","MedicationRequest.substitution":"BackboneElement","MedicationRequest.substitution.allowedBoolean":"boolean","MedicationRequest.substitution.allowedCodeableConcept":"CodeableConcept","MedicationRequest.substitution.extension":"Extension","MedicationRequest.substitution.id":"System.String","MedicationRequest.substitution.modifierExtension":"Extension","MedicationRequest.substitution.reason":"CodeableConcept","MedicationRequest.supportingInformation":"Reference","MedicationRequest.text":"Narrative","MedicationStatement.basedOn":"Reference","MedicationStatement.category":"CodeableConcept","MedicationStatement.contained":"Resource","MedicationStatement.context":"Reference","MedicationStatement.dateAsserted":"dateTime","MedicationStatement.derivedFrom":"Reference","MedicationStatement.dosage":"Dosage","MedicationStatement.effectiveDateTime":"dateTime","MedicationStatement.effectivePeriod":"Period","MedicationStatement.extension":"Extension","MedicationStatement.id":"System.String","MedicationStatement.identifier":"Identifier","MedicationStatement.implicitRules":"uri","MedicationStatement.informationSource":"Reference","MedicationStatement.language":"code","MedicationStatement.medicationCodeableConcept":"CodeableConcept","MedicationStatement.medicationReference":"Reference","MedicationStatement.meta":"Meta","MedicationStatement.modifierExtension":"Extension","MedicationStatement.note":"Annotation","MedicationStatement.partOf":"Reference","MedicationStatement.reasonCode":"CodeableConcept","MedicationStatement.reasonReference":"Reference","MedicationStatement.status":"code","MedicationStatement.statusReason":"CodeableConcept","MedicationStatement.subject":"Reference","MedicationStatement.text":"Narrative","MedicinalProduct.additionalMonitoringIndicator":"CodeableConcept","MedicinalProduct.attachedDocument":"Reference","MedicinalProduct.clinicalTrial":"Reference","MedicinalProduct.combinedPharmaceuticalDoseForm":"CodeableConcept","MedicinalProduct.contact":"Reference","MedicinalProduct.contained":"Resource","MedicinalProduct.crossReference":"Identifier","MedicinalProduct.domain":"Coding","MedicinalProduct.extension":"Extension","MedicinalProduct.id":"System.String","MedicinalProduct.identifier":"Identifier","MedicinalProduct.implicitRules":"uri","MedicinalProduct.language":"code","MedicinalProduct.legalStatusOfSupply":"CodeableConcept","MedicinalProduct.manufacturingBusinessOperation":"BackboneElement","MedicinalProduct.manufacturingBusinessOperation.authorisationReferenceNumber":"Identifier","MedicinalProduct.manufacturingBusinessOperation.confidentialityIndicator":"CodeableConcept","MedicinalProduct.manufacturingBusinessOperation.effectiveDate":"dateTime","MedicinalProduct.manufacturingBusinessOperation.extension":"Extension","MedicinalProduct.manufacturingBusinessOperation.id":"System.String","MedicinalProduct.manufacturingBusinessOperation.manufacturer":"Reference","MedicinalProduct.manufacturingBusinessOperation.modifierExtension":"Extension","MedicinalProduct.manufacturingBusinessOperation.operationType":"CodeableConcept","MedicinalProduct.manufacturingBusinessOperation.regulator":"Reference","MedicinalProduct.marketingStatus":"MarketingStatus","MedicinalProduct.masterFile":"Reference","MedicinalProduct.meta":"Meta","MedicinalProduct.modifierExtension":"Extension","MedicinalProduct.name":"BackboneElement","MedicinalProduct.name.countryLanguage":"BackboneElement","MedicinalProduct.name.countryLanguage.country":"CodeableConcept","MedicinalProduct.name.countryLanguage.extension":"Extension","MedicinalProduct.name.countryLanguage.id":"System.String","MedicinalProduct.name.countryLanguage.jurisdiction":"CodeableConcept","MedicinalProduct.name.countryLanguage.language":"CodeableConcept","MedicinalProduct.name.countryLanguage.modifierExtension":"Extension","MedicinalProduct.name.extension":"Extension","MedicinalProduct.name.id":"System.String","MedicinalProduct.name.modifierExtension":"Extension","MedicinalProduct.name.namePart":"BackboneElement","MedicinalProduct.name.namePart.extension":"Extension","MedicinalProduct.name.namePart.id":"System.String","MedicinalProduct.name.namePart.modifierExtension":"Extension","MedicinalProduct.name.namePart.part":"string","MedicinalProduct.name.namePart.type":"Coding","MedicinalProduct.name.productName":"string","MedicinalProduct.packagedMedicinalProduct":"Reference","MedicinalProduct.paediatricUseIndicator":"CodeableConcept","MedicinalProduct.pharmaceuticalProduct":"Reference","MedicinalProduct.productClassification":"CodeableConcept","MedicinalProduct.specialDesignation":"BackboneElement","MedicinalProduct.specialDesignation.date":"dateTime","MedicinalProduct.specialDesignation.extension":"Extension","MedicinalProduct.specialDesignation.id":"System.String","MedicinalProduct.specialDesignation.identifier":"Identifier","MedicinalProduct.specialDesignation.indicationCodeableConcept":"CodeableConcept","MedicinalProduct.specialDesignation.indicationReference":"Reference","MedicinalProduct.specialDesignation.intendedUse":"CodeableConcept","MedicinalProduct.specialDesignation.modifierExtension":"Extension","MedicinalProduct.specialDesignation.species":"CodeableConcept","MedicinalProduct.specialDesignation.status":"CodeableConcept","MedicinalProduct.specialDesignation.type":"CodeableConcept","MedicinalProduct.specialMeasures":"string","MedicinalProduct.text":"Narrative","MedicinalProduct.type":"CodeableConcept","MedicinalProductAuthorization.contained":"Resource","MedicinalProductAuthorization.country":"CodeableConcept","MedicinalProductAuthorization.dataExclusivityPeriod":"Period","MedicinalProductAuthorization.dateOfFirstAuthorization":"dateTime","MedicinalProductAuthorization.extension":"Extension","MedicinalProductAuthorization.holder":"Reference","MedicinalProductAuthorization.id":"System.String","MedicinalProductAuthorization.identifier":"Identifier","MedicinalProductAuthorization.implicitRules":"uri","MedicinalProductAuthorization.internationalBirthDate":"dateTime","MedicinalProductAuthorization.jurisdiction":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization":"BackboneElement","MedicinalProductAuthorization.jurisdictionalAuthorization.country":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.extension":"Extension","MedicinalProductAuthorization.jurisdictionalAuthorization.id":"System.String","MedicinalProductAuthorization.jurisdictionalAuthorization.identifier":"Identifier","MedicinalProductAuthorization.jurisdictionalAuthorization.jurisdiction":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.legalStatusOfSupply":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.modifierExtension":"Extension","MedicinalProductAuthorization.jurisdictionalAuthorization.validityPeriod":"Period","MedicinalProductAuthorization.language":"code","MedicinalProductAuthorization.legalBasis":"CodeableConcept","MedicinalProductAuthorization.meta":"Meta","MedicinalProductAuthorization.modifierExtension":"Extension","MedicinalProductAuthorization.procedure":"BackboneElement","MedicinalProductAuthorization.procedure.dateDateTime":"dateTime","MedicinalProductAuthorization.procedure.datePeriod":"Period","MedicinalProductAuthorization.procedure.extension":"Extension","MedicinalProductAuthorization.procedure.id":"System.String","MedicinalProductAuthorization.procedure.identifier":"Identifier","MedicinalProductAuthorization.procedure.modifierExtension":"Extension","MedicinalProductAuthorization.procedure.type":"CodeableConcept","MedicinalProductAuthorization.regulator":"Reference","MedicinalProductAuthorization.restoreDate":"dateTime","MedicinalProductAuthorization.status":"CodeableConcept","MedicinalProductAuthorization.statusDate":"dateTime","MedicinalProductAuthorization.subject":"Reference","MedicinalProductAuthorization.text":"Narrative","MedicinalProductAuthorization.validityPeriod":"Period","MedicinalProductContraindication.comorbidity":"CodeableConcept","MedicinalProductContraindication.contained":"Resource","MedicinalProductContraindication.disease":"CodeableConcept","MedicinalProductContraindication.diseaseStatus":"CodeableConcept","MedicinalProductContraindication.extension":"Extension","MedicinalProductContraindication.id":"System.String","MedicinalProductContraindication.implicitRules":"uri","MedicinalProductContraindication.language":"code","MedicinalProductContraindication.meta":"Meta","MedicinalProductContraindication.modifierExtension":"Extension","MedicinalProductContraindication.otherTherapy":"BackboneElement","MedicinalProductContraindication.otherTherapy.extension":"Extension","MedicinalProductContraindication.otherTherapy.id":"System.String","MedicinalProductContraindication.otherTherapy.medicationCodeableConcept":"CodeableConcept","MedicinalProductContraindication.otherTherapy.medicationReference":"Reference","MedicinalProductContraindication.otherTherapy.modifierExtension":"Extension","MedicinalProductContraindication.otherTherapy.therapyRelationshipType":"CodeableConcept","MedicinalProductContraindication.population":"Population","MedicinalProductContraindication.subject":"Reference","MedicinalProductContraindication.text":"Narrative","MedicinalProductContraindication.therapeuticIndication":"Reference","MedicinalProductIndication.comorbidity":"CodeableConcept","MedicinalProductIndication.contained":"Resource","MedicinalProductIndication.diseaseStatus":"CodeableConcept","MedicinalProductIndication.diseaseSymptomProcedure":"CodeableConcept","MedicinalProductIndication.duration":"Quantity","MedicinalProductIndication.extension":"Extension","MedicinalProductIndication.id":"System.String","MedicinalProductIndication.implicitRules":"uri","MedicinalProductIndication.intendedEffect":"CodeableConcept","MedicinalProductIndication.language":"code","MedicinalProductIndication.meta":"Meta","MedicinalProductIndication.modifierExtension":"Extension","MedicinalProductIndication.otherTherapy":"BackboneElement","MedicinalProductIndication.otherTherapy.extension":"Extension","MedicinalProductIndication.otherTherapy.id":"System.String","MedicinalProductIndication.otherTherapy.medicationCodeableConcept":"CodeableConcept","MedicinalProductIndication.otherTherapy.medicationReference":"Reference","MedicinalProductIndication.otherTherapy.modifierExtension":"Extension","MedicinalProductIndication.otherTherapy.therapyRelationshipType":"CodeableConcept","MedicinalProductIndication.population":"Population","MedicinalProductIndication.subject":"Reference","MedicinalProductIndication.text":"Narrative","MedicinalProductIndication.undesirableEffect":"Reference","MedicinalProductIngredient.allergenicIndicator":"boolean","MedicinalProductIngredient.contained":"Resource","MedicinalProductIngredient.extension":"Extension","MedicinalProductIngredient.id":"System.String","MedicinalProductIngredient.identifier":"Identifier","MedicinalProductIngredient.implicitRules":"uri","MedicinalProductIngredient.language":"code","MedicinalProductIngredient.manufacturer":"Reference","MedicinalProductIngredient.meta":"Meta","MedicinalProductIngredient.modifierExtension":"Extension","MedicinalProductIngredient.role":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance":"BackboneElement","MedicinalProductIngredient.specifiedSubstance.code":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.confidentiality":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.extension":"Extension","MedicinalProductIngredient.specifiedSubstance.group":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.id":"System.String","MedicinalProductIngredient.specifiedSubstance.modifierExtension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength":"BackboneElement","MedicinalProductIngredient.specifiedSubstance.strength.concentration":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.concentrationLowLimit":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.country":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.strength.extension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.id":"System.String","MedicinalProductIngredient.specifiedSubstance.strength.measurementPoint":"string","MedicinalProductIngredient.specifiedSubstance.strength.modifierExtension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.presentation":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.presentationLowLimit":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength":"BackboneElement","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.country":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.extension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.id":"System.String","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.measurementPoint":"string","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.modifierExtension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.strength":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.strengthLowLimit":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.substance":"CodeableConcept","MedicinalProductIngredient.substance":"BackboneElement","MedicinalProductIngredient.substance.code":"CodeableConcept","MedicinalProductIngredient.substance.extension":"Extension","MedicinalProductIngredient.substance.id":"System.String","MedicinalProductIngredient.substance.modifierExtension":"Extension","MedicinalProductIngredient.text":"Narrative","MedicinalProductInteraction.contained":"Resource","MedicinalProductInteraction.description":"string","MedicinalProductInteraction.effect":"CodeableConcept","MedicinalProductInteraction.extension":"Extension","MedicinalProductInteraction.id":"System.String","MedicinalProductInteraction.implicitRules":"uri","MedicinalProductInteraction.incidence":"CodeableConcept","MedicinalProductInteraction.interactant":"BackboneElement","MedicinalProductInteraction.interactant.extension":"Extension","MedicinalProductInteraction.interactant.id":"System.String","MedicinalProductInteraction.interactant.itemCodeableConcept":"CodeableConcept","MedicinalProductInteraction.interactant.itemReference":"Reference","MedicinalProductInteraction.interactant.modifierExtension":"Extension","MedicinalProductInteraction.language":"code","MedicinalProductInteraction.management":"CodeableConcept","MedicinalProductInteraction.meta":"Meta","MedicinalProductInteraction.modifierExtension":"Extension","MedicinalProductInteraction.subject":"Reference","MedicinalProductInteraction.text":"Narrative","MedicinalProductInteraction.type":"CodeableConcept","MedicinalProductManufactured.contained":"Resource","MedicinalProductManufactured.extension":"Extension","MedicinalProductManufactured.id":"System.String","MedicinalProductManufactured.implicitRules":"uri","MedicinalProductManufactured.ingredient":"Reference","MedicinalProductManufactured.language":"code","MedicinalProductManufactured.manufacturedDoseForm":"CodeableConcept","MedicinalProductManufactured.manufacturer":"Reference","MedicinalProductManufactured.meta":"Meta","MedicinalProductManufactured.modifierExtension":"Extension","MedicinalProductManufactured.otherCharacteristics":"CodeableConcept","MedicinalProductManufactured.physicalCharacteristics":"ProdCharacteristic","MedicinalProductManufactured.quantity":"Quantity","MedicinalProductManufactured.text":"Narrative","MedicinalProductManufactured.unitOfPresentation":"CodeableConcept","MedicinalProductPackaged.batchIdentifier":"BackboneElement","MedicinalProductPackaged.batchIdentifier.extension":"Extension","MedicinalProductPackaged.batchIdentifier.id":"System.String","MedicinalProductPackaged.batchIdentifier.immediatePackaging":"Identifier","MedicinalProductPackaged.batchIdentifier.modifierExtension":"Extension","MedicinalProductPackaged.batchIdentifier.outerPackaging":"Identifier","MedicinalProductPackaged.contained":"Resource","MedicinalProductPackaged.description":"string","MedicinalProductPackaged.extension":"Extension","MedicinalProductPackaged.id":"System.String","MedicinalProductPackaged.identifier":"Identifier","MedicinalProductPackaged.implicitRules":"uri","MedicinalProductPackaged.language":"code","MedicinalProductPackaged.legalStatusOfSupply":"CodeableConcept","MedicinalProductPackaged.manufacturer":"Reference","MedicinalProductPackaged.marketingAuthorization":"Reference","MedicinalProductPackaged.marketingStatus":"MarketingStatus","MedicinalProductPackaged.meta":"Meta","MedicinalProductPackaged.modifierExtension":"Extension","MedicinalProductPackaged.packageItem":"BackboneElement","MedicinalProductPackaged.packageItem.alternateMaterial":"CodeableConcept","MedicinalProductPackaged.packageItem.device":"Reference","MedicinalProductPackaged.packageItem.extension":"Extension","MedicinalProductPackaged.packageItem.id":"System.String","MedicinalProductPackaged.packageItem.identifier":"Identifier","MedicinalProductPackaged.packageItem.manufacturedItem":"Reference","MedicinalProductPackaged.packageItem.manufacturer":"Reference","MedicinalProductPackaged.packageItem.material":"CodeableConcept","MedicinalProductPackaged.packageItem.modifierExtension":"Extension","MedicinalProductPackaged.packageItem.otherCharacteristics":"CodeableConcept","MedicinalProductPackaged.packageItem.physicalCharacteristics":"ProdCharacteristic","MedicinalProductPackaged.packageItem.quantity":"Quantity","MedicinalProductPackaged.packageItem.shelfLifeStorage":"ProductShelfLife","MedicinalProductPackaged.packageItem.type":"CodeableConcept","MedicinalProductPackaged.subject":"Reference","MedicinalProductPackaged.text":"Narrative","MedicinalProductPharmaceutical.administrableDoseForm":"CodeableConcept","MedicinalProductPharmaceutical.characteristics":"BackboneElement","MedicinalProductPharmaceutical.characteristics.code":"CodeableConcept","MedicinalProductPharmaceutical.characteristics.extension":"Extension","MedicinalProductPharmaceutical.characteristics.id":"System.String","MedicinalProductPharmaceutical.characteristics.modifierExtension":"Extension","MedicinalProductPharmaceutical.characteristics.status":"CodeableConcept","MedicinalProductPharmaceutical.contained":"Resource","MedicinalProductPharmaceutical.device":"Reference","MedicinalProductPharmaceutical.extension":"Extension","MedicinalProductPharmaceutical.id":"System.String","MedicinalProductPharmaceutical.identifier":"Identifier","MedicinalProductPharmaceutical.implicitRules":"uri","MedicinalProductPharmaceutical.ingredient":"Reference","MedicinalProductPharmaceutical.language":"code","MedicinalProductPharmaceutical.meta":"Meta","MedicinalProductPharmaceutical.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration":"BackboneElement","MedicinalProductPharmaceutical.routeOfAdministration.code":"CodeableConcept","MedicinalProductPharmaceutical.routeOfAdministration.extension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.firstDose":"Quantity","MedicinalProductPharmaceutical.routeOfAdministration.id":"System.String","MedicinalProductPharmaceutical.routeOfAdministration.maxDosePerDay":"Quantity","MedicinalProductPharmaceutical.routeOfAdministration.maxDosePerTreatmentPeriod":"Ratio","MedicinalProductPharmaceutical.routeOfAdministration.maxSingleDose":"Quantity","MedicinalProductPharmaceutical.routeOfAdministration.maxTreatmentPeriod":"Duration","MedicinalProductPharmaceutical.routeOfAdministration.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies":"BackboneElement","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.code":"CodeableConcept","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.extension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.id":"System.String","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod":"BackboneElement","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.extension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.id":"System.String","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.supportingInformation":"string","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.tissue":"CodeableConcept","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.value":"Quantity","MedicinalProductPharmaceutical.text":"Narrative","MedicinalProductPharmaceutical.unitOfPresentation":"CodeableConcept","MedicinalProductUndesirableEffect.classification":"CodeableConcept","MedicinalProductUndesirableEffect.contained":"Resource","MedicinalProductUndesirableEffect.extension":"Extension","MedicinalProductUndesirableEffect.frequencyOfOccurrence":"CodeableConcept","MedicinalProductUndesirableEffect.id":"System.String","MedicinalProductUndesirableEffect.implicitRules":"uri","MedicinalProductUndesirableEffect.language":"code","MedicinalProductUndesirableEffect.meta":"Meta","MedicinalProductUndesirableEffect.modifierExtension":"Extension","MedicinalProductUndesirableEffect.population":"Population","MedicinalProductUndesirableEffect.subject":"Reference","MedicinalProductUndesirableEffect.symptomConditionEffect":"CodeableConcept","MedicinalProductUndesirableEffect.text":"Narrative","MessageDefinition.allowedResponse":"BackboneElement","MessageDefinition.allowedResponse.extension":"Extension","MessageDefinition.allowedResponse.id":"System.String","MessageDefinition.allowedResponse.message":"canonical","MessageDefinition.allowedResponse.modifierExtension":"Extension","MessageDefinition.allowedResponse.situation":"markdown","MessageDefinition.base":"canonical","MessageDefinition.category":"code","MessageDefinition.contact":"ContactDetail","MessageDefinition.contained":"Resource","MessageDefinition.copyright":"markdown","MessageDefinition.date":"dateTime","MessageDefinition.description":"markdown","MessageDefinition.eventCoding":"Coding","MessageDefinition.eventUri":"uri","MessageDefinition.experimental":"boolean","MessageDefinition.extension":"Extension","MessageDefinition.focus":"BackboneElement","MessageDefinition.focus.code":"code","MessageDefinition.focus.extension":"Extension","MessageDefinition.focus.id":"System.String","MessageDefinition.focus.max":"string","MessageDefinition.focus.min":"unsignedInt","MessageDefinition.focus.modifierExtension":"Extension","MessageDefinition.focus.profile":"canonical","MessageDefinition.graph":"canonical","MessageDefinition.id":"System.String","MessageDefinition.identifier":"Identifier","MessageDefinition.implicitRules":"uri","MessageDefinition.jurisdiction":"CodeableConcept","MessageDefinition.language":"code","MessageDefinition.meta":"Meta","MessageDefinition.modifierExtension":"Extension","MessageDefinition.name":"string","MessageDefinition.parent":"canonical","MessageDefinition.publisher":"string","MessageDefinition.purpose":"markdown","MessageDefinition.replaces":"canonical","MessageDefinition.responseRequired":"code","MessageDefinition.status":"code","MessageDefinition.text":"Narrative","MessageDefinition.title":"string","MessageDefinition.url":"uri","MessageDefinition.useContext":"UsageContext","MessageDefinition.version":"string","MessageHeader.author":"Reference","MessageHeader.contained":"Resource","MessageHeader.definition":"canonical","MessageHeader.destination":"BackboneElement","MessageHeader.destination.endpoint":"url","MessageHeader.destination.extension":"Extension","MessageHeader.destination.id":"System.String","MessageHeader.destination.modifierExtension":"Extension","MessageHeader.destination.name":"string","MessageHeader.destination.receiver":"Reference","MessageHeader.destination.target":"Reference","MessageHeader.enterer":"Reference","MessageHeader.eventCoding":"Coding","MessageHeader.eventUri":"uri","MessageHeader.extension":"Extension","MessageHeader.focus":"Reference","MessageHeader.id":"System.String","MessageHeader.implicitRules":"uri","MessageHeader.language":"code","MessageHeader.meta":"Meta","MessageHeader.modifierExtension":"Extension","MessageHeader.reason":"CodeableConcept","MessageHeader.response":"BackboneElement","MessageHeader.response.code":"code","MessageHeader.response.details":"Reference","MessageHeader.response.extension":"Extension","MessageHeader.response.id":"System.String","MessageHeader.response.identifier":"id","MessageHeader.response.modifierExtension":"Extension","MessageHeader.responsible":"Reference","MessageHeader.sender":"Reference","MessageHeader.source":"BackboneElement","MessageHeader.source.contact":"ContactPoint","MessageHeader.source.endpoint":"url","MessageHeader.source.extension":"Extension","MessageHeader.source.id":"System.String","MessageHeader.source.modifierExtension":"Extension","MessageHeader.source.name":"string","MessageHeader.source.software":"string","MessageHeader.source.version":"string","MessageHeader.text":"Narrative","Meta.extension":"Extension","Meta.id":"System.String","Meta.lastUpdated":"instant","Meta.profile":"canonical","Meta.security":"Coding","Meta.source":"uri","Meta.tag":"Coding","Meta.versionId":"id","MetadataResource.contact":"ContactDetail","MetadataResource.contained":"Resource","MetadataResource.date":"dateTime","MetadataResource.description":"markdown","MetadataResource.experimental":"boolean","MetadataResource.extension":"Extension","MetadataResource.id":"System.String","MetadataResource.implicitRules":"uri","MetadataResource.jurisdiction":"CodeableConcept","MetadataResource.language":"code","MetadataResource.meta":"Meta","MetadataResource.modifierExtension":"Extension","MetadataResource.name":"string","MetadataResource.publisher":"string","MetadataResource.status":"code","MetadataResource.text":"Narrative","MetadataResource.title":"string","MetadataResource.url":"uri","MetadataResource.useContext":"UsageContext","MetadataResource.version":"string","MolecularSequence.contained":"Resource","MolecularSequence.coordinateSystem":"integer","MolecularSequence.device":"Reference","MolecularSequence.extension":"Extension","MolecularSequence.id":"System.String","MolecularSequence.identifier":"Identifier","MolecularSequence.implicitRules":"uri","MolecularSequence.language":"code","MolecularSequence.meta":"Meta","MolecularSequence.modifierExtension":"Extension","MolecularSequence.observedSeq":"string","MolecularSequence.patient":"Reference","MolecularSequence.performer":"Reference","MolecularSequence.pointer":"Reference","MolecularSequence.quality":"BackboneElement","MolecularSequence.quality.end":"integer","MolecularSequence.quality.extension":"Extension","MolecularSequence.quality.fScore":"decimal","MolecularSequence.quality.gtFP":"decimal","MolecularSequence.quality.id":"System.String","MolecularSequence.quality.method":"CodeableConcept","MolecularSequence.quality.modifierExtension":"Extension","MolecularSequence.quality.precision":"decimal","MolecularSequence.quality.queryFP":"decimal","MolecularSequence.quality.queryTP":"decimal","MolecularSequence.quality.recall":"decimal","MolecularSequence.quality.roc":"BackboneElement","MolecularSequence.quality.roc.extension":"Extension","MolecularSequence.quality.roc.fMeasure":"decimal","MolecularSequence.quality.roc.id":"System.String","MolecularSequence.quality.roc.modifierExtension":"Extension","MolecularSequence.quality.roc.numFN":"integer","MolecularSequence.quality.roc.numFP":"integer","MolecularSequence.quality.roc.numTP":"integer","MolecularSequence.quality.roc.precision":"decimal","MolecularSequence.quality.roc.score":"integer","MolecularSequence.quality.roc.sensitivity":"decimal","MolecularSequence.quality.score":"Quantity","MolecularSequence.quality.standardSequence":"CodeableConcept","MolecularSequence.quality.start":"integer","MolecularSequence.quality.truthFN":"decimal","MolecularSequence.quality.truthTP":"decimal","MolecularSequence.quality.type":"code","MolecularSequence.quantity":"Quantity","MolecularSequence.readCoverage":"integer","MolecularSequence.referenceSeq":"BackboneElement","MolecularSequence.referenceSeq.chromosome":"CodeableConcept","MolecularSequence.referenceSeq.extension":"Extension","MolecularSequence.referenceSeq.genomeBuild":"string","MolecularSequence.referenceSeq.id":"System.String","MolecularSequence.referenceSeq.modifierExtension":"Extension","MolecularSequence.referenceSeq.orientation":"code","MolecularSequence.referenceSeq.referenceSeqId":"CodeableConcept","MolecularSequence.referenceSeq.referenceSeqPointer":"Reference","MolecularSequence.referenceSeq.referenceSeqString":"string","MolecularSequence.referenceSeq.strand":"code","MolecularSequence.referenceSeq.windowEnd":"integer","MolecularSequence.referenceSeq.windowStart":"integer","MolecularSequence.repository":"BackboneElement","MolecularSequence.repository.datasetId":"string","MolecularSequence.repository.extension":"Extension","MolecularSequence.repository.id":"System.String","MolecularSequence.repository.modifierExtension":"Extension","MolecularSequence.repository.name":"string","MolecularSequence.repository.readsetId":"string","MolecularSequence.repository.type":"code","MolecularSequence.repository.url":"uri","MolecularSequence.repository.variantsetId":"string","MolecularSequence.specimen":"Reference","MolecularSequence.structureVariant":"BackboneElement","MolecularSequence.structureVariant.exact":"boolean","MolecularSequence.structureVariant.extension":"Extension","MolecularSequence.structureVariant.id":"System.String","MolecularSequence.structureVariant.inner":"BackboneElement","MolecularSequence.structureVariant.inner.end":"integer","MolecularSequence.structureVariant.inner.extension":"Extension","MolecularSequence.structureVariant.inner.id":"System.String","MolecularSequence.structureVariant.inner.modifierExtension":"Extension","MolecularSequence.structureVariant.inner.start":"integer","MolecularSequence.structureVariant.length":"integer","MolecularSequence.structureVariant.modifierExtension":"Extension","MolecularSequence.structureVariant.outer":"BackboneElement","MolecularSequence.structureVariant.outer.end":"integer","MolecularSequence.structureVariant.outer.extension":"Extension","MolecularSequence.structureVariant.outer.id":"System.String","MolecularSequence.structureVariant.outer.modifierExtension":"Extension","MolecularSequence.structureVariant.outer.start":"integer","MolecularSequence.structureVariant.variantType":"CodeableConcept","MolecularSequence.text":"Narrative","MolecularSequence.type":"code","MolecularSequence.variant":"BackboneElement","MolecularSequence.variant.cigar":"string","MolecularSequence.variant.end":"integer","MolecularSequence.variant.extension":"Extension","MolecularSequence.variant.id":"System.String","MolecularSequence.variant.modifierExtension":"Extension","MolecularSequence.variant.observedAllele":"string","MolecularSequence.variant.referenceAllele":"string","MolecularSequence.variant.start":"integer","MolecularSequence.variant.variantPointer":"Reference","Money.currency":"code","Money.extension":"Extension","Money.id":"System.String","Money.value":"decimal","NamingSystem.contact":"ContactDetail","NamingSystem.contained":"Resource","NamingSystem.date":"dateTime","NamingSystem.description":"markdown","NamingSystem.extension":"Extension","NamingSystem.id":"System.String","NamingSystem.implicitRules":"uri","NamingSystem.jurisdiction":"CodeableConcept","NamingSystem.kind":"code","NamingSystem.language":"code","NamingSystem.meta":"Meta","NamingSystem.modifierExtension":"Extension","NamingSystem.name":"string","NamingSystem.publisher":"string","NamingSystem.responsible":"string","NamingSystem.status":"code","NamingSystem.text":"Narrative","NamingSystem.type":"CodeableConcept","NamingSystem.uniqueId":"BackboneElement","NamingSystem.uniqueId.comment":"string","NamingSystem.uniqueId.extension":"Extension","NamingSystem.uniqueId.id":"System.String","NamingSystem.uniqueId.modifierExtension":"Extension","NamingSystem.uniqueId.period":"Period","NamingSystem.uniqueId.preferred":"boolean","NamingSystem.uniqueId.type":"code","NamingSystem.uniqueId.value":"string","NamingSystem.usage":"string","NamingSystem.useContext":"UsageContext","Narrative.div":"xhtml","Narrative.extension":"Extension","Narrative.id":"System.String","Narrative.status":"code","NutritionOrder.allergyIntolerance":"Reference","NutritionOrder.contained":"Resource","NutritionOrder.dateTime":"dateTime","NutritionOrder.encounter":"Reference","NutritionOrder.enteralFormula":"BackboneElement","NutritionOrder.enteralFormula.additiveProductName":"string","NutritionOrder.enteralFormula.additiveType":"CodeableConcept","NutritionOrder.enteralFormula.administration":"BackboneElement","NutritionOrder.enteralFormula.administration.extension":"Extension","NutritionOrder.enteralFormula.administration.id":"System.String","NutritionOrder.enteralFormula.administration.modifierExtension":"Extension","NutritionOrder.enteralFormula.administration.quantity":"Quantity","NutritionOrder.enteralFormula.administration.rateQuantity":"Quantity","NutritionOrder.enteralFormula.administration.rateRatio":"Ratio","NutritionOrder.enteralFormula.administration.schedule":"Timing","NutritionOrder.enteralFormula.administrationInstruction":"string","NutritionOrder.enteralFormula.baseFormulaProductName":"string","NutritionOrder.enteralFormula.baseFormulaType":"CodeableConcept","NutritionOrder.enteralFormula.caloricDensity":"Quantity","NutritionOrder.enteralFormula.extension":"Extension","NutritionOrder.enteralFormula.id":"System.String","NutritionOrder.enteralFormula.maxVolumeToDeliver":"Quantity","NutritionOrder.enteralFormula.modifierExtension":"Extension","NutritionOrder.enteralFormula.routeofAdministration":"CodeableConcept","NutritionOrder.excludeFoodModifier":"CodeableConcept","NutritionOrder.extension":"Extension","NutritionOrder.foodPreferenceModifier":"CodeableConcept","NutritionOrder.id":"System.String","NutritionOrder.identifier":"Identifier","NutritionOrder.implicitRules":"uri","NutritionOrder.instantiates":"uri","NutritionOrder.instantiatesCanonical":"canonical","NutritionOrder.instantiatesUri":"uri","NutritionOrder.intent":"code","NutritionOrder.language":"code","NutritionOrder.meta":"Meta","NutritionOrder.modifierExtension":"Extension","NutritionOrder.note":"Annotation","NutritionOrder.oralDiet":"BackboneElement","NutritionOrder.oralDiet.extension":"Extension","NutritionOrder.oralDiet.fluidConsistencyType":"CodeableConcept","NutritionOrder.oralDiet.id":"System.String","NutritionOrder.oralDiet.instruction":"string","NutritionOrder.oralDiet.modifierExtension":"Extension","NutritionOrder.oralDiet.nutrient":"BackboneElement","NutritionOrder.oralDiet.nutrient.amount":"Quantity","NutritionOrder.oralDiet.nutrient.extension":"Extension","NutritionOrder.oralDiet.nutrient.id":"System.String","NutritionOrder.oralDiet.nutrient.modifier":"CodeableConcept","NutritionOrder.oralDiet.nutrient.modifierExtension":"Extension","NutritionOrder.oralDiet.schedule":"Timing","NutritionOrder.oralDiet.texture":"BackboneElement","NutritionOrder.oralDiet.texture.extension":"Extension","NutritionOrder.oralDiet.texture.foodType":"CodeableConcept","NutritionOrder.oralDiet.texture.id":"System.String","NutritionOrder.oralDiet.texture.modifier":"CodeableConcept","NutritionOrder.oralDiet.texture.modifierExtension":"Extension","NutritionOrder.oralDiet.type":"CodeableConcept","NutritionOrder.orderer":"Reference","NutritionOrder.patient":"Reference","NutritionOrder.status":"code","NutritionOrder.supplement":"BackboneElement","NutritionOrder.supplement.extension":"Extension","NutritionOrder.supplement.id":"System.String","NutritionOrder.supplement.instruction":"string","NutritionOrder.supplement.modifierExtension":"Extension","NutritionOrder.supplement.productName":"string","NutritionOrder.supplement.quantity":"Quantity","NutritionOrder.supplement.schedule":"Timing","NutritionOrder.supplement.type":"CodeableConcept","NutritionOrder.text":"Narrative","Observation.basedOn":"Reference","Observation.bodySite":"CodeableConcept","Observation.category":"CodeableConcept","Observation.code":"CodeableConcept","Observation.component":"BackboneElement","Observation.component.code":"CodeableConcept","Observation.component.dataAbsentReason":"CodeableConcept","Observation.component.extension":"Extension","Observation.component.id":"System.String","Observation.component.interpretation":"CodeableConcept","Observation.component.modifierExtension":"Extension","Observation.component.valueBoolean":"boolean","Observation.component.valueCodeableConcept":"CodeableConcept","Observation.component.valueDateTime":"dateTime","Observation.component.valueInteger":"integer","Observation.component.valuePeriod":"Period","Observation.component.valueQuantity":"Quantity","Observation.component.valueRange":"Range","Observation.component.valueRatio":"Ratio","Observation.component.valueSampledData":"SampledData","Observation.component.valueString":"string","Observation.component.valueTime":"time","Observation.contained":"Resource","Observation.dataAbsentReason":"CodeableConcept","Observation.derivedFrom":"Reference","Observation.device":"Reference","Observation.effectiveDateTime":"dateTime","Observation.effectiveInstant":"instant","Observation.effectivePeriod":"Period","Observation.effectiveTiming":"Timing","Observation.encounter":"Reference","Observation.extension":"Extension","Observation.focus":"Reference","Observation.hasMember":"Reference","Observation.id":"System.String","Observation.identifier":"Identifier","Observation.implicitRules":"uri","Observation.interpretation":"CodeableConcept","Observation.issued":"instant","Observation.language":"code","Observation.meta":"Meta","Observation.method":"CodeableConcept","Observation.modifierExtension":"Extension","Observation.note":"Annotation","Observation.partOf":"Reference","Observation.performer":"Reference","Observation.referenceRange":"BackboneElement","Observation.referenceRange.age":"Range","Observation.referenceRange.appliesTo":"CodeableConcept","Observation.referenceRange.extension":"Extension","Observation.referenceRange.high":"Quantity","Observation.referenceRange.id":"System.String","Observation.referenceRange.low":"Quantity","Observation.referenceRange.modifierExtension":"Extension","Observation.referenceRange.text":"string","Observation.referenceRange.type":"CodeableConcept","Observation.specimen":"Reference","Observation.status":"code","Observation.subject":"Reference","Observation.text":"Narrative","Observation.valueBoolean":"boolean","Observation.valueCodeableConcept":"CodeableConcept","Observation.valueDateTime":"dateTime","Observation.valueInteger":"integer","Observation.valuePeriod":"Period","Observation.valueQuantity":"Quantity","Observation.valueRange":"Range","Observation.valueRatio":"Ratio","Observation.valueSampledData":"SampledData","Observation.valueString":"string","Observation.valueTime":"time","ObservationDefinition.abnormalCodedValueSet":"Reference","ObservationDefinition.category":"CodeableConcept","ObservationDefinition.code":"CodeableConcept","ObservationDefinition.contained":"Resource","ObservationDefinition.criticalCodedValueSet":"Reference","ObservationDefinition.extension":"Extension","ObservationDefinition.id":"System.String","ObservationDefinition.identifier":"Identifier","ObservationDefinition.implicitRules":"uri","ObservationDefinition.language":"code","ObservationDefinition.meta":"Meta","ObservationDefinition.method":"CodeableConcept","ObservationDefinition.modifierExtension":"Extension","ObservationDefinition.multipleResultsAllowed":"boolean","ObservationDefinition.normalCodedValueSet":"Reference","ObservationDefinition.permittedDataType":"code","ObservationDefinition.preferredReportName":"string","ObservationDefinition.qualifiedInterval":"BackboneElement","ObservationDefinition.qualifiedInterval.age":"Range","ObservationDefinition.qualifiedInterval.appliesTo":"CodeableConcept","ObservationDefinition.qualifiedInterval.category":"code","ObservationDefinition.qualifiedInterval.condition":"string","ObservationDefinition.qualifiedInterval.context":"CodeableConcept","ObservationDefinition.qualifiedInterval.extension":"Extension","ObservationDefinition.qualifiedInterval.gender":"code","ObservationDefinition.qualifiedInterval.gestationalAge":"Range","ObservationDefinition.qualifiedInterval.id":"System.String","ObservationDefinition.qualifiedInterval.modifierExtension":"Extension","ObservationDefinition.qualifiedInterval.range":"Range","ObservationDefinition.quantitativeDetails":"BackboneElement","ObservationDefinition.quantitativeDetails.conversionFactor":"decimal","ObservationDefinition.quantitativeDetails.customaryUnit":"CodeableConcept","ObservationDefinition.quantitativeDetails.decimalPrecision":"integer","ObservationDefinition.quantitativeDetails.extension":"Extension","ObservationDefinition.quantitativeDetails.id":"System.String","ObservationDefinition.quantitativeDetails.modifierExtension":"Extension","ObservationDefinition.quantitativeDetails.unit":"CodeableConcept","ObservationDefinition.text":"Narrative","ObservationDefinition.validCodedValueSet":"Reference","OperationDefinition.affectsState":"boolean","OperationDefinition.base":"canonical","OperationDefinition.code":"code","OperationDefinition.comment":"markdown","OperationDefinition.contact":"ContactDetail","OperationDefinition.contained":"Resource","OperationDefinition.date":"dateTime","OperationDefinition.description":"markdown","OperationDefinition.experimental":"boolean","OperationDefinition.extension":"Extension","OperationDefinition.id":"System.String","OperationDefinition.implicitRules":"uri","OperationDefinition.inputProfile":"canonical","OperationDefinition.instance":"boolean","OperationDefinition.jurisdiction":"CodeableConcept","OperationDefinition.kind":"code","OperationDefinition.language":"code","OperationDefinition.meta":"Meta","OperationDefinition.modifierExtension":"Extension","OperationDefinition.name":"string","OperationDefinition.outputProfile":"canonical","OperationDefinition.overload":"BackboneElement","OperationDefinition.overload.comment":"string","OperationDefinition.overload.extension":"Extension","OperationDefinition.overload.id":"System.String","OperationDefinition.overload.modifierExtension":"Extension","OperationDefinition.overload.parameterName":"string","OperationDefinition.parameter":"BackboneElement","OperationDefinition.parameter.binding":"BackboneElement","OperationDefinition.parameter.binding.extension":"Extension","OperationDefinition.parameter.binding.id":"System.String","OperationDefinition.parameter.binding.modifierExtension":"Extension","OperationDefinition.parameter.binding.strength":"code","OperationDefinition.parameter.binding.valueSet":"canonical","OperationDefinition.parameter.documentation":"string","OperationDefinition.parameter.extension":"Extension","OperationDefinition.parameter.id":"System.String","OperationDefinition.parameter.max":"string","OperationDefinition.parameter.min":"integer","OperationDefinition.parameter.modifierExtension":"Extension","OperationDefinition.parameter.name":"code","OperationDefinition.parameter.referencedFrom":"BackboneElement","OperationDefinition.parameter.referencedFrom.extension":"Extension","OperationDefinition.parameter.referencedFrom.id":"System.String","OperationDefinition.parameter.referencedFrom.modifierExtension":"Extension","OperationDefinition.parameter.referencedFrom.source":"string","OperationDefinition.parameter.referencedFrom.sourceId":"string","OperationDefinition.parameter.searchType":"code","OperationDefinition.parameter.targetProfile":"canonical","OperationDefinition.parameter.type":"code","OperationDefinition.parameter.use":"code","OperationDefinition.publisher":"string","OperationDefinition.purpose":"markdown","OperationDefinition.resource":"code","OperationDefinition.status":"code","OperationDefinition.system":"boolean","OperationDefinition.text":"Narrative","OperationDefinition.title":"string","OperationDefinition.type":"boolean","OperationDefinition.url":"uri","OperationDefinition.useContext":"UsageContext","OperationDefinition.version":"string","OperationOutcome.contained":"Resource","OperationOutcome.extension":"Extension","OperationOutcome.id":"System.String","OperationOutcome.implicitRules":"uri","OperationOutcome.issue":"BackboneElement","OperationOutcome.issue.code":"code","OperationOutcome.issue.details":"CodeableConcept","OperationOutcome.issue.diagnostics":"string","OperationOutcome.issue.expression":"string","OperationOutcome.issue.extension":"Extension","OperationOutcome.issue.id":"System.String","OperationOutcome.issue.location":"string","OperationOutcome.issue.modifierExtension":"Extension","OperationOutcome.issue.severity":"code","OperationOutcome.language":"code","OperationOutcome.meta":"Meta","OperationOutcome.modifierExtension":"Extension","OperationOutcome.text":"Narrative","Organization.active":"boolean","Organization.address":"Address","Organization.alias":"string","Organization.contact":"BackboneElement","Organization.contact.address":"Address","Organization.contact.extension":"Extension","Organization.contact.id":"System.String","Organization.contact.modifierExtension":"Extension","Organization.contact.name":"HumanName","Organization.contact.purpose":"CodeableConcept","Organization.contact.telecom":"ContactPoint","Organization.contained":"Resource","Organization.endpoint":"Reference","Organization.extension":"Extension","Organization.id":"System.String","Organization.identifier":"Identifier","Organization.implicitRules":"uri","Organization.language":"code","Organization.meta":"Meta","Organization.modifierExtension":"Extension","Organization.name":"string","Organization.partOf":"Reference","Organization.telecom":"ContactPoint","Organization.text":"Narrative","Organization.type":"CodeableConcept","OrganizationAffiliation.active":"boolean","OrganizationAffiliation.code":"CodeableConcept","OrganizationAffiliation.contained":"Resource","OrganizationAffiliation.endpoint":"Reference","OrganizationAffiliation.extension":"Extension","OrganizationAffiliation.healthcareService":"Reference","OrganizationAffiliation.id":"System.String","OrganizationAffiliation.identifier":"Identifier","OrganizationAffiliation.implicitRules":"uri","OrganizationAffiliation.language":"code","OrganizationAffiliation.location":"Reference","OrganizationAffiliation.meta":"Meta","OrganizationAffiliation.modifierExtension":"Extension","OrganizationAffiliation.network":"Reference","OrganizationAffiliation.organization":"Reference","OrganizationAffiliation.participatingOrganization":"Reference","OrganizationAffiliation.period":"Period","OrganizationAffiliation.specialty":"CodeableConcept","OrganizationAffiliation.telecom":"ContactPoint","OrganizationAffiliation.text":"Narrative","ParameterDefinition.documentation":"string","ParameterDefinition.extension":"Extension","ParameterDefinition.id":"System.String","ParameterDefinition.max":"string","ParameterDefinition.min":"integer","ParameterDefinition.name":"code","ParameterDefinition.profile":"canonical","ParameterDefinition.type":"code","ParameterDefinition.use":"code","Parameters.id":"System.String","Parameters.implicitRules":"uri","Parameters.language":"code","Parameters.meta":"Meta","Parameters.parameter":"BackboneElement","Parameters.parameter.extension":"Extension","Parameters.parameter.id":"System.String","Parameters.parameter.modifierExtension":"Extension","Parameters.parameter.name":"string","Parameters.parameter.resource":"Resource","Parameters.parameter.valueAddress":"Address","Parameters.parameter.valueAge":"Age","Parameters.parameter.valueAnnotation":"Annotation","Parameters.parameter.valueAttachment":"Attachment","Parameters.parameter.valueBase64Binary":"base64Binary","Parameters.parameter.valueBoolean":"boolean","Parameters.parameter.valueCanonical":"canonical","Parameters.parameter.valueCode":"code","Parameters.parameter.valueCodeableConcept":"CodeableConcept","Parameters.parameter.valueCoding":"Coding","Parameters.parameter.valueContactDetail":"ContactDetail","Parameters.parameter.valueContactPoint":"ContactPoint","Parameters.parameter.valueContributor":"Contributor","Parameters.parameter.valueCount":"Count","Parameters.parameter.valueDataRequirement":"DataRequirement","Parameters.parameter.valueDate":"date","Parameters.parameter.valueDateTime":"dateTime","Parameters.parameter.valueDecimal":"decimal","Parameters.parameter.valueDistance":"Distance","Parameters.parameter.valueDosage":"Dosage","Parameters.parameter.valueDuration":"Duration","Parameters.parameter.valueExpression":"Expression","Parameters.parameter.valueHumanName":"HumanName","Parameters.parameter.valueId":"id","Parameters.parameter.valueIdentifier":"Identifier","Parameters.parameter.valueInstant":"instant","Parameters.parameter.valueInteger":"integer","Parameters.parameter.valueMarkdown":"markdown","Parameters.parameter.valueMeta":"Meta","Parameters.parameter.valueMoney":"Money","Parameters.parameter.valueOid":"oid","Parameters.parameter.valueParameterDefinition":"ParameterDefinition","Parameters.parameter.valuePeriod":"Period","Parameters.parameter.valuePositiveInt":"positiveInt","Parameters.parameter.valueQuantity":"Quantity","Parameters.parameter.valueRange":"Range","Parameters.parameter.valueRatio":"Ratio","Parameters.parameter.valueReference":"Reference","Parameters.parameter.valueRelatedArtifact":"RelatedArtifact","Parameters.parameter.valueSampledData":"SampledData","Parameters.parameter.valueSignature":"Signature","Parameters.parameter.valueString":"string","Parameters.parameter.valueTime":"time","Parameters.parameter.valueTiming":"Timing","Parameters.parameter.valueTriggerDefinition":"TriggerDefinition","Parameters.parameter.valueUnsignedInt":"unsignedInt","Parameters.parameter.valueUri":"uri","Parameters.parameter.valueUrl":"url","Parameters.parameter.valueUsageContext":"UsageContext","Parameters.parameter.valueUuid":"uuid","Patient.active":"boolean","Patient.address":"Address","Patient.birthDate":"date","Patient.communication":"BackboneElement","Patient.communication.extension":"Extension","Patient.communication.id":"System.String","Patient.communication.language":"CodeableConcept","Patient.communication.modifierExtension":"Extension","Patient.communication.preferred":"boolean","Patient.contact":"BackboneElement","Patient.contact.address":"Address","Patient.contact.extension":"Extension","Patient.contact.gender":"code","Patient.contact.id":"System.String","Patient.contact.modifierExtension":"Extension","Patient.contact.name":"HumanName","Patient.contact.organization":"Reference","Patient.contact.period":"Period","Patient.contact.relationship":"CodeableConcept","Patient.contact.telecom":"ContactPoint","Patient.contained":"Resource","Patient.deceasedBoolean":"boolean","Patient.deceasedDateTime":"dateTime","Patient.extension":"Extension","Patient.gender":"code","Patient.generalPractitioner":"Reference","Patient.id":"System.String","Patient.identifier":"Identifier","Patient.implicitRules":"uri","Patient.language":"code","Patient.link":"BackboneElement","Patient.link.extension":"Extension","Patient.link.id":"System.String","Patient.link.modifierExtension":"Extension","Patient.link.other":"Reference","Patient.link.type":"code","Patient.managingOrganization":"Reference","Patient.maritalStatus":"CodeableConcept","Patient.meta":"Meta","Patient.modifierExtension":"Extension","Patient.multipleBirthBoolean":"boolean","Patient.multipleBirthInteger":"integer","Patient.name":"HumanName","Patient.photo":"Attachment","Patient.telecom":"ContactPoint","Patient.text":"Narrative","PaymentNotice.amount":"Money","PaymentNotice.contained":"Resource","PaymentNotice.created":"dateTime","PaymentNotice.extension":"Extension","PaymentNotice.id":"System.String","PaymentNotice.identifier":"Identifier","PaymentNotice.implicitRules":"uri","PaymentNotice.language":"code","PaymentNotice.meta":"Meta","PaymentNotice.modifierExtension":"Extension","PaymentNotice.payee":"Reference","PaymentNotice.payment":"Reference","PaymentNotice.paymentDate":"date","PaymentNotice.paymentStatus":"CodeableConcept","PaymentNotice.provider":"Reference","PaymentNotice.recipient":"Reference","PaymentNotice.request":"Reference","PaymentNotice.response":"Reference","PaymentNotice.status":"code","PaymentNotice.text":"Narrative","PaymentReconciliation.contained":"Resource","PaymentReconciliation.created":"dateTime","PaymentReconciliation.detail":"BackboneElement","PaymentReconciliation.detail.amount":"Money","PaymentReconciliation.detail.date":"date","PaymentReconciliation.detail.extension":"Extension","PaymentReconciliation.detail.id":"System.String","PaymentReconciliation.detail.identifier":"Identifier","PaymentReconciliation.detail.modifierExtension":"Extension","PaymentReconciliation.detail.payee":"Reference","PaymentReconciliation.detail.predecessor":"Identifier","PaymentReconciliation.detail.request":"Reference","PaymentReconciliation.detail.response":"Reference","PaymentReconciliation.detail.responsible":"Reference","PaymentReconciliation.detail.submitter":"Reference","PaymentReconciliation.detail.type":"CodeableConcept","PaymentReconciliation.disposition":"string","PaymentReconciliation.extension":"Extension","PaymentReconciliation.formCode":"CodeableConcept","PaymentReconciliation.id":"System.String","PaymentReconciliation.identifier":"Identifier","PaymentReconciliation.implicitRules":"uri","PaymentReconciliation.language":"code","PaymentReconciliation.meta":"Meta","PaymentReconciliation.modifierExtension":"Extension","PaymentReconciliation.outcome":"code","PaymentReconciliation.paymentAmount":"Money","PaymentReconciliation.paymentDate":"date","PaymentReconciliation.paymentIdentifier":"Identifier","PaymentReconciliation.paymentIssuer":"Reference","PaymentReconciliation.period":"Period","PaymentReconciliation.processNote":"BackboneElement","PaymentReconciliation.processNote.extension":"Extension","PaymentReconciliation.processNote.id":"System.String","PaymentReconciliation.processNote.modifierExtension":"Extension","PaymentReconciliation.processNote.text":"string","PaymentReconciliation.processNote.type":"code","PaymentReconciliation.request":"Reference","PaymentReconciliation.requestor":"Reference","PaymentReconciliation.status":"code","PaymentReconciliation.text":"Narrative","Period.end":"dateTime","Period.extension":"Extension","Period.id":"System.String","Period.start":"dateTime","Person.active":"boolean","Person.address":"Address","Person.birthDate":"date","Person.contained":"Resource","Person.extension":"Extension","Person.gender":"code","Person.id":"System.String","Person.identifier":"Identifier","Person.implicitRules":"uri","Person.language":"code","Person.link":"BackboneElement","Person.link.assurance":"code","Person.link.extension":"Extension","Person.link.id":"System.String","Person.link.modifierExtension":"Extension","Person.link.target":"Reference","Person.managingOrganization":"Reference","Person.meta":"Meta","Person.modifierExtension":"Extension","Person.name":"HumanName","Person.photo":"Attachment","Person.telecom":"ContactPoint","Person.text":"Narrative","PlanDefinition.action":"BackboneElement","PlanDefinition.action.cardinalityBehavior":"code","PlanDefinition.action.code":"CodeableConcept","PlanDefinition.action.condition":"BackboneElement","PlanDefinition.action.condition.expression":"Expression","PlanDefinition.action.condition.extension":"Extension","PlanDefinition.action.condition.id":"System.String","PlanDefinition.action.condition.kind":"code","PlanDefinition.action.condition.modifierExtension":"Extension","PlanDefinition.action.definitionCanonical":"canonical","PlanDefinition.action.definitionUri":"uri","PlanDefinition.action.description":"string","PlanDefinition.action.documentation":"RelatedArtifact","PlanDefinition.action.dynamicValue":"BackboneElement","PlanDefinition.action.dynamicValue.expression":"Expression","PlanDefinition.action.dynamicValue.extension":"Extension","PlanDefinition.action.dynamicValue.id":"System.String","PlanDefinition.action.dynamicValue.modifierExtension":"Extension","PlanDefinition.action.dynamicValue.path":"string","PlanDefinition.action.extension":"Extension","PlanDefinition.action.goalId":"id","PlanDefinition.action.groupingBehavior":"code","PlanDefinition.action.id":"System.String","PlanDefinition.action.input":"DataRequirement","PlanDefinition.action.modifierExtension":"Extension","PlanDefinition.action.output":"DataRequirement","PlanDefinition.action.participant":"BackboneElement","PlanDefinition.action.participant.extension":"Extension","PlanDefinition.action.participant.id":"System.String","PlanDefinition.action.participant.modifierExtension":"Extension","PlanDefinition.action.participant.role":"CodeableConcept","PlanDefinition.action.participant.type":"code","PlanDefinition.action.precheckBehavior":"code","PlanDefinition.action.prefix":"string","PlanDefinition.action.priority":"code","PlanDefinition.action.reason":"CodeableConcept","PlanDefinition.action.relatedAction":"BackboneElement","PlanDefinition.action.relatedAction.actionId":"id","PlanDefinition.action.relatedAction.extension":"Extension","PlanDefinition.action.relatedAction.id":"System.String","PlanDefinition.action.relatedAction.modifierExtension":"Extension","PlanDefinition.action.relatedAction.offsetDuration":"Duration","PlanDefinition.action.relatedAction.offsetRange":"Range","PlanDefinition.action.relatedAction.relationship":"code","PlanDefinition.action.requiredBehavior":"code","PlanDefinition.action.selectionBehavior":"code","PlanDefinition.action.subjectCodeableConcept":"CodeableConcept","PlanDefinition.action.subjectReference":"Reference","PlanDefinition.action.textEquivalent":"string","PlanDefinition.action.timingAge":"Age","PlanDefinition.action.timingDateTime":"dateTime","PlanDefinition.action.timingDuration":"Duration","PlanDefinition.action.timingPeriod":"Period","PlanDefinition.action.timingRange":"Range","PlanDefinition.action.timingTiming":"Timing","PlanDefinition.action.title":"string","PlanDefinition.action.transform":"canonical","PlanDefinition.action.trigger":"TriggerDefinition","PlanDefinition.action.type":"CodeableConcept","PlanDefinition.approvalDate":"date","PlanDefinition.author":"ContactDetail","PlanDefinition.contact":"ContactDetail","PlanDefinition.contained":"Resource","PlanDefinition.copyright":"markdown","PlanDefinition.date":"dateTime","PlanDefinition.description":"markdown","PlanDefinition.editor":"ContactDetail","PlanDefinition.effectivePeriod":"Period","PlanDefinition.endorser":"ContactDetail","PlanDefinition.experimental":"boolean","PlanDefinition.extension":"Extension","PlanDefinition.goal":"BackboneElement","PlanDefinition.goal.addresses":"CodeableConcept","PlanDefinition.goal.category":"CodeableConcept","PlanDefinition.goal.description":"CodeableConcept","PlanDefinition.goal.documentation":"RelatedArtifact","PlanDefinition.goal.extension":"Extension","PlanDefinition.goal.id":"System.String","PlanDefinition.goal.modifierExtension":"Extension","PlanDefinition.goal.priority":"CodeableConcept","PlanDefinition.goal.start":"CodeableConcept","PlanDefinition.goal.target":"BackboneElement","PlanDefinition.goal.target.detailCodeableConcept":"CodeableConcept","PlanDefinition.goal.target.detailQuantity":"Quantity","PlanDefinition.goal.target.detailRange":"Range","PlanDefinition.goal.target.due":"Duration","PlanDefinition.goal.target.extension":"Extension","PlanDefinition.goal.target.id":"System.String","PlanDefinition.goal.target.measure":"CodeableConcept","PlanDefinition.goal.target.modifierExtension":"Extension","PlanDefinition.id":"System.String","PlanDefinition.identifier":"Identifier","PlanDefinition.implicitRules":"uri","PlanDefinition.jurisdiction":"CodeableConcept","PlanDefinition.language":"code","PlanDefinition.lastReviewDate":"date","PlanDefinition.library":"canonical","PlanDefinition.meta":"Meta","PlanDefinition.modifierExtension":"Extension","PlanDefinition.name":"string","PlanDefinition.publisher":"string","PlanDefinition.purpose":"markdown","PlanDefinition.relatedArtifact":"RelatedArtifact","PlanDefinition.reviewer":"ContactDetail","PlanDefinition.status":"code","PlanDefinition.subjectCodeableConcept":"CodeableConcept","PlanDefinition.subjectReference":"Reference","PlanDefinition.subtitle":"string","PlanDefinition.text":"Narrative","PlanDefinition.title":"string","PlanDefinition.topic":"CodeableConcept","PlanDefinition.type":"CodeableConcept","PlanDefinition.url":"uri","PlanDefinition.usage":"string","PlanDefinition.useContext":"UsageContext","PlanDefinition.version":"string","Population.ageCodeableConcept":"CodeableConcept","Population.ageRange":"Range","Population.extension":"Extension","Population.gender":"CodeableConcept","Population.id":"System.String","Population.modifierExtension":"Extension","Population.physiologicalCondition":"CodeableConcept","Population.race":"CodeableConcept","Practitioner.active":"boolean","Practitioner.address":"Address","Practitioner.birthDate":"date","Practitioner.communication":"CodeableConcept","Practitioner.contained":"Resource","Practitioner.extension":"Extension","Practitioner.gender":"code","Practitioner.id":"System.String","Practitioner.identifier":"Identifier","Practitioner.implicitRules":"uri","Practitioner.language":"code","Practitioner.meta":"Meta","Practitioner.modifierExtension":"Extension","Practitioner.name":"HumanName","Practitioner.photo":"Attachment","Practitioner.qualification":"BackboneElement","Practitioner.qualification.code":"CodeableConcept","Practitioner.qualification.extension":"Extension","Practitioner.qualification.id":"System.String","Practitioner.qualification.identifier":"Identifier","Practitioner.qualification.issuer":"Reference","Practitioner.qualification.modifierExtension":"Extension","Practitioner.qualification.period":"Period","Practitioner.telecom":"ContactPoint","Practitioner.text":"Narrative","PractitionerRole.active":"boolean","PractitionerRole.availabilityExceptions":"string","PractitionerRole.availableTime":"BackboneElement","PractitionerRole.availableTime.allDay":"boolean","PractitionerRole.availableTime.availableEndTime":"time","PractitionerRole.availableTime.availableStartTime":"time","PractitionerRole.availableTime.daysOfWeek":"code","PractitionerRole.availableTime.extension":"Extension","PractitionerRole.availableTime.id":"System.String","PractitionerRole.availableTime.modifierExtension":"Extension","PractitionerRole.code":"CodeableConcept","PractitionerRole.contained":"Resource","PractitionerRole.endpoint":"Reference","PractitionerRole.extension":"Extension","PractitionerRole.healthcareService":"Reference","PractitionerRole.id":"System.String","PractitionerRole.identifier":"Identifier","PractitionerRole.implicitRules":"uri","PractitionerRole.language":"code","PractitionerRole.location":"Reference","PractitionerRole.meta":"Meta","PractitionerRole.modifierExtension":"Extension","PractitionerRole.notAvailable":"BackboneElement","PractitionerRole.notAvailable.description":"string","PractitionerRole.notAvailable.during":"Period","PractitionerRole.notAvailable.extension":"Extension","PractitionerRole.notAvailable.id":"System.String","PractitionerRole.notAvailable.modifierExtension":"Extension","PractitionerRole.organization":"Reference","PractitionerRole.period":"Period","PractitionerRole.practitioner":"Reference","PractitionerRole.specialty":"CodeableConcept","PractitionerRole.telecom":"ContactPoint","PractitionerRole.text":"Narrative","Procedure.asserter":"Reference","Procedure.basedOn":"Reference","Procedure.bodySite":"CodeableConcept","Procedure.category":"CodeableConcept","Procedure.code":"CodeableConcept","Procedure.complication":"CodeableConcept","Procedure.complicationDetail":"Reference","Procedure.contained":"Resource","Procedure.encounter":"Reference","Procedure.extension":"Extension","Procedure.focalDevice":"BackboneElement","Procedure.focalDevice.action":"CodeableConcept","Procedure.focalDevice.extension":"Extension","Procedure.focalDevice.id":"System.String","Procedure.focalDevice.manipulated":"Reference","Procedure.focalDevice.modifierExtension":"Extension","Procedure.followUp":"CodeableConcept","Procedure.id":"System.String","Procedure.identifier":"Identifier","Procedure.implicitRules":"uri","Procedure.instantiatesCanonical":"canonical","Procedure.instantiatesUri":"uri","Procedure.language":"code","Procedure.location":"Reference","Procedure.meta":"Meta","Procedure.modifierExtension":"Extension","Procedure.note":"Annotation","Procedure.outcome":"CodeableConcept","Procedure.partOf":"Reference","Procedure.performedAge":"Age","Procedure.performedDateTime":"dateTime","Procedure.performedPeriod":"Period","Procedure.performedRange":"Range","Procedure.performedString":"string","Procedure.performer":"BackboneElement","Procedure.performer.actor":"Reference","Procedure.performer.extension":"Extension","Procedure.performer.function":"CodeableConcept","Procedure.performer.id":"System.String","Procedure.performer.modifierExtension":"Extension","Procedure.performer.onBehalfOf":"Reference","Procedure.reasonCode":"CodeableConcept","Procedure.reasonReference":"Reference","Procedure.recorder":"Reference","Procedure.report":"Reference","Procedure.status":"code","Procedure.statusReason":"CodeableConcept","Procedure.subject":"Reference","Procedure.text":"Narrative","Procedure.usedCode":"CodeableConcept","Procedure.usedReference":"Reference","ProdCharacteristic.color":"string","ProdCharacteristic.depth":"Quantity","ProdCharacteristic.extension":"Extension","ProdCharacteristic.externalDiameter":"Quantity","ProdCharacteristic.height":"Quantity","ProdCharacteristic.id":"System.String","ProdCharacteristic.image":"Attachment","ProdCharacteristic.imprint":"string","ProdCharacteristic.modifierExtension":"Extension","ProdCharacteristic.nominalVolume":"Quantity","ProdCharacteristic.scoring":"CodeableConcept","ProdCharacteristic.shape":"string","ProdCharacteristic.weight":"Quantity","ProdCharacteristic.width":"Quantity","ProductShelfLife.extension":"Extension","ProductShelfLife.id":"System.String","ProductShelfLife.identifier":"Identifier","ProductShelfLife.modifierExtension":"Extension","ProductShelfLife.period":"Quantity","ProductShelfLife.specialPrecautionsForStorage":"CodeableConcept","ProductShelfLife.type":"CodeableConcept","Provenance.activity":"CodeableConcept","Provenance.agent":"BackboneElement","Provenance.agent.extension":"Extension","Provenance.agent.id":"System.String","Provenance.agent.modifierExtension":"Extension","Provenance.agent.onBehalfOf":"Reference","Provenance.agent.role":"CodeableConcept","Provenance.agent.type":"CodeableConcept","Provenance.agent.who":"Reference","Provenance.contained":"Resource","Provenance.entity":"BackboneElement","Provenance.entity.extension":"Extension","Provenance.entity.id":"System.String","Provenance.entity.modifierExtension":"Extension","Provenance.entity.role":"code","Provenance.entity.what":"Reference","Provenance.extension":"Extension","Provenance.id":"System.String","Provenance.implicitRules":"uri","Provenance.language":"code","Provenance.location":"Reference","Provenance.meta":"Meta","Provenance.modifierExtension":"Extension","Provenance.occurredDateTime":"dateTime","Provenance.occurredPeriod":"Period","Provenance.policy":"uri","Provenance.reason":"CodeableConcept","Provenance.recorded":"instant","Provenance.signature":"Signature","Provenance.target":"Reference","Provenance.text":"Narrative","Quantity.code":"code","Quantity.comparator":"code","Quantity.extension":"Extension","Quantity.id":"System.String","Quantity.system":"uri","Quantity.unit":"string","Quantity.value":"decimal","Questionnaire.approvalDate":"date","Questionnaire.code":"Coding","Questionnaire.contact":"ContactDetail","Questionnaire.contained":"Resource","Questionnaire.copyright":"markdown","Questionnaire.date":"dateTime","Questionnaire.derivedFrom":"canonical","Questionnaire.description":"markdown","Questionnaire.effectivePeriod":"Period","Questionnaire.experimental":"boolean","Questionnaire.extension":"Extension","Questionnaire.id":"System.String","Questionnaire.identifier":"Identifier","Questionnaire.implicitRules":"uri","Questionnaire.item":"BackboneElement","Questionnaire.item.answerOption":"BackboneElement","Questionnaire.item.answerOption.extension":"Extension","Questionnaire.item.answerOption.id":"System.String","Questionnaire.item.answerOption.initialSelected":"boolean","Questionnaire.item.answerOption.modifierExtension":"Extension","Questionnaire.item.answerOption.valueCoding":"Coding","Questionnaire.item.answerOption.valueDate":"date","Questionnaire.item.answerOption.valueInteger":"integer","Questionnaire.item.answerOption.valueReference":"Reference","Questionnaire.item.answerOption.valueString":"string","Questionnaire.item.answerOption.valueTime":"time","Questionnaire.item.answerValueSet":"canonical","Questionnaire.item.code":"Coding","Questionnaire.item.definition":"uri","Questionnaire.item.enableBehavior":"code","Questionnaire.item.enableWhen":"BackboneElement","Questionnaire.item.enableWhen.answerBoolean":"boolean","Questionnaire.item.enableWhen.answerCoding":"Coding","Questionnaire.item.enableWhen.answerDate":"date","Questionnaire.item.enableWhen.answerDateTime":"dateTime","Questionnaire.item.enableWhen.answerDecimal":"decimal","Questionnaire.item.enableWhen.answerInteger":"integer","Questionnaire.item.enableWhen.answerQuantity":"Quantity","Questionnaire.item.enableWhen.answerReference":"Reference","Questionnaire.item.enableWhen.answerString":"string","Questionnaire.item.enableWhen.answerTime":"time","Questionnaire.item.enableWhen.extension":"Extension","Questionnaire.item.enableWhen.id":"System.String","Questionnaire.item.enableWhen.modifierExtension":"Extension","Questionnaire.item.enableWhen.operator":"code","Questionnaire.item.enableWhen.question":"string","Questionnaire.item.extension":"Extension","Questionnaire.item.id":"System.String","Questionnaire.item.initial":"BackboneElement","Questionnaire.item.initial.extension":"Extension","Questionnaire.item.initial.id":"System.String","Questionnaire.item.initial.modifierExtension":"Extension","Questionnaire.item.initial.valueAttachment":"Attachment","Questionnaire.item.initial.valueBoolean":"boolean","Questionnaire.item.initial.valueCoding":"Coding","Questionnaire.item.initial.valueDate":"date","Questionnaire.item.initial.valueDateTime":"dateTime","Questionnaire.item.initial.valueDecimal":"decimal","Questionnaire.item.initial.valueInteger":"integer","Questionnaire.item.initial.valueQuantity":"Quantity","Questionnaire.item.initial.valueReference":"Reference","Questionnaire.item.initial.valueString":"string","Questionnaire.item.initial.valueTime":"time","Questionnaire.item.initial.valueUri":"uri","Questionnaire.item.linkId":"string","Questionnaire.item.maxLength":"integer","Questionnaire.item.modifierExtension":"Extension","Questionnaire.item.prefix":"string","Questionnaire.item.readOnly":"boolean","Questionnaire.item.repeats":"boolean","Questionnaire.item.required":"boolean","Questionnaire.item.text":"string","Questionnaire.item.type":"code","Questionnaire.jurisdiction":"CodeableConcept","Questionnaire.language":"code","Questionnaire.lastReviewDate":"date","Questionnaire.meta":"Meta","Questionnaire.modifierExtension":"Extension","Questionnaire.name":"string","Questionnaire.publisher":"string","Questionnaire.purpose":"markdown","Questionnaire.status":"code","Questionnaire.subjectType":"code","Questionnaire.text":"Narrative","Questionnaire.title":"string","Questionnaire.url":"uri","Questionnaire.useContext":"UsageContext","Questionnaire.version":"string","QuestionnaireResponse.author":"Reference","QuestionnaireResponse.authored":"dateTime","QuestionnaireResponse.basedOn":"Reference","QuestionnaireResponse.contained":"Resource","QuestionnaireResponse.encounter":"Reference","QuestionnaireResponse.extension":"Extension","QuestionnaireResponse.id":"System.String","QuestionnaireResponse.identifier":"Identifier","QuestionnaireResponse.implicitRules":"uri","QuestionnaireResponse.item":"BackboneElement","QuestionnaireResponse.item.answer":"BackboneElement","QuestionnaireResponse.item.answer.extension":"Extension","QuestionnaireResponse.item.answer.id":"System.String","QuestionnaireResponse.item.answer.modifierExtension":"Extension","QuestionnaireResponse.item.answer.valueAttachment":"Attachment","QuestionnaireResponse.item.answer.valueBoolean":"boolean","QuestionnaireResponse.item.answer.valueCoding":"Coding","QuestionnaireResponse.item.answer.valueDate":"date","QuestionnaireResponse.item.answer.valueDateTime":"dateTime","QuestionnaireResponse.item.answer.valueDecimal":"decimal","QuestionnaireResponse.item.answer.valueInteger":"integer","QuestionnaireResponse.item.answer.valueQuantity":"Quantity","QuestionnaireResponse.item.answer.valueReference":"Reference","QuestionnaireResponse.item.answer.valueString":"string","QuestionnaireResponse.item.answer.valueTime":"time","QuestionnaireResponse.item.answer.valueUri":"uri","QuestionnaireResponse.item.definition":"uri","QuestionnaireResponse.item.extension":"Extension","QuestionnaireResponse.item.id":"System.String","QuestionnaireResponse.item.linkId":"string","QuestionnaireResponse.item.modifierExtension":"Extension","QuestionnaireResponse.item.text":"string","QuestionnaireResponse.language":"code","QuestionnaireResponse.meta":"Meta","QuestionnaireResponse.modifierExtension":"Extension","QuestionnaireResponse.partOf":"Reference","QuestionnaireResponse.questionnaire":"canonical","QuestionnaireResponse.source":"Reference","QuestionnaireResponse.status":"code","QuestionnaireResponse.subject":"Reference","QuestionnaireResponse.text":"Narrative","Range.extension":"Extension","Range.high":"Quantity","Range.id":"System.String","Range.low":"Quantity","Ratio.denominator":"Quantity","Ratio.extension":"Extension","Ratio.id":"System.String","Ratio.numerator":"Quantity","Reference.display":"string","Reference.extension":"Extension","Reference.id":"System.String","Reference.identifier":"Identifier","Reference.reference":"string","Reference.type":"uri","RelatedArtifact.citation":"markdown","RelatedArtifact.display":"string","RelatedArtifact.document":"Attachment","RelatedArtifact.extension":"Extension","RelatedArtifact.id":"System.String","RelatedArtifact.label":"string","RelatedArtifact.resource":"canonical","RelatedArtifact.type":"code","RelatedArtifact.url":"url","RelatedPerson.active":"boolean","RelatedPerson.address":"Address","RelatedPerson.birthDate":"date","RelatedPerson.communication":"BackboneElement","RelatedPerson.communication.extension":"Extension","RelatedPerson.communication.id":"System.String","RelatedPerson.communication.language":"CodeableConcept","RelatedPerson.communication.modifierExtension":"Extension","RelatedPerson.communication.preferred":"boolean","RelatedPerson.contained":"Resource","RelatedPerson.extension":"Extension","RelatedPerson.gender":"code","RelatedPerson.id":"System.String","RelatedPerson.identifier":"Identifier","RelatedPerson.implicitRules":"uri","RelatedPerson.language":"code","RelatedPerson.meta":"Meta","RelatedPerson.modifierExtension":"Extension","RelatedPerson.name":"HumanName","RelatedPerson.patient":"Reference","RelatedPerson.period":"Period","RelatedPerson.photo":"Attachment","RelatedPerson.relationship":"CodeableConcept","RelatedPerson.telecom":"ContactPoint","RelatedPerson.text":"Narrative","RequestGroup.action":"BackboneElement","RequestGroup.action.cardinalityBehavior":"code","RequestGroup.action.code":"CodeableConcept","RequestGroup.action.condition":"BackboneElement","RequestGroup.action.condition.expression":"Expression","RequestGroup.action.condition.extension":"Extension","RequestGroup.action.condition.id":"System.String","RequestGroup.action.condition.kind":"code","RequestGroup.action.condition.modifierExtension":"Extension","RequestGroup.action.description":"string","RequestGroup.action.documentation":"RelatedArtifact","RequestGroup.action.extension":"Extension","RequestGroup.action.groupingBehavior":"code","RequestGroup.action.id":"System.String","RequestGroup.action.modifierExtension":"Extension","RequestGroup.action.participant":"Reference","RequestGroup.action.precheckBehavior":"code","RequestGroup.action.prefix":"string","RequestGroup.action.priority":"code","RequestGroup.action.relatedAction":"BackboneElement","RequestGroup.action.relatedAction.actionId":"id","RequestGroup.action.relatedAction.extension":"Extension","RequestGroup.action.relatedAction.id":"System.String","RequestGroup.action.relatedAction.modifierExtension":"Extension","RequestGroup.action.relatedAction.offsetDuration":"Duration","RequestGroup.action.relatedAction.offsetRange":"Range","RequestGroup.action.relatedAction.relationship":"code","RequestGroup.action.requiredBehavior":"code","RequestGroup.action.resource":"Reference","RequestGroup.action.selectionBehavior":"code","RequestGroup.action.textEquivalent":"string","RequestGroup.action.timingAge":"Age","RequestGroup.action.timingDateTime":"dateTime","RequestGroup.action.timingDuration":"Duration","RequestGroup.action.timingPeriod":"Period","RequestGroup.action.timingRange":"Range","RequestGroup.action.timingTiming":"Timing","RequestGroup.action.title":"string","RequestGroup.action.type":"CodeableConcept","RequestGroup.author":"Reference","RequestGroup.authoredOn":"dateTime","RequestGroup.basedOn":"Reference","RequestGroup.code":"CodeableConcept","RequestGroup.contained":"Resource","RequestGroup.encounter":"Reference","RequestGroup.extension":"Extension","RequestGroup.groupIdentifier":"Identifier","RequestGroup.id":"System.String","RequestGroup.identifier":"Identifier","RequestGroup.implicitRules":"uri","RequestGroup.instantiatesCanonical":"canonical","RequestGroup.instantiatesUri":"uri","RequestGroup.intent":"code","RequestGroup.language":"code","RequestGroup.meta":"Meta","RequestGroup.modifierExtension":"Extension","RequestGroup.note":"Annotation","RequestGroup.priority":"code","RequestGroup.reasonCode":"CodeableConcept","RequestGroup.reasonReference":"Reference","RequestGroup.replaces":"Reference","RequestGroup.status":"code","RequestGroup.subject":"Reference","RequestGroup.text":"Narrative","ResearchDefinition.approvalDate":"date","ResearchDefinition.author":"ContactDetail","ResearchDefinition.comment":"string","ResearchDefinition.contact":"ContactDetail","ResearchDefinition.contained":"Resource","ResearchDefinition.copyright":"markdown","ResearchDefinition.date":"dateTime","ResearchDefinition.description":"markdown","ResearchDefinition.editor":"ContactDetail","ResearchDefinition.effectivePeriod":"Period","ResearchDefinition.endorser":"ContactDetail","ResearchDefinition.experimental":"boolean","ResearchDefinition.exposure":"Reference","ResearchDefinition.exposureAlternative":"Reference","ResearchDefinition.extension":"Extension","ResearchDefinition.id":"System.String","ResearchDefinition.identifier":"Identifier","ResearchDefinition.implicitRules":"uri","ResearchDefinition.jurisdiction":"CodeableConcept","ResearchDefinition.language":"code","ResearchDefinition.lastReviewDate":"date","ResearchDefinition.library":"canonical","ResearchDefinition.meta":"Meta","ResearchDefinition.modifierExtension":"Extension","ResearchDefinition.name":"string","ResearchDefinition.outcome":"Reference","ResearchDefinition.population":"Reference","ResearchDefinition.publisher":"string","ResearchDefinition.purpose":"markdown","ResearchDefinition.relatedArtifact":"RelatedArtifact","ResearchDefinition.reviewer":"ContactDetail","ResearchDefinition.shortTitle":"string","ResearchDefinition.status":"code","ResearchDefinition.subjectCodeableConcept":"CodeableConcept","ResearchDefinition.subjectReference":"Reference","ResearchDefinition.subtitle":"string","ResearchDefinition.text":"Narrative","ResearchDefinition.title":"string","ResearchDefinition.topic":"CodeableConcept","ResearchDefinition.url":"uri","ResearchDefinition.usage":"string","ResearchDefinition.useContext":"UsageContext","ResearchDefinition.version":"string","ResearchElementDefinition.approvalDate":"date","ResearchElementDefinition.author":"ContactDetail","ResearchElementDefinition.characteristic":"BackboneElement","ResearchElementDefinition.characteristic.definitionCanonical":"canonical","ResearchElementDefinition.characteristic.definitionCodeableConcept":"CodeableConcept","ResearchElementDefinition.characteristic.definitionDataRequirement":"DataRequirement","ResearchElementDefinition.characteristic.definitionExpression":"Expression","ResearchElementDefinition.characteristic.exclude":"boolean","ResearchElementDefinition.characteristic.extension":"Extension","ResearchElementDefinition.characteristic.id":"System.String","ResearchElementDefinition.characteristic.modifierExtension":"Extension","ResearchElementDefinition.characteristic.participantEffectiveDateTime":"dateTime","ResearchElementDefinition.characteristic.participantEffectiveDescription":"string","ResearchElementDefinition.characteristic.participantEffectiveDuration":"Duration","ResearchElementDefinition.characteristic.participantEffectiveGroupMeasure":"code","ResearchElementDefinition.characteristic.participantEffectivePeriod":"Period","ResearchElementDefinition.characteristic.participantEffectiveTimeFromStart":"Duration","ResearchElementDefinition.characteristic.participantEffectiveTiming":"Timing","ResearchElementDefinition.characteristic.studyEffectiveDateTime":"dateTime","ResearchElementDefinition.characteristic.studyEffectiveDescription":"string","ResearchElementDefinition.characteristic.studyEffectiveDuration":"Duration","ResearchElementDefinition.characteristic.studyEffectiveGroupMeasure":"code","ResearchElementDefinition.characteristic.studyEffectivePeriod":"Period","ResearchElementDefinition.characteristic.studyEffectiveTimeFromStart":"Duration","ResearchElementDefinition.characteristic.studyEffectiveTiming":"Timing","ResearchElementDefinition.characteristic.unitOfMeasure":"CodeableConcept","ResearchElementDefinition.characteristic.usageContext":"UsageContext","ResearchElementDefinition.comment":"string","ResearchElementDefinition.contact":"ContactDetail","ResearchElementDefinition.contained":"Resource","ResearchElementDefinition.copyright":"markdown","ResearchElementDefinition.date":"dateTime","ResearchElementDefinition.description":"markdown","ResearchElementDefinition.editor":"ContactDetail","ResearchElementDefinition.effectivePeriod":"Period","ResearchElementDefinition.endorser":"ContactDetail","ResearchElementDefinition.experimental":"boolean","ResearchElementDefinition.extension":"Extension","ResearchElementDefinition.id":"System.String","ResearchElementDefinition.identifier":"Identifier","ResearchElementDefinition.implicitRules":"uri","ResearchElementDefinition.jurisdiction":"CodeableConcept","ResearchElementDefinition.language":"code","ResearchElementDefinition.lastReviewDate":"date","ResearchElementDefinition.library":"canonical","ResearchElementDefinition.meta":"Meta","ResearchElementDefinition.modifierExtension":"Extension","ResearchElementDefinition.name":"string","ResearchElementDefinition.publisher":"string","ResearchElementDefinition.purpose":"markdown","ResearchElementDefinition.relatedArtifact":"RelatedArtifact","ResearchElementDefinition.reviewer":"ContactDetail","ResearchElementDefinition.shortTitle":"string","ResearchElementDefinition.status":"code","ResearchElementDefinition.subjectCodeableConcept":"CodeableConcept","ResearchElementDefinition.subjectReference":"Reference","ResearchElementDefinition.subtitle":"string","ResearchElementDefinition.text":"Narrative","ResearchElementDefinition.title":"string","ResearchElementDefinition.topic":"CodeableConcept","ResearchElementDefinition.type":"code","ResearchElementDefinition.url":"uri","ResearchElementDefinition.usage":"string","ResearchElementDefinition.useContext":"UsageContext","ResearchElementDefinition.variableType":"code","ResearchElementDefinition.version":"string","ResearchStudy.arm":"BackboneElement","ResearchStudy.arm.description":"string","ResearchStudy.arm.extension":"Extension","ResearchStudy.arm.id":"System.String","ResearchStudy.arm.modifierExtension":"Extension","ResearchStudy.arm.name":"string","ResearchStudy.arm.type":"CodeableConcept","ResearchStudy.category":"CodeableConcept","ResearchStudy.condition":"CodeableConcept","ResearchStudy.contact":"ContactDetail","ResearchStudy.contained":"Resource","ResearchStudy.description":"markdown","ResearchStudy.enrollment":"Reference","ResearchStudy.extension":"Extension","ResearchStudy.focus":"CodeableConcept","ResearchStudy.id":"System.String","ResearchStudy.identifier":"Identifier","ResearchStudy.implicitRules":"uri","ResearchStudy.keyword":"CodeableConcept","ResearchStudy.language":"code","ResearchStudy.location":"CodeableConcept","ResearchStudy.meta":"Meta","ResearchStudy.modifierExtension":"Extension","ResearchStudy.note":"Annotation","ResearchStudy.objective":"BackboneElement","ResearchStudy.objective.extension":"Extension","ResearchStudy.objective.id":"System.String","ResearchStudy.objective.modifierExtension":"Extension","ResearchStudy.objective.name":"string","ResearchStudy.objective.type":"CodeableConcept","ResearchStudy.partOf":"Reference","ResearchStudy.period":"Period","ResearchStudy.phase":"CodeableConcept","ResearchStudy.primaryPurposeType":"CodeableConcept","ResearchStudy.principalInvestigator":"Reference","ResearchStudy.protocol":"Reference","ResearchStudy.reasonStopped":"CodeableConcept","ResearchStudy.relatedArtifact":"RelatedArtifact","ResearchStudy.site":"Reference","ResearchStudy.sponsor":"Reference","ResearchStudy.status":"code","ResearchStudy.text":"Narrative","ResearchStudy.title":"string","ResearchSubject.actualArm":"string","ResearchSubject.assignedArm":"string","ResearchSubject.consent":"Reference","ResearchSubject.contained":"Resource","ResearchSubject.extension":"Extension","ResearchSubject.id":"System.String","ResearchSubject.identifier":"Identifier","ResearchSubject.implicitRules":"uri","ResearchSubject.individual":"Reference","ResearchSubject.language":"code","ResearchSubject.meta":"Meta","ResearchSubject.modifierExtension":"Extension","ResearchSubject.period":"Period","ResearchSubject.status":"code","ResearchSubject.study":"Reference","ResearchSubject.text":"Narrative","Resource.id":"System.String","Resource.implicitRules":"uri","Resource.language":"code","Resource.meta":"Meta","RiskAssessment.basedOn":"Reference","RiskAssessment.basis":"Reference","RiskAssessment.code":"CodeableConcept","RiskAssessment.condition":"Reference","RiskAssessment.contained":"Resource","RiskAssessment.encounter":"Reference","RiskAssessment.extension":"Extension","RiskAssessment.id":"System.String","RiskAssessment.identifier":"Identifier","RiskAssessment.implicitRules":"uri","RiskAssessment.language":"code","RiskAssessment.meta":"Meta","RiskAssessment.method":"CodeableConcept","RiskAssessment.mitigation":"string","RiskAssessment.modifierExtension":"Extension","RiskAssessment.note":"Annotation","RiskAssessment.occurrenceDateTime":"dateTime","RiskAssessment.occurrencePeriod":"Period","RiskAssessment.parent":"Reference","RiskAssessment.performer":"Reference","RiskAssessment.prediction":"BackboneElement","RiskAssessment.prediction.extension":"Extension","RiskAssessment.prediction.id":"System.String","RiskAssessment.prediction.modifierExtension":"Extension","RiskAssessment.prediction.outcome":"CodeableConcept","RiskAssessment.prediction.probabilityDecimal":"decimal","RiskAssessment.prediction.probabilityRange":"Range","RiskAssessment.prediction.qualitativeRisk":"CodeableConcept","RiskAssessment.prediction.rationale":"string","RiskAssessment.prediction.relativeRisk":"decimal","RiskAssessment.prediction.whenPeriod":"Period","RiskAssessment.prediction.whenRange":"Range","RiskAssessment.reasonCode":"CodeableConcept","RiskAssessment.reasonReference":"Reference","RiskAssessment.status":"code","RiskAssessment.subject":"Reference","RiskAssessment.text":"Narrative","RiskEvidenceSynthesis.approvalDate":"date","RiskEvidenceSynthesis.author":"ContactDetail","RiskEvidenceSynthesis.certainty":"BackboneElement","RiskEvidenceSynthesis.certainty.certaintySubcomponent":"BackboneElement","RiskEvidenceSynthesis.certainty.certaintySubcomponent.extension":"Extension","RiskEvidenceSynthesis.certainty.certaintySubcomponent.id":"System.String","RiskEvidenceSynthesis.certainty.certaintySubcomponent.modifierExtension":"Extension","RiskEvidenceSynthesis.certainty.certaintySubcomponent.note":"Annotation","RiskEvidenceSynthesis.certainty.certaintySubcomponent.rating":"CodeableConcept","RiskEvidenceSynthesis.certainty.certaintySubcomponent.type":"CodeableConcept","RiskEvidenceSynthesis.certainty.extension":"Extension","RiskEvidenceSynthesis.certainty.id":"System.String","RiskEvidenceSynthesis.certainty.modifierExtension":"Extension","RiskEvidenceSynthesis.certainty.note":"Annotation","RiskEvidenceSynthesis.certainty.rating":"CodeableConcept","RiskEvidenceSynthesis.contact":"ContactDetail","RiskEvidenceSynthesis.contained":"Resource","RiskEvidenceSynthesis.copyright":"markdown","RiskEvidenceSynthesis.date":"dateTime","RiskEvidenceSynthesis.description":"markdown","RiskEvidenceSynthesis.editor":"ContactDetail","RiskEvidenceSynthesis.effectivePeriod":"Period","RiskEvidenceSynthesis.endorser":"ContactDetail","RiskEvidenceSynthesis.exposure":"Reference","RiskEvidenceSynthesis.extension":"Extension","RiskEvidenceSynthesis.id":"System.String","RiskEvidenceSynthesis.identifier":"Identifier","RiskEvidenceSynthesis.implicitRules":"uri","RiskEvidenceSynthesis.jurisdiction":"CodeableConcept","RiskEvidenceSynthesis.language":"code","RiskEvidenceSynthesis.lastReviewDate":"date","RiskEvidenceSynthesis.meta":"Meta","RiskEvidenceSynthesis.modifierExtension":"Extension","RiskEvidenceSynthesis.name":"string","RiskEvidenceSynthesis.note":"Annotation","RiskEvidenceSynthesis.outcome":"Reference","RiskEvidenceSynthesis.population":"Reference","RiskEvidenceSynthesis.publisher":"string","RiskEvidenceSynthesis.relatedArtifact":"RelatedArtifact","RiskEvidenceSynthesis.reviewer":"ContactDetail","RiskEvidenceSynthesis.riskEstimate":"BackboneElement","RiskEvidenceSynthesis.riskEstimate.denominatorCount":"integer","RiskEvidenceSynthesis.riskEstimate.description":"string","RiskEvidenceSynthesis.riskEstimate.extension":"Extension","RiskEvidenceSynthesis.riskEstimate.id":"System.String","RiskEvidenceSynthesis.riskEstimate.modifierExtension":"Extension","RiskEvidenceSynthesis.riskEstimate.numeratorCount":"integer","RiskEvidenceSynthesis.riskEstimate.precisionEstimate":"BackboneElement","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.extension":"Extension","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.from":"decimal","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.id":"System.String","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.level":"decimal","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.modifierExtension":"Extension","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.to":"decimal","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.type":"CodeableConcept","RiskEvidenceSynthesis.riskEstimate.type":"CodeableConcept","RiskEvidenceSynthesis.riskEstimate.unitOfMeasure":"CodeableConcept","RiskEvidenceSynthesis.riskEstimate.value":"decimal","RiskEvidenceSynthesis.sampleSize":"BackboneElement","RiskEvidenceSynthesis.sampleSize.description":"string","RiskEvidenceSynthesis.sampleSize.extension":"Extension","RiskEvidenceSynthesis.sampleSize.id":"System.String","RiskEvidenceSynthesis.sampleSize.modifierExtension":"Extension","RiskEvidenceSynthesis.sampleSize.numberOfParticipants":"integer","RiskEvidenceSynthesis.sampleSize.numberOfStudies":"integer","RiskEvidenceSynthesis.status":"code","RiskEvidenceSynthesis.studyType":"CodeableConcept","RiskEvidenceSynthesis.synthesisType":"CodeableConcept","RiskEvidenceSynthesis.text":"Narrative","RiskEvidenceSynthesis.title":"string","RiskEvidenceSynthesis.topic":"CodeableConcept","RiskEvidenceSynthesis.url":"uri","RiskEvidenceSynthesis.useContext":"UsageContext","RiskEvidenceSynthesis.version":"string","SampledData.data":"string","SampledData.dimensions":"positiveInt","SampledData.extension":"Extension","SampledData.factor":"decimal","SampledData.id":"System.String","SampledData.lowerLimit":"decimal","SampledData.origin":"Quantity","SampledData.period":"decimal","SampledData.upperLimit":"decimal","Schedule.active":"boolean","Schedule.actor":"Reference","Schedule.comment":"string","Schedule.contained":"Resource","Schedule.extension":"Extension","Schedule.id":"System.String","Schedule.identifier":"Identifier","Schedule.implicitRules":"uri","Schedule.language":"code","Schedule.meta":"Meta","Schedule.modifierExtension":"Extension","Schedule.planningHorizon":"Period","Schedule.serviceCategory":"CodeableConcept","Schedule.serviceType":"CodeableConcept","Schedule.specialty":"CodeableConcept","Schedule.text":"Narrative","SearchParameter.base":"code","SearchParameter.chain":"string","SearchParameter.code":"code","SearchParameter.comparator":"code","SearchParameter.component":"BackboneElement","SearchParameter.component.definition":"canonical","SearchParameter.component.expression":"string","SearchParameter.component.extension":"Extension","SearchParameter.component.id":"System.String","SearchParameter.component.modifierExtension":"Extension","SearchParameter.contact":"ContactDetail","SearchParameter.contained":"Resource","SearchParameter.date":"dateTime","SearchParameter.derivedFrom":"canonical","SearchParameter.description":"markdown","SearchParameter.experimental":"boolean","SearchParameter.expression":"string","SearchParameter.extension":"Extension","SearchParameter.id":"System.String","SearchParameter.implicitRules":"uri","SearchParameter.jurisdiction":"CodeableConcept","SearchParameter.language":"code","SearchParameter.meta":"Meta","SearchParameter.modifier":"code","SearchParameter.modifierExtension":"Extension","SearchParameter.multipleAnd":"boolean","SearchParameter.multipleOr":"boolean","SearchParameter.name":"string","SearchParameter.publisher":"string","SearchParameter.purpose":"markdown","SearchParameter.status":"code","SearchParameter.target":"code","SearchParameter.text":"Narrative","SearchParameter.type":"code","SearchParameter.url":"uri","SearchParameter.useContext":"UsageContext","SearchParameter.version":"string","SearchParameter.xpath":"string","SearchParameter.xpathUsage":"code","ServiceRequest.asNeededBoolean":"boolean","ServiceRequest.asNeededCodeableConcept":"CodeableConcept","ServiceRequest.authoredOn":"dateTime","ServiceRequest.basedOn":"Reference","ServiceRequest.bodySite":"CodeableConcept","ServiceRequest.category":"CodeableConcept","ServiceRequest.code":"CodeableConcept","ServiceRequest.contained":"Resource","ServiceRequest.doNotPerform":"boolean","ServiceRequest.encounter":"Reference","ServiceRequest.extension":"Extension","ServiceRequest.id":"System.String","ServiceRequest.identifier":"Identifier","ServiceRequest.implicitRules":"uri","ServiceRequest.instantiatesCanonical":"canonical","ServiceRequest.instantiatesUri":"uri","ServiceRequest.insurance":"Reference","ServiceRequest.intent":"code","ServiceRequest.language":"code","ServiceRequest.locationCode":"CodeableConcept","ServiceRequest.locationReference":"Reference","ServiceRequest.meta":"Meta","ServiceRequest.modifierExtension":"Extension","ServiceRequest.note":"Annotation","ServiceRequest.occurrenceDateTime":"dateTime","ServiceRequest.occurrencePeriod":"Period","ServiceRequest.occurrenceTiming":"Timing","ServiceRequest.orderDetail":"CodeableConcept","ServiceRequest.patientInstruction":"string","ServiceRequest.performer":"Reference","ServiceRequest.performerType":"CodeableConcept","ServiceRequest.priority":"code","ServiceRequest.quantityQuantity":"Quantity","ServiceRequest.quantityRange":"Range","ServiceRequest.quantityRatio":"Ratio","ServiceRequest.reasonCode":"CodeableConcept","ServiceRequest.reasonReference":"Reference","ServiceRequest.relevantHistory":"Reference","ServiceRequest.replaces":"Reference","ServiceRequest.requester":"Reference","ServiceRequest.requisition":"Identifier","ServiceRequest.specimen":"Reference","ServiceRequest.status":"code","ServiceRequest.subject":"Reference","ServiceRequest.supportingInfo":"Reference","ServiceRequest.text":"Narrative","Signature.data":"base64Binary","Signature.extension":"Extension","Signature.id":"System.String","Signature.onBehalfOf":"Reference","Signature.sigFormat":"code","Signature.targetFormat":"code","Signature.type":"Coding","Signature.when":"instant","Signature.who":"Reference","Slot.appointmentType":"CodeableConcept","Slot.comment":"string","Slot.contained":"Resource","Slot.end":"instant","Slot.extension":"Extension","Slot.id":"System.String","Slot.identifier":"Identifier","Slot.implicitRules":"uri","Slot.language":"code","Slot.meta":"Meta","Slot.modifierExtension":"Extension","Slot.overbooked":"boolean","Slot.schedule":"Reference","Slot.serviceCategory":"CodeableConcept","Slot.serviceType":"CodeableConcept","Slot.specialty":"CodeableConcept","Slot.start":"instant","Slot.status":"code","Slot.text":"Narrative","Specimen.accessionIdentifier":"Identifier","Specimen.collection":"BackboneElement","Specimen.collection.bodySite":"CodeableConcept","Specimen.collection.collectedDateTime":"dateTime","Specimen.collection.collectedPeriod":"Period","Specimen.collection.collector":"Reference","Specimen.collection.duration":"Duration","Specimen.collection.extension":"Extension","Specimen.collection.fastingStatusCodeableConcept":"CodeableConcept","Specimen.collection.fastingStatusDuration":"Duration","Specimen.collection.id":"System.String","Specimen.collection.method":"CodeableConcept","Specimen.collection.modifierExtension":"Extension","Specimen.collection.quantity":"Quantity","Specimen.condition":"CodeableConcept","Specimen.contained":"Resource","Specimen.container":"BackboneElement","Specimen.container.additiveCodeableConcept":"CodeableConcept","Specimen.container.additiveReference":"Reference","Specimen.container.capacity":"Quantity","Specimen.container.description":"string","Specimen.container.extension":"Extension","Specimen.container.id":"System.String","Specimen.container.identifier":"Identifier","Specimen.container.modifierExtension":"Extension","Specimen.container.specimenQuantity":"Quantity","Specimen.container.type":"CodeableConcept","Specimen.extension":"Extension","Specimen.id":"System.String","Specimen.identifier":"Identifier","Specimen.implicitRules":"uri","Specimen.language":"code","Specimen.meta":"Meta","Specimen.modifierExtension":"Extension","Specimen.note":"Annotation","Specimen.parent":"Reference","Specimen.processing":"BackboneElement","Specimen.processing.additive":"Reference","Specimen.processing.description":"string","Specimen.processing.extension":"Extension","Specimen.processing.id":"System.String","Specimen.processing.modifierExtension":"Extension","Specimen.processing.procedure":"CodeableConcept","Specimen.processing.timeDateTime":"dateTime","Specimen.processing.timePeriod":"Period","Specimen.receivedTime":"dateTime","Specimen.request":"Reference","Specimen.status":"code","Specimen.subject":"Reference","Specimen.text":"Narrative","Specimen.type":"CodeableConcept","SpecimenDefinition.collection":"CodeableConcept","SpecimenDefinition.contained":"Resource","SpecimenDefinition.extension":"Extension","SpecimenDefinition.id":"System.String","SpecimenDefinition.identifier":"Identifier","SpecimenDefinition.implicitRules":"uri","SpecimenDefinition.language":"code","SpecimenDefinition.meta":"Meta","SpecimenDefinition.modifierExtension":"Extension","SpecimenDefinition.patientPreparation":"CodeableConcept","SpecimenDefinition.text":"Narrative","SpecimenDefinition.timeAspect":"string","SpecimenDefinition.typeCollected":"CodeableConcept","SpecimenDefinition.typeTested":"BackboneElement","SpecimenDefinition.typeTested.container":"BackboneElement","SpecimenDefinition.typeTested.container.additive":"BackboneElement","SpecimenDefinition.typeTested.container.additive.additiveCodeableConcept":"CodeableConcept","SpecimenDefinition.typeTested.container.additive.additiveReference":"Reference","SpecimenDefinition.typeTested.container.additive.extension":"Extension","SpecimenDefinition.typeTested.container.additive.id":"System.String","SpecimenDefinition.typeTested.container.additive.modifierExtension":"Extension","SpecimenDefinition.typeTested.container.cap":"CodeableConcept","SpecimenDefinition.typeTested.container.capacity":"Quantity","SpecimenDefinition.typeTested.container.description":"string","SpecimenDefinition.typeTested.container.extension":"Extension","SpecimenDefinition.typeTested.container.id":"System.String","SpecimenDefinition.typeTested.container.material":"CodeableConcept","SpecimenDefinition.typeTested.container.minimumVolumeQuantity":"Quantity","SpecimenDefinition.typeTested.container.minimumVolumeString":"string","SpecimenDefinition.typeTested.container.modifierExtension":"Extension","SpecimenDefinition.typeTested.container.preparation":"string","SpecimenDefinition.typeTested.container.type":"CodeableConcept","SpecimenDefinition.typeTested.extension":"Extension","SpecimenDefinition.typeTested.handling":"BackboneElement","SpecimenDefinition.typeTested.handling.extension":"Extension","SpecimenDefinition.typeTested.handling.id":"System.String","SpecimenDefinition.typeTested.handling.instruction":"string","SpecimenDefinition.typeTested.handling.maxDuration":"Duration","SpecimenDefinition.typeTested.handling.modifierExtension":"Extension","SpecimenDefinition.typeTested.handling.temperatureQualifier":"CodeableConcept","SpecimenDefinition.typeTested.handling.temperatureRange":"Range","SpecimenDefinition.typeTested.id":"System.String","SpecimenDefinition.typeTested.isDerived":"boolean","SpecimenDefinition.typeTested.modifierExtension":"Extension","SpecimenDefinition.typeTested.preference":"code","SpecimenDefinition.typeTested.rejectionCriterion":"CodeableConcept","SpecimenDefinition.typeTested.requirement":"string","SpecimenDefinition.typeTested.retentionTime":"Duration","SpecimenDefinition.typeTested.type":"CodeableConcept","StructureDefinition.abstract":"boolean","StructureDefinition.baseDefinition":"canonical","StructureDefinition.contact":"ContactDetail","StructureDefinition.contained":"Resource","StructureDefinition.context":"BackboneElement","StructureDefinition.context.expression":"string","StructureDefinition.context.extension":"Extension","StructureDefinition.context.id":"System.String","StructureDefinition.context.modifierExtension":"Extension","StructureDefinition.context.type":"code","StructureDefinition.contextInvariant":"string","StructureDefinition.copyright":"markdown","StructureDefinition.date":"dateTime","StructureDefinition.derivation":"code","StructureDefinition.description":"markdown","StructureDefinition.differential":"BackboneElement","StructureDefinition.differential.element":"ElementDefinition","StructureDefinition.differential.extension":"Extension","StructureDefinition.differential.id":"System.String","StructureDefinition.differential.modifierExtension":"Extension","StructureDefinition.experimental":"boolean","StructureDefinition.extension":"Extension","StructureDefinition.fhirVersion":"code","StructureDefinition.id":"System.String","StructureDefinition.identifier":"Identifier","StructureDefinition.implicitRules":"uri","StructureDefinition.jurisdiction":"CodeableConcept","StructureDefinition.keyword":"Coding","StructureDefinition.kind":"code","StructureDefinition.language":"code","StructureDefinition.mapping":"BackboneElement","StructureDefinition.mapping.comment":"string","StructureDefinition.mapping.extension":"Extension","StructureDefinition.mapping.id":"System.String","StructureDefinition.mapping.identity":"id","StructureDefinition.mapping.modifierExtension":"Extension","StructureDefinition.mapping.name":"string","StructureDefinition.mapping.uri":"uri","StructureDefinition.meta":"Meta","StructureDefinition.modifierExtension":"Extension","StructureDefinition.name":"string","StructureDefinition.publisher":"string","StructureDefinition.purpose":"markdown","StructureDefinition.snapshot":"BackboneElement","StructureDefinition.snapshot.element":"ElementDefinition","StructureDefinition.snapshot.extension":"Extension","StructureDefinition.snapshot.id":"System.String","StructureDefinition.snapshot.modifierExtension":"Extension","StructureDefinition.status":"code","StructureDefinition.text":"Narrative","StructureDefinition.title":"string","StructureDefinition.type":"uri","StructureDefinition.url":"uri","StructureDefinition.useContext":"UsageContext","StructureDefinition.version":"string","StructureMap.contact":"ContactDetail","StructureMap.contained":"Resource","StructureMap.copyright":"markdown","StructureMap.date":"dateTime","StructureMap.description":"markdown","StructureMap.experimental":"boolean","StructureMap.extension":"Extension","StructureMap.group":"BackboneElement","StructureMap.group.documentation":"string","StructureMap.group.extends":"id","StructureMap.group.extension":"Extension","StructureMap.group.id":"System.String","StructureMap.group.input":"BackboneElement","StructureMap.group.input.documentation":"string","StructureMap.group.input.extension":"Extension","StructureMap.group.input.id":"System.String","StructureMap.group.input.mode":"code","StructureMap.group.input.modifierExtension":"Extension","StructureMap.group.input.name":"id","StructureMap.group.input.type":"string","StructureMap.group.modifierExtension":"Extension","StructureMap.group.name":"id","StructureMap.group.rule":"BackboneElement","StructureMap.group.rule.dependent":"BackboneElement","StructureMap.group.rule.dependent.extension":"Extension","StructureMap.group.rule.dependent.id":"System.String","StructureMap.group.rule.dependent.modifierExtension":"Extension","StructureMap.group.rule.dependent.name":"id","StructureMap.group.rule.dependent.variable":"string","StructureMap.group.rule.documentation":"string","StructureMap.group.rule.extension":"Extension","StructureMap.group.rule.id":"System.String","StructureMap.group.rule.modifierExtension":"Extension","StructureMap.group.rule.name":"id","StructureMap.group.rule.source":"BackboneElement","StructureMap.group.rule.source.check":"string","StructureMap.group.rule.source.condition":"string","StructureMap.group.rule.source.context":"id","StructureMap.group.rule.source.defaultValueAddress":"Address","StructureMap.group.rule.source.defaultValueAge":"Age","StructureMap.group.rule.source.defaultValueAnnotation":"Annotation","StructureMap.group.rule.source.defaultValueAttachment":"Attachment","StructureMap.group.rule.source.defaultValueBase64Binary":"base64Binary","StructureMap.group.rule.source.defaultValueBoolean":"boolean","StructureMap.group.rule.source.defaultValueCanonical":"canonical","StructureMap.group.rule.source.defaultValueCode":"code","StructureMap.group.rule.source.defaultValueCodeableConcept":"CodeableConcept","StructureMap.group.rule.source.defaultValueCoding":"Coding","StructureMap.group.rule.source.defaultValueContactDetail":"ContactDetail","StructureMap.group.rule.source.defaultValueContactPoint":"ContactPoint","StructureMap.group.rule.source.defaultValueContributor":"Contributor","StructureMap.group.rule.source.defaultValueCount":"Count","StructureMap.group.rule.source.defaultValueDataRequirement":"DataRequirement","StructureMap.group.rule.source.defaultValueDate":"date","StructureMap.group.rule.source.defaultValueDateTime":"dateTime","StructureMap.group.rule.source.defaultValueDecimal":"decimal","StructureMap.group.rule.source.defaultValueDistance":"Distance","StructureMap.group.rule.source.defaultValueDosage":"Dosage","StructureMap.group.rule.source.defaultValueDuration":"Duration","StructureMap.group.rule.source.defaultValueExpression":"Expression","StructureMap.group.rule.source.defaultValueHumanName":"HumanName","StructureMap.group.rule.source.defaultValueId":"id","StructureMap.group.rule.source.defaultValueIdentifier":"Identifier","StructureMap.group.rule.source.defaultValueInstant":"instant","StructureMap.group.rule.source.defaultValueInteger":"integer","StructureMap.group.rule.source.defaultValueMarkdown":"markdown","StructureMap.group.rule.source.defaultValueMeta":"Meta","StructureMap.group.rule.source.defaultValueMoney":"Money","StructureMap.group.rule.source.defaultValueOid":"oid","StructureMap.group.rule.source.defaultValueParameterDefinition":"ParameterDefinition","StructureMap.group.rule.source.defaultValuePeriod":"Period","StructureMap.group.rule.source.defaultValuePositiveInt":"positiveInt","StructureMap.group.rule.source.defaultValueQuantity":"Quantity","StructureMap.group.rule.source.defaultValueRange":"Range","StructureMap.group.rule.source.defaultValueRatio":"Ratio","StructureMap.group.rule.source.defaultValueReference":"Reference","StructureMap.group.rule.source.defaultValueRelatedArtifact":"RelatedArtifact","StructureMap.group.rule.source.defaultValueSampledData":"SampledData","StructureMap.group.rule.source.defaultValueSignature":"Signature","StructureMap.group.rule.source.defaultValueString":"string","StructureMap.group.rule.source.defaultValueTime":"time","StructureMap.group.rule.source.defaultValueTiming":"Timing","StructureMap.group.rule.source.defaultValueTriggerDefinition":"TriggerDefinition","StructureMap.group.rule.source.defaultValueUnsignedInt":"unsignedInt","StructureMap.group.rule.source.defaultValueUri":"uri","StructureMap.group.rule.source.defaultValueUrl":"url","StructureMap.group.rule.source.defaultValueUsageContext":"UsageContext","StructureMap.group.rule.source.defaultValueUuid":"uuid","StructureMap.group.rule.source.element":"string","StructureMap.group.rule.source.extension":"Extension","StructureMap.group.rule.source.id":"System.String","StructureMap.group.rule.source.listMode":"code","StructureMap.group.rule.source.logMessage":"string","StructureMap.group.rule.source.max":"string","StructureMap.group.rule.source.min":"integer","StructureMap.group.rule.source.modifierExtension":"Extension","StructureMap.group.rule.source.type":"string","StructureMap.group.rule.source.variable":"id","StructureMap.group.rule.target":"BackboneElement","StructureMap.group.rule.target.context":"id","StructureMap.group.rule.target.contextType":"code","StructureMap.group.rule.target.element":"string","StructureMap.group.rule.target.extension":"Extension","StructureMap.group.rule.target.id":"System.String","StructureMap.group.rule.target.listMode":"code","StructureMap.group.rule.target.listRuleId":"id","StructureMap.group.rule.target.modifierExtension":"Extension","StructureMap.group.rule.target.parameter":"BackboneElement","StructureMap.group.rule.target.parameter.extension":"Extension","StructureMap.group.rule.target.parameter.id":"System.String","StructureMap.group.rule.target.parameter.modifierExtension":"Extension","StructureMap.group.rule.target.parameter.valueBoolean":"boolean","StructureMap.group.rule.target.parameter.valueDecimal":"decimal","StructureMap.group.rule.target.parameter.valueId":"id","StructureMap.group.rule.target.parameter.valueInteger":"integer","StructureMap.group.rule.target.parameter.valueString":"string","StructureMap.group.rule.target.transform":"code","StructureMap.group.rule.target.variable":"id","StructureMap.group.typeMode":"code","StructureMap.id":"System.String","StructureMap.identifier":"Identifier","StructureMap.implicitRules":"uri","StructureMap.import":"canonical","StructureMap.jurisdiction":"CodeableConcept","StructureMap.language":"code","StructureMap.meta":"Meta","StructureMap.modifierExtension":"Extension","StructureMap.name":"string","StructureMap.publisher":"string","StructureMap.purpose":"markdown","StructureMap.status":"code","StructureMap.structure":"BackboneElement","StructureMap.structure.alias":"string","StructureMap.structure.documentation":"string","StructureMap.structure.extension":"Extension","StructureMap.structure.id":"System.String","StructureMap.structure.mode":"code","StructureMap.structure.modifierExtension":"Extension","StructureMap.structure.url":"canonical","StructureMap.text":"Narrative","StructureMap.title":"string","StructureMap.url":"uri","StructureMap.useContext":"UsageContext","StructureMap.version":"string","Subscription.channel":"BackboneElement","Subscription.channel.endpoint":"url","Subscription.channel.extension":"Extension","Subscription.channel.header":"string","Subscription.channel.id":"System.String","Subscription.channel.modifierExtension":"Extension","Subscription.channel.payload":"code","Subscription.channel.type":"code","Subscription.contact":"ContactPoint","Subscription.contained":"Resource","Subscription.criteria":"string","Subscription.end":"instant","Subscription.error":"string","Subscription.extension":"Extension","Subscription.id":"System.String","Subscription.implicitRules":"uri","Subscription.language":"code","Subscription.meta":"Meta","Subscription.modifierExtension":"Extension","Subscription.reason":"string","Subscription.status":"code","Subscription.text":"Narrative","Substance.category":"CodeableConcept","Substance.code":"CodeableConcept","Substance.contained":"Resource","Substance.description":"string","Substance.extension":"Extension","Substance.id":"System.String","Substance.identifier":"Identifier","Substance.implicitRules":"uri","Substance.ingredient":"BackboneElement","Substance.ingredient.extension":"Extension","Substance.ingredient.id":"System.String","Substance.ingredient.modifierExtension":"Extension","Substance.ingredient.quantity":"Ratio","Substance.ingredient.substanceCodeableConcept":"CodeableConcept","Substance.ingredient.substanceReference":"Reference","Substance.instance":"BackboneElement","Substance.instance.expiry":"dateTime","Substance.instance.extension":"Extension","Substance.instance.id":"System.String","Substance.instance.identifier":"Identifier","Substance.instance.modifierExtension":"Extension","Substance.instance.quantity":"Quantity","Substance.language":"code","Substance.meta":"Meta","Substance.modifierExtension":"Extension","Substance.status":"code","Substance.text":"Narrative","SubstanceAmount.amountQuantity":"Quantity","SubstanceAmount.amountRange":"Range","SubstanceAmount.amountString":"string","SubstanceAmount.amountText":"string","SubstanceAmount.amountType":"CodeableConcept","SubstanceAmount.extension":"Extension","SubstanceAmount.id":"System.String","SubstanceAmount.modifierExtension":"Extension","SubstanceAmount.referenceRange.extension":"Extension","SubstanceAmount.referenceRange.highLimit":"Quantity","SubstanceAmount.referenceRange.id":"System.String","SubstanceAmount.referenceRange.lowLimit":"Quantity","SubstanceNucleicAcid.areaOfHybridisation":"string","SubstanceNucleicAcid.contained":"Resource","SubstanceNucleicAcid.extension":"Extension","SubstanceNucleicAcid.id":"System.String","SubstanceNucleicAcid.implicitRules":"uri","SubstanceNucleicAcid.language":"code","SubstanceNucleicAcid.meta":"Meta","SubstanceNucleicAcid.modifierExtension":"Extension","SubstanceNucleicAcid.numberOfSubunits":"integer","SubstanceNucleicAcid.oligoNucleotideType":"CodeableConcept","SubstanceNucleicAcid.sequenceType":"CodeableConcept","SubstanceNucleicAcid.subunit":"BackboneElement","SubstanceNucleicAcid.subunit.extension":"Extension","SubstanceNucleicAcid.subunit.fivePrime":"CodeableConcept","SubstanceNucleicAcid.subunit.id":"System.String","SubstanceNucleicAcid.subunit.length":"integer","SubstanceNucleicAcid.subunit.linkage":"BackboneElement","SubstanceNucleicAcid.subunit.linkage.connectivity":"string","SubstanceNucleicAcid.subunit.linkage.extension":"Extension","SubstanceNucleicAcid.subunit.linkage.id":"System.String","SubstanceNucleicAcid.subunit.linkage.identifier":"Identifier","SubstanceNucleicAcid.subunit.linkage.modifierExtension":"Extension","SubstanceNucleicAcid.subunit.linkage.name":"string","SubstanceNucleicAcid.subunit.linkage.residueSite":"string","SubstanceNucleicAcid.subunit.modifierExtension":"Extension","SubstanceNucleicAcid.subunit.sequence":"string","SubstanceNucleicAcid.subunit.sequenceAttachment":"Attachment","SubstanceNucleicAcid.subunit.subunit":"integer","SubstanceNucleicAcid.subunit.sugar":"BackboneElement","SubstanceNucleicAcid.subunit.sugar.extension":"Extension","SubstanceNucleicAcid.subunit.sugar.id":"System.String","SubstanceNucleicAcid.subunit.sugar.identifier":"Identifier","SubstanceNucleicAcid.subunit.sugar.modifierExtension":"Extension","SubstanceNucleicAcid.subunit.sugar.name":"string","SubstanceNucleicAcid.subunit.sugar.residueSite":"string","SubstanceNucleicAcid.subunit.threePrime":"CodeableConcept","SubstanceNucleicAcid.text":"Narrative","SubstancePolymer.class":"CodeableConcept","SubstancePolymer.contained":"Resource","SubstancePolymer.copolymerConnectivity":"CodeableConcept","SubstancePolymer.extension":"Extension","SubstancePolymer.geometry":"CodeableConcept","SubstancePolymer.id":"System.String","SubstancePolymer.implicitRules":"uri","SubstancePolymer.language":"code","SubstancePolymer.meta":"Meta","SubstancePolymer.modification":"string","SubstancePolymer.modifierExtension":"Extension","SubstancePolymer.monomerSet":"BackboneElement","SubstancePolymer.monomerSet.extension":"Extension","SubstancePolymer.monomerSet.id":"System.String","SubstancePolymer.monomerSet.modifierExtension":"Extension","SubstancePolymer.monomerSet.ratioType":"CodeableConcept","SubstancePolymer.monomerSet.startingMaterial":"BackboneElement","SubstancePolymer.monomerSet.startingMaterial.amount":"SubstanceAmount","SubstancePolymer.monomerSet.startingMaterial.extension":"Extension","SubstancePolymer.monomerSet.startingMaterial.id":"System.String","SubstancePolymer.monomerSet.startingMaterial.isDefining":"boolean","SubstancePolymer.monomerSet.startingMaterial.material":"CodeableConcept","SubstancePolymer.monomerSet.startingMaterial.modifierExtension":"Extension","SubstancePolymer.monomerSet.startingMaterial.type":"CodeableConcept","SubstancePolymer.repeat":"BackboneElement","SubstancePolymer.repeat.averageMolecularFormula":"string","SubstancePolymer.repeat.extension":"Extension","SubstancePolymer.repeat.id":"System.String","SubstancePolymer.repeat.modifierExtension":"Extension","SubstancePolymer.repeat.numberOfUnits":"integer","SubstancePolymer.repeat.repeatUnit":"BackboneElement","SubstancePolymer.repeat.repeatUnit.amount":"SubstanceAmount","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation":"BackboneElement","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount":"SubstanceAmount","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.degree":"CodeableConcept","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.extension":"Extension","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.id":"System.String","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.modifierExtension":"Extension","SubstancePolymer.repeat.repeatUnit.extension":"Extension","SubstancePolymer.repeat.repeatUnit.id":"System.String","SubstancePolymer.repeat.repeatUnit.modifierExtension":"Extension","SubstancePolymer.repeat.repeatUnit.orientationOfPolymerisation":"CodeableConcept","SubstancePolymer.repeat.repeatUnit.repeatUnit":"string","SubstancePolymer.repeat.repeatUnit.structuralRepresentation":"BackboneElement","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.attachment":"Attachment","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.extension":"Extension","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.id":"System.String","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.modifierExtension":"Extension","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.representation":"string","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.type":"CodeableConcept","SubstancePolymer.repeat.repeatUnitAmountType":"CodeableConcept","SubstancePolymer.text":"Narrative","SubstanceProtein.contained":"Resource","SubstanceProtein.disulfideLinkage":"string","SubstanceProtein.extension":"Extension","SubstanceProtein.id":"System.String","SubstanceProtein.implicitRules":"uri","SubstanceProtein.language":"code","SubstanceProtein.meta":"Meta","SubstanceProtein.modifierExtension":"Extension","SubstanceProtein.numberOfSubunits":"integer","SubstanceProtein.sequenceType":"CodeableConcept","SubstanceProtein.subunit":"BackboneElement","SubstanceProtein.subunit.cTerminalModification":"string","SubstanceProtein.subunit.cTerminalModificationId":"Identifier","SubstanceProtein.subunit.extension":"Extension","SubstanceProtein.subunit.id":"System.String","SubstanceProtein.subunit.length":"integer","SubstanceProtein.subunit.modifierExtension":"Extension","SubstanceProtein.subunit.nTerminalModification":"string","SubstanceProtein.subunit.nTerminalModificationId":"Identifier","SubstanceProtein.subunit.sequence":"string","SubstanceProtein.subunit.sequenceAttachment":"Attachment","SubstanceProtein.subunit.subunit":"integer","SubstanceProtein.text":"Narrative","SubstanceReferenceInformation.classification":"BackboneElement","SubstanceReferenceInformation.classification.classification":"CodeableConcept","SubstanceReferenceInformation.classification.domain":"CodeableConcept","SubstanceReferenceInformation.classification.extension":"Extension","SubstanceReferenceInformation.classification.id":"System.String","SubstanceReferenceInformation.classification.modifierExtension":"Extension","SubstanceReferenceInformation.classification.source":"Reference","SubstanceReferenceInformation.classification.subtype":"CodeableConcept","SubstanceReferenceInformation.comment":"string","SubstanceReferenceInformation.contained":"Resource","SubstanceReferenceInformation.extension":"Extension","SubstanceReferenceInformation.gene":"BackboneElement","SubstanceReferenceInformation.gene.extension":"Extension","SubstanceReferenceInformation.gene.gene":"CodeableConcept","SubstanceReferenceInformation.gene.geneSequenceOrigin":"CodeableConcept","SubstanceReferenceInformation.gene.id":"System.String","SubstanceReferenceInformation.gene.modifierExtension":"Extension","SubstanceReferenceInformation.gene.source":"Reference","SubstanceReferenceInformation.geneElement":"BackboneElement","SubstanceReferenceInformation.geneElement.element":"Identifier","SubstanceReferenceInformation.geneElement.extension":"Extension","SubstanceReferenceInformation.geneElement.id":"System.String","SubstanceReferenceInformation.geneElement.modifierExtension":"Extension","SubstanceReferenceInformation.geneElement.source":"Reference","SubstanceReferenceInformation.geneElement.type":"CodeableConcept","SubstanceReferenceInformation.id":"System.String","SubstanceReferenceInformation.implicitRules":"uri","SubstanceReferenceInformation.language":"code","SubstanceReferenceInformation.meta":"Meta","SubstanceReferenceInformation.modifierExtension":"Extension","SubstanceReferenceInformation.target":"BackboneElement","SubstanceReferenceInformation.target.amountQuantity":"Quantity","SubstanceReferenceInformation.target.amountRange":"Range","SubstanceReferenceInformation.target.amountString":"string","SubstanceReferenceInformation.target.amountType":"CodeableConcept","SubstanceReferenceInformation.target.extension":"Extension","SubstanceReferenceInformation.target.id":"System.String","SubstanceReferenceInformation.target.interaction":"CodeableConcept","SubstanceReferenceInformation.target.modifierExtension":"Extension","SubstanceReferenceInformation.target.organism":"CodeableConcept","SubstanceReferenceInformation.target.organismType":"CodeableConcept","SubstanceReferenceInformation.target.source":"Reference","SubstanceReferenceInformation.target.target":"Identifier","SubstanceReferenceInformation.target.type":"CodeableConcept","SubstanceReferenceInformation.text":"Narrative","SubstanceSourceMaterial.contained":"Resource","SubstanceSourceMaterial.countryOfOrigin":"CodeableConcept","SubstanceSourceMaterial.developmentStage":"CodeableConcept","SubstanceSourceMaterial.extension":"Extension","SubstanceSourceMaterial.fractionDescription":"BackboneElement","SubstanceSourceMaterial.fractionDescription.extension":"Extension","SubstanceSourceMaterial.fractionDescription.fraction":"string","SubstanceSourceMaterial.fractionDescription.id":"System.String","SubstanceSourceMaterial.fractionDescription.materialType":"CodeableConcept","SubstanceSourceMaterial.fractionDescription.modifierExtension":"Extension","SubstanceSourceMaterial.geographicalLocation":"string","SubstanceSourceMaterial.id":"System.String","SubstanceSourceMaterial.implicitRules":"uri","SubstanceSourceMaterial.language":"code","SubstanceSourceMaterial.meta":"Meta","SubstanceSourceMaterial.modifierExtension":"Extension","SubstanceSourceMaterial.organism":"BackboneElement","SubstanceSourceMaterial.organism.author":"BackboneElement","SubstanceSourceMaterial.organism.author.authorDescription":"string","SubstanceSourceMaterial.organism.author.authorType":"CodeableConcept","SubstanceSourceMaterial.organism.author.extension":"Extension","SubstanceSourceMaterial.organism.author.id":"System.String","SubstanceSourceMaterial.organism.author.modifierExtension":"Extension","SubstanceSourceMaterial.organism.extension":"Extension","SubstanceSourceMaterial.organism.family":"CodeableConcept","SubstanceSourceMaterial.organism.genus":"CodeableConcept","SubstanceSourceMaterial.organism.hybrid":"BackboneElement","SubstanceSourceMaterial.organism.hybrid.extension":"Extension","SubstanceSourceMaterial.organism.hybrid.hybridType":"CodeableConcept","SubstanceSourceMaterial.organism.hybrid.id":"System.String","SubstanceSourceMaterial.organism.hybrid.maternalOrganismId":"string","SubstanceSourceMaterial.organism.hybrid.maternalOrganismName":"string","SubstanceSourceMaterial.organism.hybrid.modifierExtension":"Extension","SubstanceSourceMaterial.organism.hybrid.paternalOrganismId":"string","SubstanceSourceMaterial.organism.hybrid.paternalOrganismName":"string","SubstanceSourceMaterial.organism.id":"System.String","SubstanceSourceMaterial.organism.intraspecificDescription":"string","SubstanceSourceMaterial.organism.intraspecificType":"CodeableConcept","SubstanceSourceMaterial.organism.modifierExtension":"Extension","SubstanceSourceMaterial.organism.organismGeneral":"BackboneElement","SubstanceSourceMaterial.organism.organismGeneral.class":"CodeableConcept","SubstanceSourceMaterial.organism.organismGeneral.extension":"Extension","SubstanceSourceMaterial.organism.organismGeneral.id":"System.String","SubstanceSourceMaterial.organism.organismGeneral.kingdom":"CodeableConcept","SubstanceSourceMaterial.organism.organismGeneral.modifierExtension":"Extension","SubstanceSourceMaterial.organism.organismGeneral.order":"CodeableConcept","SubstanceSourceMaterial.organism.organismGeneral.phylum":"CodeableConcept","SubstanceSourceMaterial.organism.species":"CodeableConcept","SubstanceSourceMaterial.organismId":"Identifier","SubstanceSourceMaterial.organismName":"string","SubstanceSourceMaterial.parentSubstanceId":"Identifier","SubstanceSourceMaterial.parentSubstanceName":"string","SubstanceSourceMaterial.partDescription":"BackboneElement","SubstanceSourceMaterial.partDescription.extension":"Extension","SubstanceSourceMaterial.partDescription.id":"System.String","SubstanceSourceMaterial.partDescription.modifierExtension":"Extension","SubstanceSourceMaterial.partDescription.part":"CodeableConcept","SubstanceSourceMaterial.partDescription.partLocation":"CodeableConcept","SubstanceSourceMaterial.sourceMaterialClass":"CodeableConcept","SubstanceSourceMaterial.sourceMaterialState":"CodeableConcept","SubstanceSourceMaterial.sourceMaterialType":"CodeableConcept","SubstanceSourceMaterial.text":"Narrative","SubstanceSpecification.code":"BackboneElement","SubstanceSpecification.code.code":"CodeableConcept","SubstanceSpecification.code.comment":"string","SubstanceSpecification.code.extension":"Extension","SubstanceSpecification.code.id":"System.String","SubstanceSpecification.code.modifierExtension":"Extension","SubstanceSpecification.code.source":"Reference","SubstanceSpecification.code.status":"CodeableConcept","SubstanceSpecification.code.statusDate":"dateTime","SubstanceSpecification.comment":"string","SubstanceSpecification.contained":"Resource","SubstanceSpecification.description":"string","SubstanceSpecification.domain":"CodeableConcept","SubstanceSpecification.extension":"Extension","SubstanceSpecification.id":"System.String","SubstanceSpecification.identifier":"Identifier","SubstanceSpecification.implicitRules":"uri","SubstanceSpecification.language":"code","SubstanceSpecification.meta":"Meta","SubstanceSpecification.modifierExtension":"Extension","SubstanceSpecification.moiety":"BackboneElement","SubstanceSpecification.moiety.amountQuantity":"Quantity","SubstanceSpecification.moiety.amountString":"string","SubstanceSpecification.moiety.extension":"Extension","SubstanceSpecification.moiety.id":"System.String","SubstanceSpecification.moiety.identifier":"Identifier","SubstanceSpecification.moiety.modifierExtension":"Extension","SubstanceSpecification.moiety.molecularFormula":"string","SubstanceSpecification.moiety.name":"string","SubstanceSpecification.moiety.opticalActivity":"CodeableConcept","SubstanceSpecification.moiety.role":"CodeableConcept","SubstanceSpecification.moiety.stereochemistry":"CodeableConcept","SubstanceSpecification.name":"BackboneElement","SubstanceSpecification.name.domain":"CodeableConcept","SubstanceSpecification.name.extension":"Extension","SubstanceSpecification.name.id":"System.String","SubstanceSpecification.name.jurisdiction":"CodeableConcept","SubstanceSpecification.name.language":"CodeableConcept","SubstanceSpecification.name.modifierExtension":"Extension","SubstanceSpecification.name.name":"string","SubstanceSpecification.name.official":"BackboneElement","SubstanceSpecification.name.official.authority":"CodeableConcept","SubstanceSpecification.name.official.date":"dateTime","SubstanceSpecification.name.official.extension":"Extension","SubstanceSpecification.name.official.id":"System.String","SubstanceSpecification.name.official.modifierExtension":"Extension","SubstanceSpecification.name.official.status":"CodeableConcept","SubstanceSpecification.name.preferred":"boolean","SubstanceSpecification.name.source":"Reference","SubstanceSpecification.name.status":"CodeableConcept","SubstanceSpecification.name.type":"CodeableConcept","SubstanceSpecification.nucleicAcid":"Reference","SubstanceSpecification.polymer":"Reference","SubstanceSpecification.property":"BackboneElement","SubstanceSpecification.property.amountQuantity":"Quantity","SubstanceSpecification.property.amountString":"string","SubstanceSpecification.property.category":"CodeableConcept","SubstanceSpecification.property.code":"CodeableConcept","SubstanceSpecification.property.definingSubstanceCodeableConcept":"CodeableConcept","SubstanceSpecification.property.definingSubstanceReference":"Reference","SubstanceSpecification.property.extension":"Extension","SubstanceSpecification.property.id":"System.String","SubstanceSpecification.property.modifierExtension":"Extension","SubstanceSpecification.property.parameters":"string","SubstanceSpecification.protein":"Reference","SubstanceSpecification.referenceInformation":"Reference","SubstanceSpecification.relationship":"BackboneElement","SubstanceSpecification.relationship.amountQuantity":"Quantity","SubstanceSpecification.relationship.amountRange":"Range","SubstanceSpecification.relationship.amountRatio":"Ratio","SubstanceSpecification.relationship.amountRatioLowLimit":"Ratio","SubstanceSpecification.relationship.amountString":"string","SubstanceSpecification.relationship.amountType":"CodeableConcept","SubstanceSpecification.relationship.extension":"Extension","SubstanceSpecification.relationship.id":"System.String","SubstanceSpecification.relationship.isDefining":"boolean","SubstanceSpecification.relationship.modifierExtension":"Extension","SubstanceSpecification.relationship.relationship":"CodeableConcept","SubstanceSpecification.relationship.source":"Reference","SubstanceSpecification.relationship.substanceCodeableConcept":"CodeableConcept","SubstanceSpecification.relationship.substanceReference":"Reference","SubstanceSpecification.source":"Reference","SubstanceSpecification.sourceMaterial":"Reference","SubstanceSpecification.status":"CodeableConcept","SubstanceSpecification.structure":"BackboneElement","SubstanceSpecification.structure.extension":"Extension","SubstanceSpecification.structure.id":"System.String","SubstanceSpecification.structure.isotope":"BackboneElement","SubstanceSpecification.structure.isotope.extension":"Extension","SubstanceSpecification.structure.isotope.halfLife":"Quantity","SubstanceSpecification.structure.isotope.id":"System.String","SubstanceSpecification.structure.isotope.identifier":"Identifier","SubstanceSpecification.structure.isotope.modifierExtension":"Extension","SubstanceSpecification.structure.isotope.molecularWeight":"BackboneElement","SubstanceSpecification.structure.isotope.molecularWeight.amount":"Quantity","SubstanceSpecification.structure.isotope.molecularWeight.extension":"Extension","SubstanceSpecification.structure.isotope.molecularWeight.id":"System.String","SubstanceSpecification.structure.isotope.molecularWeight.method":"CodeableConcept","SubstanceSpecification.structure.isotope.molecularWeight.modifierExtension":"Extension","SubstanceSpecification.structure.isotope.molecularWeight.type":"CodeableConcept","SubstanceSpecification.structure.isotope.name":"CodeableConcept","SubstanceSpecification.structure.isotope.substitution":"CodeableConcept","SubstanceSpecification.structure.modifierExtension":"Extension","SubstanceSpecification.structure.molecularFormula":"string","SubstanceSpecification.structure.molecularFormulaByMoiety":"string","SubstanceSpecification.structure.opticalActivity":"CodeableConcept","SubstanceSpecification.structure.representation":"BackboneElement","SubstanceSpecification.structure.representation.attachment":"Attachment","SubstanceSpecification.structure.representation.extension":"Extension","SubstanceSpecification.structure.representation.id":"System.String","SubstanceSpecification.structure.representation.modifierExtension":"Extension","SubstanceSpecification.structure.representation.representation":"string","SubstanceSpecification.structure.representation.type":"CodeableConcept","SubstanceSpecification.structure.source":"Reference","SubstanceSpecification.structure.stereochemistry":"CodeableConcept","SubstanceSpecification.text":"Narrative","SubstanceSpecification.type":"CodeableConcept","SupplyDelivery.basedOn":"Reference","SupplyDelivery.contained":"Resource","SupplyDelivery.destination":"Reference","SupplyDelivery.extension":"Extension","SupplyDelivery.id":"System.String","SupplyDelivery.identifier":"Identifier","SupplyDelivery.implicitRules":"uri","SupplyDelivery.language":"code","SupplyDelivery.meta":"Meta","SupplyDelivery.modifierExtension":"Extension","SupplyDelivery.occurrenceDateTime":"dateTime","SupplyDelivery.occurrencePeriod":"Period","SupplyDelivery.occurrenceTiming":"Timing","SupplyDelivery.partOf":"Reference","SupplyDelivery.patient":"Reference","SupplyDelivery.receiver":"Reference","SupplyDelivery.status":"code","SupplyDelivery.suppliedItem":"BackboneElement","SupplyDelivery.suppliedItem.extension":"Extension","SupplyDelivery.suppliedItem.id":"System.String","SupplyDelivery.suppliedItem.itemCodeableConcept":"CodeableConcept","SupplyDelivery.suppliedItem.itemReference":"Reference","SupplyDelivery.suppliedItem.modifierExtension":"Extension","SupplyDelivery.suppliedItem.quantity":"Quantity","SupplyDelivery.supplier":"Reference","SupplyDelivery.text":"Narrative","SupplyDelivery.type":"CodeableConcept","SupplyRequest.authoredOn":"dateTime","SupplyRequest.category":"CodeableConcept","SupplyRequest.contained":"Resource","SupplyRequest.deliverFrom":"Reference","SupplyRequest.deliverTo":"Reference","SupplyRequest.extension":"Extension","SupplyRequest.id":"System.String","SupplyRequest.identifier":"Identifier","SupplyRequest.implicitRules":"uri","SupplyRequest.itemCodeableConcept":"CodeableConcept","SupplyRequest.itemReference":"Reference","SupplyRequest.language":"code","SupplyRequest.meta":"Meta","SupplyRequest.modifierExtension":"Extension","SupplyRequest.occurrenceDateTime":"dateTime","SupplyRequest.occurrencePeriod":"Period","SupplyRequest.occurrenceTiming":"Timing","SupplyRequest.parameter":"BackboneElement","SupplyRequest.parameter.code":"CodeableConcept","SupplyRequest.parameter.extension":"Extension","SupplyRequest.parameter.id":"System.String","SupplyRequest.parameter.modifierExtension":"Extension","SupplyRequest.parameter.valueBoolean":"boolean","SupplyRequest.parameter.valueCodeableConcept":"CodeableConcept","SupplyRequest.parameter.valueQuantity":"Quantity","SupplyRequest.parameter.valueRange":"Range","SupplyRequest.priority":"code","SupplyRequest.quantity":"Quantity","SupplyRequest.reasonCode":"CodeableConcept","SupplyRequest.reasonReference":"Reference","SupplyRequest.requester":"Reference","SupplyRequest.status":"code","SupplyRequest.supplier":"Reference","SupplyRequest.text":"Narrative","Task.authoredOn":"dateTime","Task.basedOn":"Reference","Task.businessStatus":"CodeableConcept","Task.code":"CodeableConcept","Task.contained":"Resource","Task.description":"string","Task.encounter":"Reference","Task.executionPeriod":"Period","Task.extension":"Extension","Task.focus":"Reference","Task.for":"Reference","Task.groupIdentifier":"Identifier","Task.id":"System.String","Task.identifier":"Identifier","Task.implicitRules":"uri","Task.input":"BackboneElement","Task.input.extension":"Extension","Task.input.id":"System.String","Task.input.modifierExtension":"Extension","Task.input.type":"CodeableConcept","Task.input.valueAddress":"Address","Task.input.valueAge":"Age","Task.input.valueAnnotation":"Annotation","Task.input.valueAttachment":"Attachment","Task.input.valueBase64Binary":"base64Binary","Task.input.valueBoolean":"boolean","Task.input.valueCanonical":"canonical","Task.input.valueCode":"code","Task.input.valueCodeableConcept":"CodeableConcept","Task.input.valueCoding":"Coding","Task.input.valueContactDetail":"ContactDetail","Task.input.valueContactPoint":"ContactPoint","Task.input.valueContributor":"Contributor","Task.input.valueCount":"Count","Task.input.valueDataRequirement":"DataRequirement","Task.input.valueDate":"date","Task.input.valueDateTime":"dateTime","Task.input.valueDecimal":"decimal","Task.input.valueDistance":"Distance","Task.input.valueDosage":"Dosage","Task.input.valueDuration":"Duration","Task.input.valueExpression":"Expression","Task.input.valueHumanName":"HumanName","Task.input.valueId":"id","Task.input.valueIdentifier":"Identifier","Task.input.valueInstant":"instant","Task.input.valueInteger":"integer","Task.input.valueMarkdown":"markdown","Task.input.valueMeta":"Meta","Task.input.valueMoney":"Money","Task.input.valueOid":"oid","Task.input.valueParameterDefinition":"ParameterDefinition","Task.input.valuePeriod":"Period","Task.input.valuePositiveInt":"positiveInt","Task.input.valueQuantity":"Quantity","Task.input.valueRange":"Range","Task.input.valueRatio":"Ratio","Task.input.valueReference":"Reference","Task.input.valueRelatedArtifact":"RelatedArtifact","Task.input.valueSampledData":"SampledData","Task.input.valueSignature":"Signature","Task.input.valueString":"string","Task.input.valueTime":"time","Task.input.valueTiming":"Timing","Task.input.valueTriggerDefinition":"TriggerDefinition","Task.input.valueUnsignedInt":"unsignedInt","Task.input.valueUri":"uri","Task.input.valueUrl":"url","Task.input.valueUsageContext":"UsageContext","Task.input.valueUuid":"uuid","Task.instantiatesCanonical":"canonical","Task.instantiatesUri":"uri","Task.insurance":"Reference","Task.intent":"code","Task.language":"code","Task.lastModified":"dateTime","Task.location":"Reference","Task.meta":"Meta","Task.modifierExtension":"Extension","Task.note":"Annotation","Task.output":"BackboneElement","Task.output.extension":"Extension","Task.output.id":"System.String","Task.output.modifierExtension":"Extension","Task.output.type":"CodeableConcept","Task.output.valueAddress":"Address","Task.output.valueAge":"Age","Task.output.valueAnnotation":"Annotation","Task.output.valueAttachment":"Attachment","Task.output.valueBase64Binary":"base64Binary","Task.output.valueBoolean":"boolean","Task.output.valueCanonical":"canonical","Task.output.valueCode":"code","Task.output.valueCodeableConcept":"CodeableConcept","Task.output.valueCoding":"Coding","Task.output.valueContactDetail":"ContactDetail","Task.output.valueContactPoint":"ContactPoint","Task.output.valueContributor":"Contributor","Task.output.valueCount":"Count","Task.output.valueDataRequirement":"DataRequirement","Task.output.valueDate":"date","Task.output.valueDateTime":"dateTime","Task.output.valueDecimal":"decimal","Task.output.valueDistance":"Distance","Task.output.valueDosage":"Dosage","Task.output.valueDuration":"Duration","Task.output.valueExpression":"Expression","Task.output.valueHumanName":"HumanName","Task.output.valueId":"id","Task.output.valueIdentifier":"Identifier","Task.output.valueInstant":"instant","Task.output.valueInteger":"integer","Task.output.valueMarkdown":"markdown","Task.output.valueMeta":"Meta","Task.output.valueMoney":"Money","Task.output.valueOid":"oid","Task.output.valueParameterDefinition":"ParameterDefinition","Task.output.valuePeriod":"Period","Task.output.valuePositiveInt":"positiveInt","Task.output.valueQuantity":"Quantity","Task.output.valueRange":"Range","Task.output.valueRatio":"Ratio","Task.output.valueReference":"Reference","Task.output.valueRelatedArtifact":"RelatedArtifact","Task.output.valueSampledData":"SampledData","Task.output.valueSignature":"Signature","Task.output.valueString":"string","Task.output.valueTime":"time","Task.output.valueTiming":"Timing","Task.output.valueTriggerDefinition":"TriggerDefinition","Task.output.valueUnsignedInt":"unsignedInt","Task.output.valueUri":"uri","Task.output.valueUrl":"url","Task.output.valueUsageContext":"UsageContext","Task.output.valueUuid":"uuid","Task.owner":"Reference","Task.partOf":"Reference","Task.performerType":"CodeableConcept","Task.priority":"code","Task.reasonCode":"CodeableConcept","Task.reasonReference":"Reference","Task.relevantHistory":"Reference","Task.requester":"Reference","Task.restriction":"BackboneElement","Task.restriction.extension":"Extension","Task.restriction.id":"System.String","Task.restriction.modifierExtension":"Extension","Task.restriction.period":"Period","Task.restriction.recipient":"Reference","Task.restriction.repetitions":"positiveInt","Task.status":"code","Task.statusReason":"CodeableConcept","Task.text":"Narrative","TerminologyCapabilities.closure":"BackboneElement","TerminologyCapabilities.closure.extension":"Extension","TerminologyCapabilities.closure.id":"System.String","TerminologyCapabilities.closure.modifierExtension":"Extension","TerminologyCapabilities.closure.translation":"boolean","TerminologyCapabilities.codeSearch":"code","TerminologyCapabilities.codeSystem":"BackboneElement","TerminologyCapabilities.codeSystem.extension":"Extension","TerminologyCapabilities.codeSystem.id":"System.String","TerminologyCapabilities.codeSystem.modifierExtension":"Extension","TerminologyCapabilities.codeSystem.subsumption":"boolean","TerminologyCapabilities.codeSystem.uri":"canonical","TerminologyCapabilities.codeSystem.version":"BackboneElement","TerminologyCapabilities.codeSystem.version.code":"string","TerminologyCapabilities.codeSystem.version.compositional":"boolean","TerminologyCapabilities.codeSystem.version.extension":"Extension","TerminologyCapabilities.codeSystem.version.filter":"BackboneElement","TerminologyCapabilities.codeSystem.version.filter.code":"code","TerminologyCapabilities.codeSystem.version.filter.extension":"Extension","TerminologyCapabilities.codeSystem.version.filter.id":"System.String","TerminologyCapabilities.codeSystem.version.filter.modifierExtension":"Extension","TerminologyCapabilities.codeSystem.version.filter.op":"code","TerminologyCapabilities.codeSystem.version.id":"System.String","TerminologyCapabilities.codeSystem.version.isDefault":"boolean","TerminologyCapabilities.codeSystem.version.language":"code","TerminologyCapabilities.codeSystem.version.modifierExtension":"Extension","TerminologyCapabilities.codeSystem.version.property":"code","TerminologyCapabilities.contact":"ContactDetail","TerminologyCapabilities.contained":"Resource","TerminologyCapabilities.copyright":"markdown","TerminologyCapabilities.date":"dateTime","TerminologyCapabilities.description":"markdown","TerminologyCapabilities.expansion":"BackboneElement","TerminologyCapabilities.expansion.extension":"Extension","TerminologyCapabilities.expansion.hierarchical":"boolean","TerminologyCapabilities.expansion.id":"System.String","TerminologyCapabilities.expansion.incomplete":"boolean","TerminologyCapabilities.expansion.modifierExtension":"Extension","TerminologyCapabilities.expansion.paging":"boolean","TerminologyCapabilities.expansion.parameter":"BackboneElement","TerminologyCapabilities.expansion.parameter.documentation":"string","TerminologyCapabilities.expansion.parameter.extension":"Extension","TerminologyCapabilities.expansion.parameter.id":"System.String","TerminologyCapabilities.expansion.parameter.modifierExtension":"Extension","TerminologyCapabilities.expansion.parameter.name":"code","TerminologyCapabilities.expansion.textFilter":"markdown","TerminologyCapabilities.experimental":"boolean","TerminologyCapabilities.extension":"Extension","TerminologyCapabilities.id":"System.String","TerminologyCapabilities.implementation":"BackboneElement","TerminologyCapabilities.implementation.description":"string","TerminologyCapabilities.implementation.extension":"Extension","TerminologyCapabilities.implementation.id":"System.String","TerminologyCapabilities.implementation.modifierExtension":"Extension","TerminologyCapabilities.implementation.url":"url","TerminologyCapabilities.implicitRules":"uri","TerminologyCapabilities.jurisdiction":"CodeableConcept","TerminologyCapabilities.kind":"code","TerminologyCapabilities.language":"code","TerminologyCapabilities.lockedDate":"boolean","TerminologyCapabilities.meta":"Meta","TerminologyCapabilities.modifierExtension":"Extension","TerminologyCapabilities.name":"string","TerminologyCapabilities.publisher":"string","TerminologyCapabilities.purpose":"markdown","TerminologyCapabilities.software":"BackboneElement","TerminologyCapabilities.software.extension":"Extension","TerminologyCapabilities.software.id":"System.String","TerminologyCapabilities.software.modifierExtension":"Extension","TerminologyCapabilities.software.name":"string","TerminologyCapabilities.software.version":"string","TerminologyCapabilities.status":"code","TerminologyCapabilities.text":"Narrative","TerminologyCapabilities.title":"string","TerminologyCapabilities.translation":"BackboneElement","TerminologyCapabilities.translation.extension":"Extension","TerminologyCapabilities.translation.id":"System.String","TerminologyCapabilities.translation.modifierExtension":"Extension","TerminologyCapabilities.translation.needsMap":"boolean","TerminologyCapabilities.url":"uri","TerminologyCapabilities.useContext":"UsageContext","TerminologyCapabilities.validateCode":"BackboneElement","TerminologyCapabilities.validateCode.extension":"Extension","TerminologyCapabilities.validateCode.id":"System.String","TerminologyCapabilities.validateCode.modifierExtension":"Extension","TerminologyCapabilities.validateCode.translations":"boolean","TerminologyCapabilities.version":"string","TestReport.contained":"Resource","TestReport.extension":"Extension","TestReport.id":"System.String","TestReport.identifier":"Identifier","TestReport.implicitRules":"uri","TestReport.issued":"dateTime","TestReport.language":"code","TestReport.meta":"Meta","TestReport.modifierExtension":"Extension","TestReport.name":"string","TestReport.participant":"BackboneElement","TestReport.participant.display":"string","TestReport.participant.extension":"Extension","TestReport.participant.id":"System.String","TestReport.participant.modifierExtension":"Extension","TestReport.participant.type":"code","TestReport.participant.uri":"uri","TestReport.result":"code","TestReport.score":"decimal","TestReport.setup":"BackboneElement","TestReport.setup.action":"BackboneElement","TestReport.setup.action.assert":"BackboneElement","TestReport.setup.action.assert.detail":"string","TestReport.setup.action.assert.extension":"Extension","TestReport.setup.action.assert.id":"System.String","TestReport.setup.action.assert.message":"markdown","TestReport.setup.action.assert.modifierExtension":"Extension","TestReport.setup.action.assert.result":"code","TestReport.setup.action.extension":"Extension","TestReport.setup.action.id":"System.String","TestReport.setup.action.modifierExtension":"Extension","TestReport.setup.action.operation":"BackboneElement","TestReport.setup.action.operation.detail":"uri","TestReport.setup.action.operation.extension":"Extension","TestReport.setup.action.operation.id":"System.String","TestReport.setup.action.operation.message":"markdown","TestReport.setup.action.operation.modifierExtension":"Extension","TestReport.setup.action.operation.result":"code","TestReport.setup.extension":"Extension","TestReport.setup.id":"System.String","TestReport.setup.modifierExtension":"Extension","TestReport.status":"code","TestReport.teardown":"BackboneElement","TestReport.teardown.action":"BackboneElement","TestReport.teardown.action.extension":"Extension","TestReport.teardown.action.id":"System.String","TestReport.teardown.action.modifierExtension":"Extension","TestReport.teardown.extension":"Extension","TestReport.teardown.id":"System.String","TestReport.teardown.modifierExtension":"Extension","TestReport.test":"BackboneElement","TestReport.test.action":"BackboneElement","TestReport.test.action.extension":"Extension","TestReport.test.action.id":"System.String","TestReport.test.action.modifierExtension":"Extension","TestReport.test.description":"string","TestReport.test.extension":"Extension","TestReport.test.id":"System.String","TestReport.test.modifierExtension":"Extension","TestReport.test.name":"string","TestReport.testScript":"Reference","TestReport.tester":"string","TestReport.text":"Narrative","TestScript.contact":"ContactDetail","TestScript.contained":"Resource","TestScript.copyright":"markdown","TestScript.date":"dateTime","TestScript.description":"markdown","TestScript.destination":"BackboneElement","TestScript.destination.extension":"Extension","TestScript.destination.id":"System.String","TestScript.destination.index":"integer","TestScript.destination.modifierExtension":"Extension","TestScript.destination.profile":"Coding","TestScript.experimental":"boolean","TestScript.extension":"Extension","TestScript.fixture":"BackboneElement","TestScript.fixture.autocreate":"boolean","TestScript.fixture.autodelete":"boolean","TestScript.fixture.extension":"Extension","TestScript.fixture.id":"System.String","TestScript.fixture.modifierExtension":"Extension","TestScript.fixture.resource":"Reference","TestScript.id":"System.String","TestScript.identifier":"Identifier","TestScript.implicitRules":"uri","TestScript.jurisdiction":"CodeableConcept","TestScript.language":"code","TestScript.meta":"Meta","TestScript.metadata":"BackboneElement","TestScript.metadata.capability":"BackboneElement","TestScript.metadata.capability.capabilities":"canonical","TestScript.metadata.capability.description":"string","TestScript.metadata.capability.destination":"integer","TestScript.metadata.capability.extension":"Extension","TestScript.metadata.capability.id":"System.String","TestScript.metadata.capability.link":"uri","TestScript.metadata.capability.modifierExtension":"Extension","TestScript.metadata.capability.origin":"integer","TestScript.metadata.capability.required":"boolean","TestScript.metadata.capability.validated":"boolean","TestScript.metadata.extension":"Extension","TestScript.metadata.id":"System.String","TestScript.metadata.link":"BackboneElement","TestScript.metadata.link.description":"string","TestScript.metadata.link.extension":"Extension","TestScript.metadata.link.id":"System.String","TestScript.metadata.link.modifierExtension":"Extension","TestScript.metadata.link.url":"uri","TestScript.metadata.modifierExtension":"Extension","TestScript.modifierExtension":"Extension","TestScript.name":"string","TestScript.origin":"BackboneElement","TestScript.origin.extension":"Extension","TestScript.origin.id":"System.String","TestScript.origin.index":"integer","TestScript.origin.modifierExtension":"Extension","TestScript.origin.profile":"Coding","TestScript.profile":"Reference","TestScript.publisher":"string","TestScript.purpose":"markdown","TestScript.setup":"BackboneElement","TestScript.setup.action":"BackboneElement","TestScript.setup.action.assert":"BackboneElement","TestScript.setup.action.assert.compareToSourceExpression":"string","TestScript.setup.action.assert.compareToSourceId":"string","TestScript.setup.action.assert.compareToSourcePath":"string","TestScript.setup.action.assert.contentType":"code","TestScript.setup.action.assert.description":"string","TestScript.setup.action.assert.direction":"code","TestScript.setup.action.assert.expression":"string","TestScript.setup.action.assert.extension":"Extension","TestScript.setup.action.assert.headerField":"string","TestScript.setup.action.assert.id":"System.String","TestScript.setup.action.assert.label":"string","TestScript.setup.action.assert.minimumId":"string","TestScript.setup.action.assert.modifierExtension":"Extension","TestScript.setup.action.assert.navigationLinks":"boolean","TestScript.setup.action.assert.operator":"code","TestScript.setup.action.assert.path":"string","TestScript.setup.action.assert.requestMethod":"code","TestScript.setup.action.assert.requestURL":"string","TestScript.setup.action.assert.resource":"code","TestScript.setup.action.assert.response":"code","TestScript.setup.action.assert.responseCode":"string","TestScript.setup.action.assert.sourceId":"id","TestScript.setup.action.assert.validateProfileId":"id","TestScript.setup.action.assert.value":"string","TestScript.setup.action.assert.warningOnly":"boolean","TestScript.setup.action.extension":"Extension","TestScript.setup.action.id":"System.String","TestScript.setup.action.modifierExtension":"Extension","TestScript.setup.action.operation":"BackboneElement","TestScript.setup.action.operation.accept":"code","TestScript.setup.action.operation.contentType":"code","TestScript.setup.action.operation.description":"string","TestScript.setup.action.operation.destination":"integer","TestScript.setup.action.operation.encodeRequestUrl":"boolean","TestScript.setup.action.operation.extension":"Extension","TestScript.setup.action.operation.id":"System.String","TestScript.setup.action.operation.label":"string","TestScript.setup.action.operation.method":"code","TestScript.setup.action.operation.modifierExtension":"Extension","TestScript.setup.action.operation.origin":"integer","TestScript.setup.action.operation.params":"string","TestScript.setup.action.operation.requestHeader":"BackboneElement","TestScript.setup.action.operation.requestHeader.extension":"Extension","TestScript.setup.action.operation.requestHeader.field":"string","TestScript.setup.action.operation.requestHeader.id":"System.String","TestScript.setup.action.operation.requestHeader.modifierExtension":"Extension","TestScript.setup.action.operation.requestHeader.value":"string","TestScript.setup.action.operation.requestId":"id","TestScript.setup.action.operation.resource":"code","TestScript.setup.action.operation.responseId":"id","TestScript.setup.action.operation.sourceId":"id","TestScript.setup.action.operation.targetId":"id","TestScript.setup.action.operation.type":"Coding","TestScript.setup.action.operation.url":"string","TestScript.setup.extension":"Extension","TestScript.setup.id":"System.String","TestScript.setup.modifierExtension":"Extension","TestScript.status":"code","TestScript.teardown":"BackboneElement","TestScript.teardown.action":"BackboneElement","TestScript.teardown.action.extension":"Extension","TestScript.teardown.action.id":"System.String","TestScript.teardown.action.modifierExtension":"Extension","TestScript.teardown.extension":"Extension","TestScript.teardown.id":"System.String","TestScript.teardown.modifierExtension":"Extension","TestScript.test":"BackboneElement","TestScript.test.action":"BackboneElement","TestScript.test.action.extension":"Extension","TestScript.test.action.id":"System.String","TestScript.test.action.modifierExtension":"Extension","TestScript.test.description":"string","TestScript.test.extension":"Extension","TestScript.test.id":"System.String","TestScript.test.modifierExtension":"Extension","TestScript.test.name":"string","TestScript.text":"Narrative","TestScript.title":"string","TestScript.url":"uri","TestScript.useContext":"UsageContext","TestScript.variable":"BackboneElement","TestScript.variable.defaultValue":"string","TestScript.variable.description":"string","TestScript.variable.expression":"string","TestScript.variable.extension":"Extension","TestScript.variable.headerField":"string","TestScript.variable.hint":"string","TestScript.variable.id":"System.String","TestScript.variable.modifierExtension":"Extension","TestScript.variable.name":"string","TestScript.variable.path":"string","TestScript.variable.sourceId":"id","TestScript.version":"string","Timing.code":"CodeableConcept","Timing.event":"dateTime","Timing.extension":"Extension","Timing.id":"System.String","Timing.modifierExtension":"Extension","Timing.repeat.boundsDuration":"Duration","Timing.repeat.boundsPeriod":"Period","Timing.repeat.boundsRange":"Range","Timing.repeat.count":"positiveInt","Timing.repeat.countMax":"positiveInt","Timing.repeat.dayOfWeek":"code","Timing.repeat.duration":"decimal","Timing.repeat.durationMax":"decimal","Timing.repeat.durationUnit":"code","Timing.repeat.extension":"Extension","Timing.repeat.frequency":"positiveInt","Timing.repeat.frequencyMax":"positiveInt","Timing.repeat.id":"System.String","Timing.repeat.offset":"unsignedInt","Timing.repeat.period":"decimal","Timing.repeat.periodMax":"decimal","Timing.repeat.periodUnit":"code","Timing.repeat.timeOfDay":"time","Timing.repeat.when":"code","TriggerDefinition.condition":"Expression","TriggerDefinition.data":"DataRequirement","TriggerDefinition.extension":"Extension","TriggerDefinition.id":"System.String","TriggerDefinition.name":"string","TriggerDefinition.timingDate":"date","TriggerDefinition.timingDateTime":"dateTime","TriggerDefinition.timingReference":"Reference","TriggerDefinition.timingTiming":"Timing","TriggerDefinition.type":"code","UsageContext.code":"Coding","UsageContext.extension":"Extension","UsageContext.id":"System.String","UsageContext.valueCodeableConcept":"CodeableConcept","UsageContext.valueQuantity":"Quantity","UsageContext.valueRange":"Range","UsageContext.valueReference":"Reference","ValueSet.compose":"BackboneElement","ValueSet.compose.extension":"Extension","ValueSet.compose.id":"System.String","ValueSet.compose.inactive":"boolean","ValueSet.compose.include":"BackboneElement","ValueSet.compose.include.concept":"BackboneElement","ValueSet.compose.include.concept.code":"code","ValueSet.compose.include.concept.designation":"BackboneElement","ValueSet.compose.include.concept.designation.extension":"Extension","ValueSet.compose.include.concept.designation.id":"System.String","ValueSet.compose.include.concept.designation.language":"code","ValueSet.compose.include.concept.designation.modifierExtension":"Extension","ValueSet.compose.include.concept.designation.use":"Coding","ValueSet.compose.include.concept.designation.value":"string","ValueSet.compose.include.concept.display":"string","ValueSet.compose.include.concept.extension":"Extension","ValueSet.compose.include.concept.id":"System.String","ValueSet.compose.include.concept.modifierExtension":"Extension","ValueSet.compose.include.extension":"Extension","ValueSet.compose.include.filter":"BackboneElement","ValueSet.compose.include.filter.extension":"Extension","ValueSet.compose.include.filter.id":"System.String","ValueSet.compose.include.filter.modifierExtension":"Extension","ValueSet.compose.include.filter.op":"code","ValueSet.compose.include.filter.property":"code","ValueSet.compose.include.filter.value":"string","ValueSet.compose.include.id":"System.String","ValueSet.compose.include.modifierExtension":"Extension","ValueSet.compose.include.system":"uri","ValueSet.compose.include.valueSet":"canonical","ValueSet.compose.include.version":"string","ValueSet.compose.lockedDate":"date","ValueSet.compose.modifierExtension":"Extension","ValueSet.contact":"ContactDetail","ValueSet.contained":"Resource","ValueSet.copyright":"markdown","ValueSet.date":"dateTime","ValueSet.description":"markdown","ValueSet.expansion":"BackboneElement","ValueSet.expansion.contains":"BackboneElement","ValueSet.expansion.contains.abstract":"boolean","ValueSet.expansion.contains.code":"code","ValueSet.expansion.contains.display":"string","ValueSet.expansion.contains.extension":"Extension","ValueSet.expansion.contains.id":"System.String","ValueSet.expansion.contains.inactive":"boolean","ValueSet.expansion.contains.modifierExtension":"Extension","ValueSet.expansion.contains.system":"uri","ValueSet.expansion.contains.version":"string","ValueSet.expansion.extension":"Extension","ValueSet.expansion.id":"System.String","ValueSet.expansion.identifier":"uri","ValueSet.expansion.modifierExtension":"Extension","ValueSet.expansion.offset":"integer","ValueSet.expansion.parameter":"BackboneElement","ValueSet.expansion.parameter.extension":"Extension","ValueSet.expansion.parameter.id":"System.String","ValueSet.expansion.parameter.modifierExtension":"Extension","ValueSet.expansion.parameter.name":"string","ValueSet.expansion.parameter.valueBoolean":"boolean","ValueSet.expansion.parameter.valueCode":"code","ValueSet.expansion.parameter.valueDateTime":"dateTime","ValueSet.expansion.parameter.valueDecimal":"decimal","ValueSet.expansion.parameter.valueInteger":"integer","ValueSet.expansion.parameter.valueString":"string","ValueSet.expansion.parameter.valueUri":"uri","ValueSet.expansion.timestamp":"dateTime","ValueSet.expansion.total":"integer","ValueSet.experimental":"boolean","ValueSet.extension":"Extension","ValueSet.id":"System.String","ValueSet.identifier":"Identifier","ValueSet.immutable":"boolean","ValueSet.implicitRules":"uri","ValueSet.jurisdiction":"CodeableConcept","ValueSet.language":"code","ValueSet.meta":"Meta","ValueSet.modifierExtension":"Extension","ValueSet.name":"string","ValueSet.publisher":"string","ValueSet.purpose":"markdown","ValueSet.status":"code","ValueSet.text":"Narrative","ValueSet.title":"string","ValueSet.url":"uri","ValueSet.useContext":"UsageContext","ValueSet.version":"string","VerificationResult.attestation":"BackboneElement","VerificationResult.attestation.communicationMethod":"CodeableConcept","VerificationResult.attestation.date":"date","VerificationResult.attestation.extension":"Extension","VerificationResult.attestation.id":"System.String","VerificationResult.attestation.modifierExtension":"Extension","VerificationResult.attestation.onBehalfOf":"Reference","VerificationResult.attestation.proxyIdentityCertificate":"string","VerificationResult.attestation.proxySignature":"Signature","VerificationResult.attestation.sourceIdentityCertificate":"string","VerificationResult.attestation.sourceSignature":"Signature","VerificationResult.attestation.who":"Reference","VerificationResult.contained":"Resource","VerificationResult.extension":"Extension","VerificationResult.failureAction":"CodeableConcept","VerificationResult.frequency":"Timing","VerificationResult.id":"System.String","VerificationResult.implicitRules":"uri","VerificationResult.language":"code","VerificationResult.lastPerformed":"dateTime","VerificationResult.meta":"Meta","VerificationResult.modifierExtension":"Extension","VerificationResult.need":"CodeableConcept","VerificationResult.nextScheduled":"date","VerificationResult.primarySource":"BackboneElement","VerificationResult.primarySource.canPushUpdates":"CodeableConcept","VerificationResult.primarySource.communicationMethod":"CodeableConcept","VerificationResult.primarySource.extension":"Extension","VerificationResult.primarySource.id":"System.String","VerificationResult.primarySource.modifierExtension":"Extension","VerificationResult.primarySource.pushTypeAvailable":"CodeableConcept","VerificationResult.primarySource.type":"CodeableConcept","VerificationResult.primarySource.validationDate":"dateTime","VerificationResult.primarySource.validationStatus":"CodeableConcept","VerificationResult.primarySource.who":"Reference","VerificationResult.status":"code","VerificationResult.statusDate":"dateTime","VerificationResult.target":"Reference","VerificationResult.targetLocation":"string","VerificationResult.text":"Narrative","VerificationResult.validationProcess":"CodeableConcept","VerificationResult.validationType":"CodeableConcept","VerificationResult.validator":"BackboneElement","VerificationResult.validator.attestationSignature":"Signature","VerificationResult.validator.extension":"Extension","VerificationResult.validator.id":"System.String","VerificationResult.validator.identityCertificate":"string","VerificationResult.validator.modifierExtension":"Extension","VerificationResult.validator.organization":"Reference","VisionPrescription.contained":"Resource","VisionPrescription.created":"dateTime","VisionPrescription.dateWritten":"dateTime","VisionPrescription.encounter":"Reference","VisionPrescription.extension":"Extension","VisionPrescription.id":"System.String","VisionPrescription.identifier":"Identifier","VisionPrescription.implicitRules":"uri","VisionPrescription.language":"code","VisionPrescription.lensSpecification":"BackboneElement","VisionPrescription.lensSpecification.add":"decimal","VisionPrescription.lensSpecification.axis":"integer","VisionPrescription.lensSpecification.backCurve":"decimal","VisionPrescription.lensSpecification.brand":"string","VisionPrescription.lensSpecification.color":"string","VisionPrescription.lensSpecification.cylinder":"decimal","VisionPrescription.lensSpecification.diameter":"decimal","VisionPrescription.lensSpecification.duration":"Quantity","VisionPrescription.lensSpecification.extension":"Extension","VisionPrescription.lensSpecification.eye":"code","VisionPrescription.lensSpecification.id":"System.String","VisionPrescription.lensSpecification.modifierExtension":"Extension","VisionPrescription.lensSpecification.note":"Annotation","VisionPrescription.lensSpecification.power":"decimal","VisionPrescription.lensSpecification.prism":"BackboneElement","VisionPrescription.lensSpecification.prism.amount":"decimal","VisionPrescription.lensSpecification.prism.base":"code","VisionPrescription.lensSpecification.prism.extension":"Extension","VisionPrescription.lensSpecification.prism.id":"System.String","VisionPrescription.lensSpecification.prism.modifierExtension":"Extension","VisionPrescription.lensSpecification.product":"CodeableConcept","VisionPrescription.lensSpecification.sphere":"decimal","VisionPrescription.meta":"Meta","VisionPrescription.modifierExtension":"Extension","VisionPrescription.patient":"Reference","VisionPrescription.prescriber":"Reference","VisionPrescription.status":"code","VisionPrescription.text":"Narrative"}')},151:function(e){"use strict";e.exports=JSON.parse('{"Bundle.entry.link":"Bundle.link","CapabilityStatement.rest.operation":"CapabilityStatement.rest.resource.operation","CapabilityStatement.rest.searchParam":"CapabilityStatement.rest.resource.searchParam","ChargeItemDefinition.propertyGroup.applicability":"ChargeItemDefinition.applicability","ClaimResponse.addItem.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.addItem.detail.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.addItem.detail.subDetail.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.item.detail.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.item.detail.subDetail.adjudication":"ClaimResponse.item.adjudication","CodeSystem.concept.concept":"CodeSystem.concept","Composition.section.section":"Composition.section","ConceptMap.group.element.target.product":"ConceptMap.group.element.target.dependsOn","Consent.provision.provision":"Consent.provision","Contract.term.asset.answer":"Contract.term.offer.answer","Contract.term.group":"Contract.term","ExampleScenario.process.step.alternative.step":"ExampleScenario.process.step","ExampleScenario.process.step.operation.request":"ExampleScenario.instance.containedInstance","ExampleScenario.process.step.operation.response":"ExampleScenario.instance.containedInstance","ExampleScenario.process.step.process":"ExampleScenario.process","ExplanationOfBenefit.addItem.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.addItem.detail.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.addItem.detail.subDetail.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.item.detail.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.item.detail.subDetail.adjudication":"ExplanationOfBenefit.item.adjudication","GraphDefinition.link.target.link":"GraphDefinition.link","ImplementationGuide.definition.page.page":"ImplementationGuide.definition.page","Invoice.totalPriceComponent":"Invoice.lineItem.priceComponent","MedicinalProductAuthorization.procedure.application":"MedicinalProductAuthorization.procedure","MedicinalProductIngredient.substance.strength":"MedicinalProductIngredient.specifiedSubstance.strength","MedicinalProductPackaged.packageItem.packageItem":"MedicinalProductPackaged.packageItem","Observation.component.referenceRange":"Observation.referenceRange","OperationDefinition.parameter.part":"OperationDefinition.parameter","Parameters.parameter.part":"Parameters.parameter","PlanDefinition.action.action":"PlanDefinition.action","Provenance.entity.agent":"Provenance.agent","Questionnaire.item.item":"Questionnaire.item","QuestionnaireResponse.item.answer.item":"QuestionnaireResponse.item","QuestionnaireResponse.item.item":"QuestionnaireResponse.item","RequestGroup.action.action":"RequestGroup.action","StructureMap.group.rule.rule":"StructureMap.group.rule","SubstanceSpecification.molecularWeight":"SubstanceSpecification.structure.isotope.molecularWeight","SubstanceSpecification.name.synonym":"SubstanceSpecification.name","SubstanceSpecification.name.translation":"SubstanceSpecification.name","SubstanceSpecification.structure.molecularWeight":"SubstanceSpecification.structure.isotope.molecularWeight","TestReport.teardown.action.operation":"TestReport.setup.action.operation","TestReport.test.action.assert":"TestReport.setup.action.assert","TestReport.test.action.operation":"TestReport.setup.action.operation","TestScript.teardown.action.operation":"TestScript.setup.action.operation","TestScript.test.action.assert":"TestScript.setup.action.assert","TestScript.test.action.operation":"TestScript.setup.action.operation","ValueSet.compose.exclude":"ValueSet.compose.include","ValueSet.expansion.contains.contains":"ValueSet.expansion.contains","ValueSet.expansion.contains.designation":"ValueSet.compose.include.concept.designation"}')},905:function(e){"use strict";e.exports=JSON.parse('{"Account":"DomainResource","ActivityDefinition":"DomainResource","Address":"Element","AdverseEvent":"DomainResource","Age":"Quantity","AllergyIntolerance":"DomainResource","Annotation":"Element","Appointment":"DomainResource","AppointmentResponse":"DomainResource","Attachment":"Element","AuditEvent":"DomainResource","BackboneElement":"Element","Basic":"DomainResource","Binary":"Resource","BiologicallyDerivedProduct":"DomainResource","BodyStructure":"DomainResource","Bundle":"Resource","CapabilityStatement":"DomainResource","CarePlan":"DomainResource","CareTeam":"DomainResource","CatalogEntry":"DomainResource","ChargeItem":"DomainResource","ChargeItemDefinition":"DomainResource","Claim":"DomainResource","ClaimResponse":"DomainResource","ClinicalImpression":"DomainResource","CodeSystem":"DomainResource","CodeableConcept":"Element","Coding":"Element","Communication":"DomainResource","CommunicationRequest":"DomainResource","CompartmentDefinition":"DomainResource","Composition":"DomainResource","ConceptMap":"DomainResource","Condition":"DomainResource","Consent":"DomainResource","ContactDetail":"Element","ContactPoint":"Element","Contract":"DomainResource","Contributor":"Element","Count":"Quantity","Coverage":"DomainResource","CoverageEligibilityRequest":"DomainResource","CoverageEligibilityResponse":"DomainResource","DataRequirement":"Element","DetectedIssue":"DomainResource","Device":"DomainResource","DeviceDefinition":"DomainResource","DeviceMetric":"DomainResource","DeviceRequest":"DomainResource","DeviceUseStatement":"DomainResource","DiagnosticReport":"DomainResource","Distance":"Quantity","DocumentManifest":"DomainResource","DocumentReference":"DomainResource","DomainResource":"Resource","Dosage":"BackboneElement","Duration":"Quantity","EffectEvidenceSynthesis":"DomainResource","ElementDefinition":"BackboneElement","Encounter":"DomainResource","Endpoint":"DomainResource","EnrollmentRequest":"DomainResource","EnrollmentResponse":"DomainResource","EpisodeOfCare":"DomainResource","EventDefinition":"DomainResource","Evidence":"DomainResource","EvidenceVariable":"DomainResource","ExampleScenario":"DomainResource","ExplanationOfBenefit":"DomainResource","Expression":"Element","Extension":"Element","FamilyMemberHistory":"DomainResource","Flag":"DomainResource","Goal":"DomainResource","GraphDefinition":"DomainResource","Group":"DomainResource","GuidanceResponse":"DomainResource","HealthcareService":"DomainResource","HumanName":"Element","Identifier":"Element","ImagingStudy":"DomainResource","Immunization":"DomainResource","ImmunizationEvaluation":"DomainResource","ImmunizationRecommendation":"DomainResource","ImplementationGuide":"DomainResource","InsurancePlan":"DomainResource","Invoice":"DomainResource","Library":"DomainResource","Linkage":"DomainResource","List":"DomainResource","Location":"DomainResource","MarketingStatus":"BackboneElement","Measure":"DomainResource","MeasureReport":"DomainResource","Media":"DomainResource","Medication":"DomainResource","MedicationAdministration":"DomainResource","MedicationDispense":"DomainResource","MedicationKnowledge":"DomainResource","MedicationRequest":"DomainResource","MedicationStatement":"DomainResource","MedicinalProduct":"DomainResource","MedicinalProductAuthorization":"DomainResource","MedicinalProductContraindication":"DomainResource","MedicinalProductIndication":"DomainResource","MedicinalProductIngredient":"DomainResource","MedicinalProductInteraction":"DomainResource","MedicinalProductManufactured":"DomainResource","MedicinalProductPackaged":"DomainResource","MedicinalProductPharmaceutical":"DomainResource","MedicinalProductUndesirableEffect":"DomainResource","MessageDefinition":"DomainResource","MessageHeader":"DomainResource","Meta":"Element","MolecularSequence":"DomainResource","Money":"Element","MoneyQuantity":"Quantity","NamingSystem":"DomainResource","Narrative":"Element","NutritionOrder":"DomainResource","Observation":"DomainResource","ObservationDefinition":"DomainResource","OperationDefinition":"DomainResource","OperationOutcome":"DomainResource","Organization":"DomainResource","OrganizationAffiliation":"DomainResource","ParameterDefinition":"Element","Parameters":"Resource","Patient":"DomainResource","PaymentNotice":"DomainResource","PaymentReconciliation":"DomainResource","Period":"Element","Person":"DomainResource","PlanDefinition":"DomainResource","Population":"BackboneElement","Practitioner":"DomainResource","PractitionerRole":"DomainResource","Procedure":"DomainResource","ProdCharacteristic":"BackboneElement","ProductShelfLife":"BackboneElement","Provenance":"DomainResource","Quantity":"Element","Questionnaire":"DomainResource","QuestionnaireResponse":"DomainResource","Range":"Element","Ratio":"Element","Reference":"Element","RelatedArtifact":"Element","RelatedPerson":"DomainResource","RequestGroup":"DomainResource","ResearchDefinition":"DomainResource","ResearchElementDefinition":"DomainResource","ResearchStudy":"DomainResource","ResearchSubject":"DomainResource","RiskAssessment":"DomainResource","RiskEvidenceSynthesis":"DomainResource","SampledData":"Element","Schedule":"DomainResource","SearchParameter":"DomainResource","ServiceRequest":"DomainResource","Signature":"Element","SimpleQuantity":"Quantity","Slot":"DomainResource","Specimen":"DomainResource","SpecimenDefinition":"DomainResource","StructureDefinition":"DomainResource","StructureMap":"DomainResource","Subscription":"DomainResource","Substance":"DomainResource","SubstanceAmount":"BackboneElement","SubstanceNucleicAcid":"DomainResource","SubstancePolymer":"DomainResource","SubstanceProtein":"DomainResource","SubstanceReferenceInformation":"DomainResource","SubstanceSourceMaterial":"DomainResource","SubstanceSpecification":"DomainResource","SupplyDelivery":"DomainResource","SupplyRequest":"DomainResource","Task":"DomainResource","TerminologyCapabilities":"DomainResource","TestReport":"DomainResource","TestScript":"DomainResource","Timing":"BackboneElement","TriggerDefinition":"Element","UsageContext":"Element","ValueSet":"DomainResource","VerificationResult":"DomainResource","VisionPrescription":"DomainResource","base64Binary":"Element","boolean":"Element","canonical":"uri","code":"string","date":"Element","dateTime":"Element","decimal":"Element","id":"string","instant":"Element","integer":"Element","markdown":"string","oid":"uri","positiveInt":"integer","string":"Element","time":"Element","unsignedInt":"integer","uri":"Element","url":"uri","uuid":"uri","xhtml":"Element"}')}},t={},n=function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}(9),window.fhirpath_r4_model=n},2783:function(e,t,n){!function(e){"use strict";e.registerHelper("lint","yaml",(function(t){var n=[];if(!window.jsyaml)return window.console&&window.console.error("Error: window.jsyaml not defined, CodeMirror YAML linting cannot run."),n;try{jsyaml.loadAll(t)}catch(t){var i=t.mark,r=i?e.Pos(i.line,i.column):e.Pos(0,0),o=r;n.push({from:r,to:o,message:t.message})}return n}))}(n(4631))},4631:function(e){e.exports=function(){"use strict";var e=navigator.userAgent,t=navigator.platform,n=/gecko\/\d/i.test(e),i=/MSIE \d/.test(e),r=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),a=i||r||o,s=a&&(i?document.documentMode||6:+(o||r)[1]),l=!o&&/WebKit\//.test(e),u=l&&/Qt\/\d+\.\d+/.test(e),c=!o&&/Chrome\//.test(e),f=/Opera\//.test(e),d=/Apple Computer/.test(navigator.vendor),m=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),p=/PhantomJS/.test(e),h=d&&(/Mobile\/\w+/.test(e)||navigator.maxTouchPoints>2),g=/Android/.test(e),y=h||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),v=h||/Mac/.test(t),C=/\bCrOS\b/.test(e),b=/win/i.test(t),x=f&&e.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(f=!1,l=!0);var E=v&&(u||f&&(null==x||x<12.11)),S=n||a&&s>=9;function D(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var A,R=function(e,t){var n=e.className,i=D(t).exec(n);if(i){var r=n.slice(i.index+i[0].length);e.className=n.slice(0,i.index)+(r?i[1]+r:"")}};function k(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function M(e,t){return k(e).appendChild(t)}function T(e,t,n,i){var r=document.createElement(e);if(n&&(r.className=n),i&&(r.style.cssText=i),"string"==typeof t)r.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}h?L=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(L=function(e){try{e.select()}catch(e){}});var F=function(){this.id=null,this.f=null,this.time=0,this.handler=N(this.onTimeout,this)};function q(e,t){for(var n=0;n=t)return i+Math.min(a,t-r);if(r+=o-i,i=o+1,(r+=n-r%n)>=t)return i}}var K=[""];function Q(e){for(;K.length<=e;)K.push(J(K)+" ");return K[e]}function J(e){return e[e.length-1]}function X(e,t){for(var n=[],i=0;i"€"&&(e.toUpperCase()!=e.toLowerCase()||Z.test(e))}function te(e,t){return t?!!(t.source.indexOf("\\w")>-1&&ee(e))||t.test(e):ee(e)}function ne(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ie=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function re(e){return e.charCodeAt(0)>=768&&ie.test(e)}function oe(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var r=(t+n)/2,o=i<0?Math.ceil(r):Math.floor(r);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+i}}var se=null;function le(e,t,n){var i;se=null;for(var r=0;rt)return r;o.to==t&&(o.from!=o.to&&"before"==n?i=r:se=r),o.from==t&&(o.from!=o.to&&"before"!=n?i=r:se=r)}return null!=i?i:se}var ue=function(){var e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,t=/[stwN]/,n=/[LRr]/,i=/[Lb1n]/,r=/[1n]/;function o(e,t,n){this.level=e,this.from=t,this.to=n}return function(a,s){var l,u="ltr"==s?"L":"R";if(0==a.length||"ltr"==s&&!e.test(a))return!1;for(var c=a.length,f=[],d=0;d-1&&(i[t]=r.slice(0,o).concat(r.slice(o+1)))}}}function he(e,t){var n=me(e,t);if(n.length)for(var i=Array.prototype.slice.call(arguments,2),r=0;r0}function Ce(e){e.prototype.on=function(e,t){de(this,e,t)},e.prototype.off=function(e,t){pe(this,e,t)}}function be(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function xe(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ee(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Se(e){be(e),xe(e)}function De(e){return e.target||e.srcElement}function Ae(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),v&&e.ctrlKey&&1==t&&(t=3),t}var Re,ke,Me=function(){if(a&&s<9)return!1;var e=T("div");return"draggable"in e||"dragDrop"in e}();function Te(e){if(null==Re){var t=T("span","​");M(e,T("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Re=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=Re?T("span","​"):T("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function we(e){if(null!=ke)return ke;var t=M(e,document.createTextNode("AخA")),n=A(t,0,1).getBoundingClientRect(),i=A(t,1,2).getBoundingClientRect();return k(e),!(!n||n.left==n.right)&&(ke=i.right-n.right<3)}var Ie,Pe=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],i=e.length;t<=i;){var r=e.indexOf("\n",t);-1==r&&(r=e.length);var o=e.slice(t,"\r"==e.charAt(r-1)?r-1:r),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=r+1)}return n}:function(e){return e.split(/\r\n?|\n/)},Oe=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},_e="oncopy"in(Ie=T("div"))||(Ie.setAttribute("oncopy","return;"),"function"==typeof Ie.oncopy),Le=null;var Ne={},Be={};function Ue(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Ne[e]=t}function Fe(e){if("string"==typeof e&&Be.hasOwnProperty(e))e=Be[e];else if(e&&"string"==typeof e.name&&Be.hasOwnProperty(e.name)){var t=Be[e.name];"string"==typeof t&&(t={name:t}),(e=$(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Fe("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Fe("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function qe(e,t){t=Fe(t);var n=Ne[t.name];if(!n)return qe(e,"text/plain");var i=n(e,t);if(ze.hasOwnProperty(t.name)){var r=ze[t.name];for(var o in r)r.hasOwnProperty(o)&&(i.hasOwnProperty(o)&&(i["_"+o]=i[o]),i[o]=r[o])}if(i.name=t.name,t.helperType&&(i.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)i[a]=t.modeProps[a];return i}var ze={};function je(e,t){B(t,ze.hasOwnProperty(e)?ze[e]:ze[e]={})}function He(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var i in t){var r=t[i];r instanceof Array&&(r=r.concat([])),n[i]=r}return n}function Ve(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Ge(e,t,n){return!e.startState||e.startState(t,n)}var We=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Ke(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var i=0;;++i){var r=n.children[i],o=r.chunkSize();if(t=e.first&&tn?tt(n,Ke(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?tt(e.line,t):n<0?tt(e.line,0):e}(t,Ke(e,t.line).text.length)}function ut(e,t){for(var n=[],i=0;i=this.string.length},We.prototype.sol=function(){return this.pos==this.lineStart},We.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},We.prototype.next=function(){if(this.post},We.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},We.prototype.skipToEnd=function(){this.pos=this.string.length},We.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},We.prototype.backUp=function(e){this.pos-=e},We.prototype.column=function(){return this.lastColumnPos0?null:(i&&!1!==t&&(this.pos+=i[0].length),i)}var r=function(e){return n?e.toLowerCase():e};if(r(this.string.substr(this.pos,e.length))==r(e))return!1!==t&&(this.pos+=e.length),!0},We.prototype.current=function(){return this.string.slice(this.start,this.pos)},We.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},We.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},We.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ct=function(e,t){this.state=e,this.lookAhead=t},ft=function(e,t,n,i){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=i||0,this.baseTokens=null,this.baseTokenPos=1};function dt(e,t,n,i){var r=[e.state.modeGen],o={};xt(e,t.text,e.doc.mode,n,(function(e,t){return r.push(e,t)}),o,i);for(var a=n.state,s=function(i){n.baseTokens=r;var s=e.state.overlays[i],l=1,u=0;n.state=!0,xt(e,t.text,s.mode,n,(function(e,t){for(var n=l;ue&&r.splice(l,1,e,r[l+1],i),l+=2,u=Math.min(e,i)}if(t)if(s.opaque)r.splice(n,l-n,e,"overlay "+t),l=n+2;else for(;ne.options.maxHighlightLength&&He(e.doc.mode,i.state),o=dt(e,t,i);r&&(i.state=r),t.stateAfter=i.save(!r),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function pt(e,t,n){var i=e.doc,r=e.display;if(!i.mode.startState)return new ft(i,!0,t);var o=function(e,t,n){for(var i,r,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var l=Ke(o,s-1),u=l.stateAfter;if(u&&(!n||s+(u instanceof ct?u.lookAhead:0)<=o.modeFrontier))return s;var c=U(l.text,null,e.options.tabSize);(null==r||i>c)&&(r=s-1,i=c)}return r}(e,t,n),a=o>i.first&&Ke(i,o-1).stateAfter,s=a?ft.fromSaved(i,a,o):new ft(i,Ge(i.mode),o);return i.iter(o,t,(function(n){ht(e,n.text,s);var i=s.line;n.stateAfter=i==t-1||i%5==0||i>=r.viewFrom&&it.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}ft.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ft.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},ft.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ft.fromSaved=function(e,t,n){return t instanceof ct?new ft(e,He(e.mode,t.state),n,t.lookAhead):new ft(e,He(e.mode,t),n)},ft.prototype.save=function(e){var t=!1!==e?He(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ct(t,this.maxLookAhead):t};var vt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function Ct(e,t,n,i){var r,o,a=e.doc,s=a.mode,l=Ke(a,(t=lt(a,t)).line),u=pt(e,t.line,n),c=new We(l.text,e.options.tabSize,u);for(i&&(o=[]);(i||c.pose.options.maxHighlightLength?(s=!1,a&&ht(e,t,i,f.pos),f.pos=t.length,l=null):l=bt(yt(n,f,i.state,d),o),d){var m=d[0].name;m&&(l="m-"+(l?m+" "+l:m))}if(!s||c!=l){for(;u=t:o.to>t);(i||(i=[])).push(new Dt(a,o.from,s?null:o.to))}}return i}(n,r,a),l=function(e,t,n){var i;if(e)for(var r=0;r=t:o.to>t)||o.from==t&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&s)for(var C=0;Ct)&&(!n||Ot(n,o.marker)<0)&&(n=o.marker)}return n}function Ut(e,t,n,i,r){var o=Ke(e,t),a=St&&o.markedSpans;if(a)for(var s=0;s=0&&f<=0||c<=0&&f>=0)&&(c<=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?nt(u.to,n)>=0:nt(u.to,n)>0)||c>=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?nt(u.from,i)<=0:nt(u.from,i)<0)))return!0}}}function Ft(e){for(var t;t=Lt(e);)e=t.find(-1,!0).line;return e}function qt(e,t){var n=Ke(e,t),i=Ft(n);return n==i?t:Ye(i)}function zt(e,t){if(t>e.lastLine())return t;var n,i=Ke(e,t);if(!jt(e,i))return t;for(;n=Nt(i);)i=n.find(1,!0).line;return Ye(i)+1}function jt(e,t){var n=St&&t.markedSpans;if(n)for(var i=void 0,r=0;rt.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}var Kt=function(e,t,n){this.text=e,wt(this,t),this.height=n?n(this):1};function Qt(e){e.parent=null,Tt(e)}Kt.prototype.lineNo=function(){return Ye(this)},Ce(Kt);var Jt={},Xt={};function Yt(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Xt:Jt;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function $t(e,t){var n=w("span",null,null,l?"padding-right: .1px":null),i={pre:w("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var r=0;r<=(t.rest?t.rest.length:0);r++){var o=r?t.rest[r-1]:t.line,a=void 0;i.pos=0,i.addToken=en,we(e.display.measure)&&(a=ce(o,e.doc.direction))&&(i.addToken=tn(i.addToken,a)),i.map=[],rn(o,i,mt(e,o,t!=e.display.externalMeasured&&Ye(o))),o.styleClasses&&(o.styleClasses.bgClass&&(i.bgClass=_(o.styleClasses.bgClass,i.bgClass||"")),o.styleClasses.textClass&&(i.textClass=_(o.styleClasses.textClass,i.textClass||""))),0==i.map.length&&i.map.push(0,0,i.content.appendChild(Te(e.display.measure))),0==r?(t.measure.map=i.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(i.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(l){var s=i.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(i.content.className="cm-tab-wrap-hack")}return he(e,"renderLine",e,t.line,i.pre),i.pre.className&&(i.textClass=_(i.pre.className,i.textClass||"")),i}function Zt(e){var t=T("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function en(e,t,n,i,r,o,l){if(t){var u,c=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,i="",r=0;ru&&f.from<=u);d++);if(f.to>=c)return e(n,i,r,o,a,s,l);e(n,i.slice(0,f.to-u),r,o,null,s,l),o=null,i=i.slice(f.to-u),u=f.to}}}function nn(e,t,n,i){var r=!i&&n.widgetNode;r&&e.map.push(e.pos,e.pos+t,r),!i&&e.cm.display.input.needsContentAttribute&&(r||(r=e.content.appendChild(document.createElement("span"))),r.setAttribute("cm-marker",n.id)),r&&(e.cm.display.input.setUneditable(r),e.content.appendChild(r)),e.pos+=t,e.trailingSpace=!1}function rn(e,t,n){var i=e.markedSpans,r=e.text,o=0;if(i)for(var a,s,l,u,c,f,d,m=r.length,p=0,h=1,g="",y=0;;){if(y==p){l=u=c=s="",d=null,f=null,y=1/0;for(var v=[],C=void 0,b=0;bp||E.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&y>x.to&&(y=x.to,u=""),E.className&&(l+=" "+E.className),E.css&&(s=(s?s+";":"")+E.css),E.startStyle&&x.from==p&&(c+=" "+E.startStyle),E.endStyle&&x.to==y&&(C||(C=[])).push(E.endStyle,x.to),E.title&&((d||(d={})).title=E.title),E.attributes)for(var S in E.attributes)(d||(d={}))[S]=E.attributes[S];E.collapsed&&(!f||Ot(f.marker,E)<0)&&(f=x)}else x.from>p&&y>x.from&&(y=x.from)}if(C)for(var D=0;D=m)break;for(var R=Math.min(m,y);;){if(g){var k=p+g.length;if(!f){var M=k>R?g.slice(0,R-p):g;t.addToken(t,M,a?a+l:l,c,p+M.length==y?u:"",s,d)}if(k>=R){g=g.slice(R-p),p=R;break}p=k,c=""}g=r.slice(o,o=n[h++]),a=Yt(n[h++],t.cm.options)}}else for(var T=1;Tn)return{map:e.measure.maps[r],cache:e.measure.caches[r],before:!0}}function In(e,t,n,i){return _n(e,On(e,t),n,i)}function Pn(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&t2&&o.push((l.bottom+u.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,i){var r,o=Bn(t.map,n,i),l=o.node,u=o.start,c=o.end,f=o.collapse;if(3==l.nodeType){for(var d=0;d<4;d++){for(;u&&re(t.line.text.charAt(o.coverStart+u));)--u;for(;o.coverStart+c1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,i=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*i,bottom:t.bottom*i}}(e.display.measure,r))}else{var m;u>0&&(f=i="right"),r=e.options.lineWrapping&&(m=l.getClientRects()).length>1?m["right"==i?m.length-1:0]:l.getBoundingClientRect()}if(a&&s<9&&!u&&(!r||!r.left&&!r.right)){var p=l.parentNode.getClientRects()[0];r=p?{left:p.left,right:p.left+oi(e.display),top:p.top,bottom:p.bottom}:Nn}for(var h=r.top-t.rect.top,g=r.bottom-t.rect.top,y=(h+g)/2,v=t.view.measure.heights,C=0;Ct)&&(r=(o=l-s)-1,t>=l&&(a="right")),null!=r){if(i=e[u+2],s==l&&n==(i.insertLeft?"left":"right")&&(a=n),"left"==n&&0==r)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)i=e[2+(u-=3)],a="left";if("right"==n&&r==l-s)for(;u=0&&(n=e[r]).left==n.right;r--);return n}function Fn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=i.text.length?(l=i.text.length,u="before"):l<=0&&(l=0,u="after"),!s)return a("before"==u?l-1:l,"before"==u);function c(e,t,n){return a(n?e-1:e,1==s[t].level!=n)}var f=le(s,l,u),d=se,m=c(l,f,"before"==u);return null!=d&&(m.other=c(l,d,"before"!=u)),m}function Jn(e,t){var n=0;t=lt(e.doc,t),e.options.lineWrapping||(n=oi(e.display)*t.ch);var i=Ke(e.doc,t.line),r=Vt(i)+Dn(e.display);return{left:n,right:n,top:r,bottom:r+i.height}}function Xn(e,t,n,i,r){var o=tt(e,t,n);return o.xRel=r,i&&(o.outside=i),o}function Yn(e,t,n){var i=e.doc;if((n+=e.display.viewOffset)<0)return Xn(i.first,0,null,-1,-1);var r=$e(i,n),o=i.first+i.size-1;if(r>o)return Xn(i.first+i.size-1,Ke(i,o).text.length,null,1,1);t<0&&(t=0);for(var a=Ke(i,r);;){var s=ti(e,a,r,t,n),l=Bt(a,s.ch+(s.xRel>0||s.outside>0?1:0));if(!l)return s;var u=l.find(1);if(u.line==r)return u;a=Ke(i,r=u.line)}}function $n(e,t,n,i){i-=Vn(t);var r=t.text.length,o=ae((function(t){return _n(e,n,t-1).bottom<=i}),r,0);return{begin:o,end:r=ae((function(t){return _n(e,n,t).top>i}),o,r)}}function Zn(e,t,n,i){return n||(n=On(e,t)),$n(e,t,n,Gn(e,t,_n(e,n,i),"line").top)}function ei(e,t,n,i){return!(e.bottom<=n)&&(e.top>n||(i?e.left:e.right)>t)}function ti(e,t,n,i,r){r-=Vt(t);var o=On(e,t),a=Vn(t),s=0,l=t.text.length,u=!0,c=ce(t,e.doc.direction);if(c){var f=(e.options.lineWrapping?ii:ni)(e,t,n,o,c,i,r);s=(u=1!=f.level)?f.from:f.to-1,l=u?f.to:f.from-1}var d,m,p=null,h=null,g=ae((function(t){var n=_n(e,o,t);return n.top+=a,n.bottom+=a,!!ei(n,i,r,!1)&&(n.top<=r&&n.left<=i&&(p=t,h=n),!0)}),s,l),y=!1;if(h){var v=i-h.left=b.bottom?1:0}return Xn(n,g=oe(t.text,g,1),m,y,i-d)}function ni(e,t,n,i,r,o,a){var s=ae((function(s){var l=r[s],u=1!=l.level;return ei(Qn(e,tt(n,u?l.to:l.from,u?"before":"after"),"line",t,i),o,a,!0)}),0,r.length-1),l=r[s];if(s>0){var u=1!=l.level,c=Qn(e,tt(n,u?l.from:l.to,u?"after":"before"),"line",t,i);ei(c,o,a,!0)&&c.top>a&&(l=r[s-1])}return l}function ii(e,t,n,i,r,o,a){var s=$n(e,t,i,a),l=s.begin,u=s.end;/\s/.test(t.text.charAt(u-1))&&u--;for(var c=null,f=null,d=0;d=u||m.to<=l)){var p=_n(e,i,1!=m.level?Math.min(u,m.to)-1:Math.max(l,m.from)).right,h=ph)&&(c=m,f=h)}}return c||(c=r[r.length-1]),c.fromu&&(c={from:c.from,to:u,level:c.level}),c}function ri(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Ln){Ln=T("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)Ln.appendChild(document.createTextNode("x")),Ln.appendChild(T("br"));Ln.appendChild(document.createTextNode("x"))}M(e.measure,Ln);var n=Ln.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),k(e.measure),n||1}function oi(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=T("span","xxxxxxxxxx"),n=T("pre",[t],"CodeMirror-line-like");M(e.measure,n);var i=t.getBoundingClientRect(),r=(i.right-i.left)/10;return r>2&&(e.cachedCharWidth=r),r||10}function ai(e){for(var t=e.display,n={},i={},r=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+r,i[s]=o.clientWidth}return{fixedPos:si(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:i,wrapperWidth:t.wrapper.clientWidth}}function si(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function li(e){var t=ri(e.display),n=e.options.lineWrapping,i=n&&Math.max(5,e.display.scroller.clientWidth/oi(e.display)-3);return function(r){if(jt(e.doc,r))return 0;var o=0;if(r.widgets)for(var a=0;a0&&(l=Ke(e.doc,u.line).text).length==u.ch){var c=U(l,l.length,e.options.tabSize)-l.length;u=tt(u.line,Math.max(0,Math.round((o-Rn(e.display).left)/oi(e.display))-c))}return u}function fi(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,i=0;it)&&(r.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=r.viewTo)St&&qt(e.doc,t)r.viewFrom?pi(e):(r.viewFrom+=i,r.viewTo+=i);else if(t<=r.viewFrom&&n>=r.viewTo)pi(e);else if(t<=r.viewFrom){var o=hi(e,n,n+i,1);o?(r.view=r.view.slice(o.index),r.viewFrom=o.lineN,r.viewTo+=i):pi(e)}else if(n>=r.viewTo){var a=hi(e,t,t,-1);a?(r.view=r.view.slice(0,a.index),r.viewTo=a.lineN):pi(e)}else{var s=hi(e,t,t,-1),l=hi(e,n,n+i,1);s&&l?(r.view=r.view.slice(0,s.index).concat(an(e,s.lineN,l.lineN)).concat(r.view.slice(l.index)),r.viewTo+=i):pi(e)}var u=r.externalMeasured;u&&(n=r.lineN&&t=i.viewTo)){var o=i.view[fi(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==q(a,n)&&a.push(n)}}}function pi(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function hi(e,t,n,i){var r,o=fi(e,t),a=e.display.view;if(!St||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,l=0;l0){if(o==a.length-1)return null;r=s+a[o].size-t,o++}else r=s-t;t+=r,n+=r}for(;qt(e.doc,n)!=n;){if(o==(i<0?0:a.length-1))return null;n+=i*a[o-(i<0?1:0)].size,o+=i}return{index:o,lineN:n}}function gi(e){for(var t=e.display.view,n=0,i=0;i=e.display.viewTo||s.to().linet||t==n&&a.to==t)&&(i(Math.max(a.from,t),Math.min(a.to,n),1==a.level?"rtl":"ltr",o),r=!0)}r||i(t,n,"ltr")}(h,n||0,null==i?d:i,(function(e,t,r,f){var g="ltr"==r,y=m(e,g?"left":"right"),v=m(t-1,g?"right":"left"),C=null==n&&0==e,b=null==i&&t==d,x=0==f,E=!h||f==h.length-1;if(v.top-y.top<=3){var S=(u?b:C)&&E,D=(u?C:b)&&x?s:(g?y:v).left,A=S?l:(g?v:y).right;c(D,y.top,A-D,y.bottom)}else{var R,k,M,T;g?(R=u&&C&&x?s:y.left,k=u?l:p(e,r,"before"),M=u?s:p(t,r,"after"),T=u&&b&&E?l:v.right):(R=u?p(e,r,"before"):s,k=!u&&C&&x?l:y.right,M=!u&&b&&E?s:v.left,T=u?p(t,r,"after"):l),c(R,y.top,k-R,y.bottom),y.bottom0?t.blinker=setInterval((function(){e.hasFocus()||Ri(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Si(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||Ai(e))}function Di(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Ri(e))}),100)}function Ai(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(he(e,"focus",e,t),e.state.focused=!0,O(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),l&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),Ei(e))}function Ri(e,t){e.state.delayingBlurEvent||(e.state.focused&&(he(e,"blur",e,t),e.state.focused=!1,R(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function ki(e){for(var t=e.display,n=t.lineDiv.offsetTop,i=0;i.005||d<-.005)&&(Xe(r.line,l),Mi(r.line),r.rest))for(var m=0;me.display.sizerWidth){var p=Math.ceil(u/oi(e.display));p>e.display.maxLineLength&&(e.display.maxLineLength=p,e.display.maxLine=r.line,e.display.maxLineChanged=!0)}}}}function Mi(e){if(e.widgets)for(var t=0;t=a&&(o=$e(t,Vt(Ke(t,l))-e.wrapper.clientHeight),a=l)}return{from:o,to:Math.max(a,o+1)}}function wi(e,t){var n=e.display,i=ri(e.display);t.top<0&&(t.top=0);var r=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=Tn(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+An(n),l=t.tops-i;if(t.topr+o){var c=Math.min(t.top,(u?s:t.bottom)-o);c!=r&&(a.scrollTop=c)}var f=e.options.fixedGutter?0:n.gutters.offsetWidth,d=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft-f,m=Mn(e)-n.gutters.offsetWidth,p=t.right-t.left>m;return p&&(t.right=t.left+m),t.left<10?a.scrollLeft=0:t.leftm+d-3&&(a.scrollLeft=t.right+(p?0:10)-m),a}function Ii(e,t){null!=t&&(_i(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Pi(e){_i(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Oi(e,t,n){null==t&&null==n||_i(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function _i(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Li(e,Jn(e,t.from),Jn(e,t.to),t.margin))}function Li(e,t,n,i){var r=wi(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-i,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+i});Oi(e,r.scrollLeft,r.scrollTop)}function Ni(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||ur(e,{top:t}),Bi(e,t,!0),n&&ur(e),rr(e,100))}function Bi(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Ui(e,t,n,i){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!i||(e.doc.scrollLeft=t,dr(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Fi(e){var t=e.display,n=t.gutters.offsetWidth,i=Math.round(e.doc.height+An(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:i,scrollHeight:i+kn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var qi=function(e,t,n){this.cm=n;var i=this.vert=T("div",[T("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),r=this.horiz=T("div",[T("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");i.tabIndex=r.tabIndex=-1,e(i),e(r),de(i,"scroll",(function(){i.clientHeight&&t(i.scrollTop,"vertical")})),de(r,"scroll",(function(){r.clientWidth&&t(r.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,a&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};qi.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,i=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?i+"px":"0";var r=e.viewHeight-(t?i:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+r)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?i+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?i:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==i&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?i:0,bottom:t?i:0}},qi.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},qi.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},qi.prototype.zeroWidthHack=function(){var e=v&&!m?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new F,this.disableVert=new F},qi.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents="auto",t.set(1e3,(function i(){var r=e.getBoundingClientRect();("vert"==n?document.elementFromPoint(r.right-1,(r.top+r.bottom)/2):document.elementFromPoint((r.right+r.left)/2,r.bottom-1))!=e?e.style.pointerEvents="none":t.set(1e3,i)}))},qi.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var zi=function(){};function ji(e,t){t||(t=Fi(e));var n=e.display.barWidth,i=e.display.barHeight;Hi(e,t);for(var r=0;r<4&&n!=e.display.barWidth||i!=e.display.barHeight;r++)n!=e.display.barWidth&&e.options.lineWrapping&&ki(e),Hi(e,Fi(e)),n=e.display.barWidth,i=e.display.barHeight}function Hi(e,t){var n=e.display,i=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=i.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=i.bottom)+"px",n.heightForcer.style.borderBottom=i.bottom+"px solid transparent",i.right&&i.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=i.bottom+"px",n.scrollbarFiller.style.width=i.right+"px"):n.scrollbarFiller.style.display="",i.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=i.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}zi.prototype.update=function(){return{bottom:0,right:0}},zi.prototype.setScrollLeft=function(){},zi.prototype.setScrollTop=function(){},zi.prototype.clear=function(){};var Vi={native:qi,null:zi};function Gi(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&R(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Vi[e.options.scrollbarStyle]((function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),de(t,"mousedown",(function(){e.state.focused&&setTimeout((function(){return e.display.input.focus()}),0)})),t.setAttribute("cm-not-content","true")}),(function(t,n){"horizontal"==n?Ui(e,t):Ni(e,t)}),e),e.display.scrollbars.addClass&&O(e.display.wrapper,e.display.scrollbars.addClass)}var Wi=0;function Ki(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Wi,markArrays:null},t=e.curOp,sn?sn.ops.push(t):t.ownsGroup=sn={ops:[t],delayedCallbacks:[]}}function Qi(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ar(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Xi(e){e.updatedDisplay=e.mustUpdate&&sr(e.cm,e.update)}function Yi(e){var t=e.cm,n=t.display;e.updatedDisplay&&ki(t),e.barMeasure=Fi(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=In(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+kn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Mn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function $i(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft(window.innerHeight||document.documentElement.clientHeight)&&(r=!1),null!=r&&!p){var o=T("div","​",null,"position: absolute;\n top: "+(t.top-n.viewOffset-Dn(e.display))+"px;\n height: "+(t.bottom-t.top+kn(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(r),e.display.lineSpace.removeChild(o)}}}(t,function(e,t,n,i){var r;null==i&&(i=0),e.options.lineWrapping||t!=n||(n="before"==t.sticky?tt(t.line,t.ch+1,"before"):t,t=t.ch?tt(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t);for(var o=0;o<5;o++){var a=!1,s=Qn(e,t),l=n&&n!=t?Qn(e,n):s,u=wi(e,r={left:Math.min(s.left,l.left),top:Math.min(s.top,l.top)-i,right:Math.max(s.left,l.left),bottom:Math.max(s.bottom,l.bottom)+i}),c=e.doc.scrollTop,f=e.doc.scrollLeft;if(null!=u.scrollTop&&(Ni(e,u.scrollTop),Math.abs(e.doc.scrollTop-c)>1&&(a=!0)),null!=u.scrollLeft&&(Ui(e,u.scrollLeft),Math.abs(e.doc.scrollLeft-f)>1&&(a=!0)),!a)break}return r}(t,lt(i,e.scrollToPos.from),lt(i,e.scrollToPos.to),e.scrollToPos.margin));var r=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(r)for(var a=0;a=e.display.viewTo)){var n=+new Date+e.options.workTime,i=pt(e,t.highlightFrontier),r=[];t.iter(i.line,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(i.line>=e.display.viewFrom){var a=o.styles,s=o.text.length>e.options.maxHighlightLength?He(t.mode,i.state):null,l=dt(e,o,i,!0);s&&(i.state=s),o.styles=l.styles;var u=o.styleClasses,c=l.classes;c?o.styleClasses=c:u&&(o.styleClasses=null);for(var f=!a||a.length!=o.styles.length||u!=c&&(!u||!c||u.bgClass!=c.bgClass||u.textClass!=c.textClass),d=0;!f&&dn)return rr(e,e.options.workDelay),!0})),t.highlightFrontier=i.line,t.modeFrontier=Math.max(t.modeFrontier,i.line),r.length&&er(e,(function(){for(var t=0;t=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==gi(e))return!1;mr(e)&&(pi(e),t.dims=ai(e));var r=i.first+i.size,o=Math.max(t.visible.from-e.options.viewportMargin,i.first),a=Math.min(r,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(r,n.viewTo)),St&&(o=qt(e.doc,o),a=zt(e.doc,a));var s=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;(function(e,t,n){var i=e.display;0==i.view.length||t>=i.viewTo||n<=i.viewFrom?(i.view=an(e,t,n),i.viewFrom=t):(i.viewFrom>t?i.view=an(e,t,i.viewFrom).concat(i.view):i.viewFromn&&(i.view=i.view.slice(0,fi(e,n)))),i.viewTo=n})(e,o,a),n.viewOffset=Vt(Ke(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var u=gi(e);if(!s&&0==u&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var c=function(e){if(e.hasFocus())return null;var t=P();if(!t||!I(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var i=window.getSelection();i.anchorNode&&i.extend&&I(e.display.lineDiv,i.anchorNode)&&(n.anchorNode=i.anchorNode,n.anchorOffset=i.anchorOffset,n.focusNode=i.focusNode,n.focusOffset=i.focusOffset)}return n}(e);return u>4&&(n.lineDiv.style.display="none"),function(e,t,n){var i=e.display,r=e.options.lineNumbers,o=i.lineDiv,a=o.firstChild;function s(t){var n=t.nextSibling;return l&&v&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var u=i.view,c=i.viewFrom,f=0;f-1&&(m=!1),fn(e,d,c,n)),m&&(k(d.lineNumber),d.lineNumber.appendChild(document.createTextNode(et(e.options,c)))),a=d.node.nextSibling}else{var p=vn(e,d,c,n);o.insertBefore(p,a)}c+=d.size}for(;a;)a=s(a)}(e,n.updateLineNumbers,t.dims),u>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=P()&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&I(document.body,e.anchorNode)&&I(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(c),k(n.cursorDiv),k(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,rr(e,400)),n.updateLineNumbers=null,!0}function lr(e,t){for(var n=t.viewport,i=!0;;i=!1){if(i&&e.options.lineWrapping&&t.oldDisplayWidth!=Mn(e))i&&(t.visible=Ti(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+An(e.display)-Tn(e),n.top)}),t.visible=Ti(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!sr(e,t))break;ki(e);var r=Fi(e);yi(e),ji(e,r),fr(e,r),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function ur(e,t){var n=new ar(e,t);if(sr(e,n)){ki(e),lr(e,n);var i=Fi(e);yi(e),ji(e,i),fr(e,i),n.finish()}}function cr(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",un(e,"gutterChanged",e)}function fr(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+kn(e)+"px"}function dr(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var i=si(t)-t.scroller.scrollLeft+e.doc.scrollLeft,r=t.gutters.offsetWidth,o=i+"px",a=0;as.clientWidth,c=s.scrollHeight>s.clientHeight;if(r&&u||o&&c){if(o&&v&&l)e:for(var d=t.target,m=a.view;d!=s;d=d.parentNode)for(var p=0;p=0&&nt(e,i.to())<=0)return n}return-1};var Dr=function(e,t){this.anchor=e,this.head=t};function Ar(e,t,n){var i=e&&e.options.selectionsMayTouch,r=t[n];t.sort((function(e,t){return nt(e.from(),t.from())})),n=q(t,r);for(var o=1;o0:l>=0){var u=at(s.from(),a.from()),c=ot(s.to(),a.to()),f=s.empty()?a.from()==a.head:s.from()==s.head;o<=n&&--n,t.splice(--o,2,new Dr(f?c:u,f?u:c))}}return new Sr(t,n)}function Rr(e,t){return new Sr([new Dr(e,t||e)],0)}function kr(e){return e.text?tt(e.from.line+e.text.length-1,J(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Mr(e,t){if(nt(e,t.from)<0)return e;if(nt(e,t.to)<=0)return kr(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,i=e.ch;return e.line==t.to.line&&(i+=kr(t).ch-t.to.ch),tt(n,i)}function Tr(e,t){for(var n=[],i=0;i1&&e.remove(s.line+1,p-1),e.insert(s.line+1,y)}un(e,"change",e,t)}function Lr(e,t,n){!function e(i,r,o){if(i.linked)for(var a=0;as-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(qr(e.done),J(e.done)):e.done.length&&!J(e.done).ranges?J(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),J(e.done)):void 0}(r,r.lastOp==i)))a=J(o.changes),0==nt(t.from,t.to)&&0==nt(t.from,a.to)?a.to=kr(t):o.changes.push(Fr(e,t));else{var l=J(r.done);for(l&&l.ranges||Hr(e.sel,r.done),o={changes:[Fr(e,t)],generation:r.generation},r.done.push(o);r.done.length>r.undoDepth;)r.done.shift(),r.done[0].ranges||r.done.shift()}r.done.push(n),r.generation=++r.maxGeneration,r.lastModTime=r.lastSelTime=s,r.lastOp=r.lastSelOp=i,r.lastOrigin=r.lastSelOrigin=t.origin,a||he(e,"historyAdded")}function jr(e,t,n,i){var r=e.history,o=i&&i.origin;n==r.lastSelOp||o&&r.lastSelOrigin==o&&(r.lastModTime==r.lastSelTime&&r.lastOrigin==o||function(e,t,n,i){var r=t.charAt(0);return"*"==r||"+"==r&&n.ranges.length==i.ranges.length&&n.somethingSelected()==i.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,J(r.done),t))?r.done[r.done.length-1]=t:Hr(t,r.done),r.lastSelTime=+new Date,r.lastSelOrigin=o,r.lastSelOp=n,i&&!1!==i.clearRedo&&qr(r.undone)}function Hr(e,t){var n=J(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Vr(e,t,n,i){var r=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,i),(function(n){n.markedSpans&&((r||(r=t["spans_"+e.id]={}))[o]=n.markedSpans),++o}))}function Gr(e){if(!e)return null;for(var t,n=0;n-1&&(J(s)[f]=u[f],delete u[f])}}}return i}function Qr(e,t,n,i){if(i){var r=e.anchor;if(n){var o=nt(t,r)<0;o!=nt(n,r)<0?(r=t,t=n):o!=nt(t,n)<0&&(t=n)}return new Dr(r,t)}return new Dr(n||t,t)}function Jr(e,t,n,i,r){null==r&&(r=e.cm&&(e.cm.display.shift||e.extend)),eo(e,new Sr([Qr(e.sel.primary(),t,n,r)],0),i)}function Xr(e,t,n){for(var i=[],r=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:s.to>t.ch))){if(r&&(he(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!l.atomic)continue;if(n){var f=l.find(i<0?1:-1),d=void 0;if((i<0?c:u)&&(f=so(e,f,-i,f&&f.line==t.line?o:null)),f&&f.line==t.line&&(d=nt(f,n))&&(i<0?d<0:d>0))return oo(e,f,t,i,r)}var m=l.find(i<0?-1:1);return(i<0?u:c)&&(m=so(e,m,i,m.line==t.line?o:null)),m?oo(e,m,t,i,r):null}}return t}function ao(e,t,n,i,r){var o=i||1;return oo(e,t,n,o,r)||!r&&oo(e,t,n,o,!0)||oo(e,t,n,-o,r)||!r&&oo(e,t,n,-o,!0)||(e.cantEdit=!0,tt(e.first,0))}function so(e,t,n,i){return n<0&&0==t.ch?t.line>e.first?lt(e,tt(t.line-1)):null:n>0&&t.ch==(i||Ke(e,t.line)).text.length?t.line0)){var c=[l,1],f=nt(u.from,s.from),d=nt(u.to,s.to);(f<0||!a.inclusiveLeft&&!f)&&c.push({from:u.from,to:s.from}),(d>0||!a.inclusiveRight&&!d)&&c.push({from:s.to,to:u.to}),r.splice.apply(r,c),l+=c.length-3}}return r}(e,t.from,t.to);if(i)for(var r=i.length-1;r>=0;--r)fo(e,{from:i[r].from,to:i[r].to,text:r?[""]:t.text,origin:t.origin});else fo(e,t)}}function fo(e,t){if(1!=t.text.length||""!=t.text[0]||0!=nt(t.from,t.to)){var n=Tr(e,t);zr(e,t,n,e.cm?e.cm.curOp.id:NaN),ho(e,t,n,kt(e,t));var i=[];Lr(e,(function(e,n){n||-1!=q(i,e.history)||(Co(e.history,t),i.push(e.history)),ho(e,t,null,kt(e,t))}))}}function mo(e,t,n){var i=e.cm&&e.cm.state.suppressEdits;if(!i||n){for(var r,o=e.history,a=e.sel,s="undo"==t?o.done:o.undone,l="undo"==t?o.undone:o.done,u=0;u=0;--m){var p=d(m);if(p)return p.v}}}}function po(e,t){if(0!=t&&(e.first+=t,e.sel=new Sr(X(e.sel.ranges,(function(e){return new Dr(tt(e.anchor.line+t,e.anchor.ch),tt(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){di(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,i=n.viewFrom;ie.lastLine())){if(t.from.lineo&&(t={from:t.from,to:tt(o,Ke(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Qe(e,t.from,t.to),n||(n=Tr(e,t)),e.cm?function(e,t,n){var i=e.doc,r=e.display,o=t.from,a=t.to,s=!1,l=o.line;e.options.lineWrapping||(l=Ye(Ft(Ke(i,o.line))),i.iter(l,a.line+1,(function(e){if(e==r.maxLine)return s=!0,!0}))),i.sel.contains(t.from,t.to)>-1&&ye(e),_r(i,t,n,li(e)),e.options.lineWrapping||(i.iter(l,o.line+t.text.length,(function(e){var t=Gt(e);t>r.maxLineLength&&(r.maxLine=e,r.maxLineLength=t,r.maxLineChanged=!0,s=!1)})),s&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;i--){var r=Ke(e,i).stateAfter;if(r&&(!(r instanceof ct)||i+r.lookAhead1||!(this.children[0]instanceof xo))){var s=[];this.collapse(s),this.children=[new xo(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var a=r.lines.length%25+25,s=a;s10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var i=0;i0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=w("span",[o.replacedWith],"CodeMirror-widget"),i.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),i.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Ut(e,t.line,t,n,o)||t.line!=n.line&&Ut(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");St=!0}o.addToHistory&&zr(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var s,l=t.line,u=e.cm;if(e.iter(l,n.line+1,(function(i){u&&o.collapsed&&!u.options.lineWrapping&&Ft(i)==u.display.maxLine&&(s=!0),o.collapsed&&l!=t.line&&Xe(i,0),function(e,t,n){var i=n&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet));i&&i.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],i&&i.add(e.markedSpans)),t.marker.attachLine(e)}(i,new Dt(o,l==t.line?t.ch:null,l==n.line?n.ch:null),e.cm&&e.cm.curOp),++l})),o.collapsed&&e.iter(t.line,n.line+1,(function(t){jt(e,t)&&Xe(t,0)})),o.clearOnEnter&&de(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(Et=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++Ao,o.atomic=!0),u){if(s&&(u.curOp.updateMaxLine=!0),o.collapsed)di(u,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=t.line;c<=n.line;c++)mi(u,c,"text");o.atomic&&io(u.doc),un(u,"markerAdded",u,o)}return o}Ro.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Ki(e),ve(this,"clear")){var n=this.find();n&&un(this,"clear",n.from,n.to)}for(var i=null,r=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=u,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=i&&e&&this.collapsed&&di(e,i,r+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&io(e.doc)),e&&un(e,"markerCleared",e,this,i,r),t&&Qi(e),this.parent&&this.parent.clear()}},Ro.prototype.find=function(e,t){var n,i;null==e&&"bookmark"==this.type&&(e=1);for(var r=0;r=0;l--)co(this,i[l]);s?Zr(this,s):this.cm&&Pi(this.cm)})),undo:ir((function(){mo(this,"undo")})),redo:ir((function(){mo(this,"redo")})),undoSelection:ir((function(){mo(this,"undo",!0)})),redoSelection:ir((function(){mo(this,"redo",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,i=0;i=e.ch)&&t.push(r.marker.parent||r.marker)}return t},findMarks:function(e,t,n){e=lt(this,e),t=lt(this,t);var i=[],r=e.line;return this.iter(e.line,t.line+1,(function(o){var a=o.markedSpans;if(a)for(var s=0;s=l.to||null==l.from&&r!=e.line||null!=l.from&&r==t.line&&l.from>=t.ch||n&&!n(l.marker)||i.push(l.marker.parent||l.marker)}++r})),i},getAllMarks:function(){var e=[];return this.iter((function(t){var n=t.markedSpans;if(n)for(var i=0;ie)return t=e,!0;e-=o,++n})),lt(this,tt(n,t))},indexFromPos:function(e){var t=(e=lt(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout((function(){return t.display.input.focus()}),20);try{var f=e.dataTransfer.getData("Text");if(f){var d;if(t.state.draggingText&&!t.state.draggingText.copy&&(d=t.listSelections()),to(t.doc,Rr(n,n)),d)for(var m=0;m=0;t--)go(e.doc,"",i[t].from,i[t].to,"+delete");Pi(e)}))}function Zo(e,t,n){var i=oe(e.text,t+n,n);return i<0||i>e.text.length?null:i}function ea(e,t,n){var i=Zo(e,t.ch,n);return null==i?null:new tt(t.line,i,n<0?"after":"before")}function ta(e,t,n,i,r){if(e){"rtl"==t.doc.direction&&(r=-r);var o=ce(n,t.doc.direction);if(o){var a,s=r<0?J(o):o[0],l=r<0==(1==s.level)?"after":"before";if(s.level>0||"rtl"==t.doc.direction){var u=On(t,n);a=r<0?n.text.length-1:0;var c=_n(t,u,a).top;a=ae((function(e){return _n(t,u,e).top==c}),r<0==(1==s.level)?s.from:s.to-1,a),"before"==l&&(a=Zo(n,a,1))}else a=r<0?s.to:s.from;return new tt(i,a,l)}}return new tt(i,r<0?n.text.length:0,r<0?"before":"after")}Vo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Vo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Vo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Vo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Vo.default=v?Vo.macDefault:Vo.pcDefault;var na={selectAll:lo,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),H)},killLine:function(e){return $o(e,(function(t){if(t.empty()){var n=Ke(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)r=new tt(r.line,r.ch+1),e.replaceRange(o.charAt(r.ch-1)+o.charAt(r.ch-2),tt(r.line,r.ch-2),r,"+transpose");else if(r.line>e.doc.first){var a=Ke(e.doc,r.line-1).text;a&&(r=new tt(r.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),tt(r.line-1,a.length-1),r,"+transpose"))}n.push(new Dr(r,r))}e.setSelections(n)}))},newlineAndIndent:function(e){return er(e,(function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var i=0;i-1&&(nt((r=u.ranges[r]).from(),t)<0||t.xRel>0)&&(nt(r.to(),t)>0||t.xRel<0)?function(e,t,n,i){var r=e.display,o=!1,u=tr(e,(function(t){l&&(r.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Di(e)),pe(r.wrapper.ownerDocument,"mouseup",u),pe(r.wrapper.ownerDocument,"mousemove",c),pe(r.scroller,"dragstart",f),pe(r.scroller,"drop",u),o||(be(t),i.addNew||Jr(e.doc,n,null,null,i.extend),l&&!d||a&&9==s?setTimeout((function(){r.wrapper.ownerDocument.body.focus({preventScroll:!0}),r.input.focus()}),20):r.input.focus())})),c=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},f=function(){return o=!0};l&&(r.scroller.draggable=!0),e.state.draggingText=u,u.copy=!i.moveOnDrag,de(r.wrapper.ownerDocument,"mouseup",u),de(r.wrapper.ownerDocument,"mousemove",c),de(r.scroller,"dragstart",f),de(r.scroller,"drop",u),e.state.delayingBlurEvent=!0,setTimeout((function(){return r.input.focus()}),20),r.scroller.dragDrop&&r.scroller.dragDrop()}(e,i,t,o):function(e,t,n,i){a&&Di(e);var r=e.display,o=e.doc;be(t);var s,l,u=o.sel,c=u.ranges;if(i.addNew&&!i.extend?(l=o.sel.contains(n),s=l>-1?c[l]:new Dr(n,n)):(s=o.sel.primary(),l=o.sel.primIndex),"rectangle"==i.unit)i.addNew||(s=new Dr(n,n)),n=ci(e,t,!0,!0),l=-1;else{var f=va(e,n,i.unit);s=i.extend?Qr(s,f.anchor,f.head,i.extend):f}i.addNew?-1==l?(l=c.length,eo(o,Ar(e,c.concat([s]),l),{scroll:!1,origin:"*mouse"})):c.length>1&&c[l].empty()&&"char"==i.unit&&!i.extend?(eo(o,Ar(e,c.slice(0,l).concat(c.slice(l+1)),0),{scroll:!1,origin:"*mouse"}),u=o.sel):Yr(o,l,s,V):(l=0,eo(o,new Sr([s],0),V),u=o.sel);var d=n;function m(t){if(0!=nt(d,t))if(d=t,"rectangle"==i.unit){for(var r=[],a=e.options.tabSize,c=U(Ke(o,n.line).text,n.ch,a),f=U(Ke(o,t.line).text,t.ch,a),m=Math.min(c,f),p=Math.max(c,f),h=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));h<=g;h++){var y=Ke(o,h).text,v=W(y,m,a);m==p?r.push(new Dr(tt(h,v),tt(h,v))):y.length>v&&r.push(new Dr(tt(h,v),tt(h,W(y,p,a))))}r.length||r.push(new Dr(n,n)),eo(o,Ar(e,u.ranges.slice(0,l).concat(r),l),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var C,b=s,x=va(e,t,i.unit),E=b.anchor;nt(x.anchor,E)>0?(C=x.head,E=at(b.from(),x.anchor)):(C=x.anchor,E=ot(b.to(),x.head));var S=u.ranges.slice(0);S[l]=function(e,t){var n=t.anchor,i=t.head,r=Ke(e.doc,n.line);if(0==nt(n,i)&&n.sticky==i.sticky)return t;var o=ce(r);if(!o)return t;var a=le(o,n.ch,n.sticky),s=o[a];if(s.from!=n.ch&&s.to!=n.ch)return t;var l,u=a+(s.from==n.ch==(1!=s.level)?0:1);if(0==u||u==o.length)return t;if(i.line!=n.line)l=(i.line-n.line)*("ltr"==e.doc.direction?1:-1)>0;else{var c=le(o,i.ch,i.sticky),f=c-a||(i.ch-n.ch)*(1==s.level?-1:1);l=c==u-1||c==u?f<0:f>0}var d=o[u+(l?-1:0)],m=l==(1==d.level),p=m?d.from:d.to,h=m?"after":"before";return n.ch==p&&n.sticky==h?t:new Dr(new tt(n.line,p,h),i)}(e,new Dr(lt(o,E),C)),eo(o,Ar(e,S,l),V)}}var p=r.wrapper.getBoundingClientRect(),h=0;function g(t){var n=++h,a=ci(e,t,!0,"rectangle"==i.unit);if(a)if(0!=nt(a,d)){e.curOp.focus=P(),m(a);var s=Ti(r,o);(a.line>=s.to||a.linep.bottom?20:0;l&&setTimeout(tr(e,(function(){h==n&&(r.scroller.scrollTop+=l,g(t))})),50)}}function y(t){e.state.selectingText=!1,h=1/0,t&&(be(t),r.input.focus()),pe(r.wrapper.ownerDocument,"mousemove",v),pe(r.wrapper.ownerDocument,"mouseup",C),o.history.lastSelOrigin=null}var v=tr(e,(function(e){0!==e.buttons&&Ae(e)?g(e):y(e)})),C=tr(e,y);e.state.selectingText=C,de(r.wrapper.ownerDocument,"mousemove",v),de(r.wrapper.ownerDocument,"mouseup",C)}(e,i,t,o)}(t,i,o,e):De(e)==n.scroller&&be(e):2==r?(i&&Jr(t.doc,i),setTimeout((function(){return n.input.focus()}),20)):3==r&&(S?t.display.input.onContextMenu(e):Di(t)))}}function va(e,t,n){if("char"==n)return new Dr(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new Dr(tt(t.line,0),lt(e.doc,tt(t.line+1,0)));var i=n(e,t);return new Dr(i.from,i.to)}function Ca(e,t,n,i){var r,o;if(t.touches)r=t.touches[0].clientX,o=t.touches[0].clientY;else try{r=t.clientX,o=t.clientY}catch(e){return!1}if(r>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;i&&be(t);var a=e.display,s=a.lineDiv.getBoundingClientRect();if(o>s.bottom||!ve(e,n))return Ee(t);o-=s.top-a.viewOffset;for(var l=0;l=r)return he(e,n,e,$e(e.doc,o),e.display.gutterSpecs[l].className,t),Ee(t)}}function ba(e,t){return Ca(e,t,"gutterClick",!0)}function xa(e,t){Sn(e.display,t)||function(e,t){return!!ve(e,"gutterContextMenu")&&Ca(e,t,"gutterContextMenu",!1)}(e,t)||ge(e,t,"contextmenu")||S||e.display.input.onContextMenu(t)}function Ea(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),zn(e)}ga.prototype.compare=function(e,t,n){return this.time+400>e&&0==nt(t,this.pos)&&n==this.button};var Sa={toString:function(){return"CodeMirror.Init"}},Da={},Aa={};function Ra(e,t,n){if(!t!=!(n&&n!=Sa)){var i=e.display.dragFunctions,r=t?de:pe;r(e.display.scroller,"dragstart",i.start),r(e.display.scroller,"dragenter",i.enter),r(e.display.scroller,"dragover",i.over),r(e.display.scroller,"dragleave",i.leave),r(e.display.scroller,"drop",i.drop)}}function ka(e){e.options.lineWrapping?(O(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(R(e.display.wrapper,"CodeMirror-wrap"),Wt(e)),ui(e),di(e),zn(e),setTimeout((function(){return ji(e)}),100)}function Ma(e,t){var n=this;if(!(this instanceof Ma))return new Ma(e,t);this.options=t=t?B(t):{},B(Da,t,!1);var i=t.value;"string"==typeof i?i=new Po(i,t.mode,null,t.lineSeparator,t.direction):t.mode&&(i.modeOption=t.mode),this.doc=i;var r=new Ma.inputStyles[t.inputStyle](this),o=this.display=new yr(e,i,r,t);for(var u in o.wrapper.CodeMirror=this,Ea(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Gi(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new F,keySeq:null,specialChars:null},t.autofocus&&!y&&o.input.focus(),a&&s<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(e){var t=e.display;de(t.scroller,"mousedown",tr(e,ya)),de(t.scroller,"dblclick",a&&s<11?tr(e,(function(t){if(!ge(e,t)){var n=ci(e,t);if(n&&!ba(e,t)&&!Sn(e.display,t)){be(t);var i=e.findWordAt(n);Jr(e.doc,i.anchor,i.head)}}})):function(t){return ge(e,t)||be(t)}),de(t.scroller,"contextmenu",(function(t){return xa(e,t)})),de(t.input.getField(),"contextmenu",(function(n){t.scroller.contains(n.target)||xa(e,n)}));var n,i={end:0};function r(){t.activeTouch&&(n=setTimeout((function(){return t.activeTouch=null}),1e3),(i=t.activeTouch).end=+new Date)}function o(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}function l(e,t){if(null==t.left)return!0;var n=t.left-e.left,i=t.top-e.top;return n*n+i*i>400}de(t.scroller,"touchstart",(function(r){if(!ge(e,r)&&!o(r)&&!ba(e,r)){t.input.ensurePolled(),clearTimeout(n);var a=+new Date;t.activeTouch={start:a,moved:!1,prev:a-i.end<=300?i:null},1==r.touches.length&&(t.activeTouch.left=r.touches[0].pageX,t.activeTouch.top=r.touches[0].pageY)}})),de(t.scroller,"touchmove",(function(){t.activeTouch&&(t.activeTouch.moved=!0)})),de(t.scroller,"touchend",(function(n){var i=t.activeTouch;if(i&&!Sn(t,n)&&null!=i.left&&!i.moved&&new Date-i.start<300){var o,a=e.coordsChar(t.activeTouch,"page");o=!i.prev||l(i,i.prev)?new Dr(a,a):!i.prev.prev||l(i,i.prev.prev)?e.findWordAt(a):new Dr(tt(a.line,0),lt(e.doc,tt(a.line+1,0))),e.setSelection(o.anchor,o.head),e.focus(),be(n)}r()})),de(t.scroller,"touchcancel",r),de(t.scroller,"scroll",(function(){t.scroller.clientHeight&&(Ni(e,t.scroller.scrollTop),Ui(e,t.scroller.scrollLeft,!0),he(e,"scroll",e))})),de(t.scroller,"mousewheel",(function(t){return Er(e,t)})),de(t.scroller,"DOMMouseScroll",(function(t){return Er(e,t)})),de(t.wrapper,"scroll",(function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0})),t.dragFunctions={enter:function(t){ge(e,t)||Se(t)},over:function(t){ge(e,t)||(function(e,t){var n=ci(e,t);if(n){var i=document.createDocumentFragment();Ci(e,n,i),e.display.dragCursor||(e.display.dragCursor=T("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),M(e.display.dragCursor,i)}}(e,t),Se(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-Oo<100))Se(t);else if(!ge(e,t)&&!Sn(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!d)){var n=T("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",f&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),f&&n.parentNode.removeChild(n)}}(e,t)},drop:tr(e,_o),leave:function(t){ge(e,t)||Lo(e)}};var u=t.input.getField();de(u,"keyup",(function(t){return da.call(e,t)})),de(u,"keydown",tr(e,fa)),de(u,"keypress",tr(e,ma)),de(u,"focus",(function(t){return Ai(e,t)})),de(u,"blur",(function(t){return Ri(e,t)}))}(this),Uo(),Ki(this),this.curOp.forceUpdate=!0,Nr(this,i),t.autofocus&&!y||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&Ai(n)}),20):Ri(this),Aa)Aa.hasOwnProperty(u)&&Aa[u](this,t[u],Sa);mr(this),t.finishInit&&t.finishInit(this);for(var c=0;c150)){if(!i)return;n="prev"}}else u=0,n="not";"prev"==n?u=t>o.first?U(Ke(o,t-1).text,null,a):0:"add"==n?u=l+e.options.indentUnit:"subtract"==n?u=l-e.options.indentUnit:"number"==typeof n&&(u=l+n),u=Math.max(0,u);var f="",d=0;if(e.options.indentWithTabs)for(var m=Math.floor(u/a);m;--m)d+=a,f+="\t";if(da,l=Pe(t),u=null;if(s&&i.ranges.length>1)if(Ia&&Ia.text.join("\n")==t){if(i.ranges.length%Ia.text.length==0){u=[];for(var c=0;c=0;d--){var m=i.ranges[d],p=m.from(),h=m.to();m.empty()&&(n&&n>0?p=tt(p.line,p.ch-n):e.state.overwrite&&!s?h=tt(h.line,Math.min(Ke(o,h.line).text.length,h.ch+J(l).length)):s&&Ia&&Ia.lineWise&&Ia.text.join("\n")==l.join("\n")&&(p=h=tt(p.line,0)));var g={from:p,to:h,text:u?u[d%u.length]:l,origin:r||(s?"paste":e.state.cutIncoming>a?"cut":"+input")};co(e.doc,g),un(e,"inputRead",e,g)}t&&!s&&La(e,t),Pi(e),e.curOp.updateInput<2&&(e.curOp.updateInput=f),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function _a(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||er(t,(function(){return Oa(t,n,0,null,"paste")})),!0}function La(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,i=n.ranges.length-1;i>=0;i--){var r=n.ranges[i];if(!(r.head.ch>100||i&&n.ranges[i-1].head.line==r.head.line)){var o=e.getModeAt(r.head),a=!1;if(o.electricChars){for(var s=0;s-1){a=wa(e,r.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Ke(e.doc,r.head.line).text.slice(0,r.head.ch))&&(a=wa(e,r.head.line,"smart"));a&&un(e,"electricInput",e,r.head.line)}}}function Na(e){for(var t=[],n=[],i=0;i0?0:-1));if(isNaN(c))a=null;else{var f=n>0?c>=55296&&c<56320:c>=56320&&c<57343;a=new tt(t.line,Math.max(0,Math.min(s.text.length,t.ch+n*(f?2:1))),-n)}}else a=r?function(e,t,n,i){var r=ce(t,e.doc.direction);if(!r)return ea(t,n,i);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=le(r,n.ch,n.sticky),a=r[o];if("ltr"==e.doc.direction&&a.level%2==0&&(i>0?a.to>n.ch:a.from=a.from&&d>=c.begin)){var m=f?"before":"after";return new tt(n.line,d,m)}}var p=function(e,t,i){for(var o=function(e,t){return t?new tt(n.line,l(e,1),"before"):new tt(n.line,e,"after")};e>=0&&e0==(1!=a.level),u=s?i.begin:l(i.end,-1);if(a.from<=u&&u0?c.end:l(c.begin,-1);return null==g||i>0&&g==t.text.length||!(h=p(i>0?0:r.length-1,i,u(g)))?null:h}(e.cm,s,t,n):ea(s,t,n);if(null==a){if(o||((u=t.line+l)=e.first+e.size||(t=new tt(u,t.ch,t.sticky),!(s=Ke(e,u)))))return!1;t=ta(r,e.cm,s,t.line,l)}else t=a;return!0}if("char"==i||"codepoint"==i)u();else if("column"==i)u(!0);else if("word"==i||"group"==i)for(var c=null,f="group"==i,d=e.cm&&e.cm.getHelper(t,"wordChars"),m=!0;!(n<0)||u(!m);m=!1){var p=s.text.charAt(t.ch)||"\n",h=te(p,d)?"w":f&&"\n"==p?"n":!f||/\s/.test(p)?null:"p";if(!f||m||h||(h="s"),c&&c!=h){n<0&&(n=1,u(),t.sticky="after");break}if(h&&(c=h),n>0&&!u(!m))break}var g=ao(e,t,o,a,!0);return it(o,g)&&(g.hitSide=!0),g}function qa(e,t,n,i){var r,o,a=e.doc,s=t.left;if("page"==i){var l=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),u=Math.max(l-.5*ri(e.display),3);r=(n>0?t.bottom:t.top)+n*u}else"line"==i&&(r=n>0?t.bottom+3:t.top-3);for(;(o=Yn(e,s,r)).outside;){if(n<0?r<=0:r>=a.height){o.hitSide=!0;break}r+=5*n}return o}var za=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new F,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function ja(e,t){var n=Pn(e,t.line);if(!n||n.hidden)return null;var i=Ke(e.doc,t.line),r=wn(n,i,t.line),o=ce(i,e.doc.direction),a="left";o&&(a=le(o,t.ch)%2?"right":"left");var s=Bn(r.map,t.ch,a);return s.offset="right"==s.collapse?s.end:s.start,s}function Ha(e,t){return t&&(e.bad=!0),e}function Va(e,t,n){var i;if(t==e.display.lineDiv){if(!(i=e.display.lineDiv.childNodes[n]))return Ha(e.clipPos(tt(e.display.viewTo-1)),!0);t=null,n=0}else for(i=t;;i=i.parentNode){if(!i||i==e.display.lineDiv)return null;if(i.parentNode&&i.parentNode==e.display.lineDiv)break}for(var r=0;r=t.display.viewTo||o.line=t.display.viewFrom&&ja(t,r)||{node:l[0].measure.map[2],offset:0},c=o.linei.firstLine()&&(a=tt(a.line-1,Ke(i.doc,a.line-1).length)),s.ch==Ke(i.doc,s.line).text.length&&s.liner.viewTo-1)return!1;a.line==r.viewFrom||0==(e=fi(i,a.line))?(t=Ye(r.view[0].line),n=r.view[0].node):(t=Ye(r.view[e].line),n=r.view[e-1].node.nextSibling);var l,u,c=fi(i,s.line);if(c==r.view.length-1?(l=r.viewTo-1,u=r.lineDiv.lastChild):(l=Ye(r.view[c+1].line)-1,u=r.view[c+1].node.previousSibling),!n)return!1;for(var f=i.doc.splitLines(function(e,t,n,i,r){var o="",a=!1,s=e.doc.lineSeparator(),l=!1;function u(){a&&(o+=s,l&&(o+=s),a=l=!1)}function c(e){e&&(u(),o+=e)}function f(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(n)return void c(n);var o,d=t.getAttribute("cm-marker");if(d){var m=e.findMarks(tt(i,0),tt(r+1,0),(g=+d,function(e){return e.id==g}));return void(m.length&&(o=m[0].find(0))&&c(Qe(e.doc,o.from,o.to).join(s)))}if("false"==t.getAttribute("contenteditable"))return;var p=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;p&&u();for(var h=0;h1&&d.length>1;)if(J(f)==J(d))f.pop(),d.pop(),l--;else{if(f[0]!=d[0])break;f.shift(),d.shift(),t++}for(var m=0,p=0,h=f[0],g=d[0],y=Math.min(h.length,g.length);ma.ch&&v.charCodeAt(v.length-p-1)==C.charCodeAt(C.length-p-1);)m--,p++;f[f.length-1]=v.slice(0,v.length-p).replace(/^\u200b+/,""),f[0]=f[0].slice(m).replace(/\u200b+$/,"");var x=tt(t,m),E=tt(l,d.length?J(d).length-p:0);return f.length>1||f[0]||nt(x,E)?(go(i.doc,f,x,E,"+input"),!0):void 0},za.prototype.ensurePolled=function(){this.forceCompositionEnd()},za.prototype.reset=function(){this.forceCompositionEnd()},za.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},za.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()}),80))},za.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||er(this.cm,(function(){return di(e.cm)}))},za.prototype.setUneditable=function(e){e.contentEditable="false"},za.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||tr(this.cm,Oa)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},za.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},za.prototype.onContextMenu=function(){},za.prototype.resetPosition=function(){},za.prototype.needsContentAttribute=!0;var Wa=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new F,this.hasSelection=!1,this.composing=null};Wa.prototype.init=function(e){var t=this,n=this,i=this.cm;this.createField(e);var r=this.textarea;function o(e){if(!ge(i,e)){if(i.somethingSelected())Pa({lineWise:!1,text:i.getSelections()});else{if(!i.options.lineWiseCopyCut)return;var t=Na(i);Pa({lineWise:!0,text:t.text}),"cut"==e.type?i.setSelections(t.ranges,null,H):(n.prevInput="",r.value=t.text.join("\n"),L(r))}"cut"==e.type&&(i.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),h&&(r.style.width="0px"),de(r,"input",(function(){a&&s>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()})),de(r,"paste",(function(e){ge(i,e)||_a(e,i)||(i.state.pasteIncoming=+new Date,n.fastPoll())})),de(r,"cut",o),de(r,"copy",o),de(e.scroller,"paste",(function(t){if(!Sn(e,t)&&!ge(i,t)){if(!r.dispatchEvent)return i.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,r.dispatchEvent(o)}})),de(e.lineSpace,"selectstart",(function(t){Sn(e,t)||be(t)})),de(r,"compositionstart",(function(){var e=i.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:i.markText(e,i.getCursor("to"),{className:"CodeMirror-composing"})}})),de(r,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Wa.prototype.createField=function(e){this.wrapper=Ua(),this.textarea=this.wrapper.firstChild},Wa.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},Wa.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,i=vi(e);if(e.options.moveInputWithCursor){var r=Qn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();i.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,r.top+a.top-o.top)),i.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,r.left+a.left-o.left))}return i},Wa.prototype.showSelection=function(e){var t=this.cm.display;M(t.cursorDiv,e.cursors),M(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Wa.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&L(this.textarea),a&&s>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",a&&s>=9&&(this.hasSelection=null))}},Wa.prototype.getField=function(){return this.textarea},Wa.prototype.supportsTouch=function(){return!1},Wa.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!y||P()!=this.textarea))try{this.textarea.focus()}catch(e){}},Wa.prototype.blur=function(){this.textarea.blur()},Wa.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Wa.prototype.receivedFocus=function(){this.slowPoll()},Wa.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},Wa.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))}))},Wa.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,i=this.prevInput;if(this.contextMenuPending||!t.state.focused||Oe(n)&&!i&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var r=n.value;if(r==i&&!t.somethingSelected())return!1;if(a&&s>=9&&this.hasSelection===r||v&&/[\uf700-\uf7ff]/.test(r))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=r.charCodeAt(0);if(8203!=o||i||(i="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,u=Math.min(i.length,r.length);l1e3||r.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=r,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},Wa.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Wa.prototype.onKeyPress=function(){a&&s>=9&&(this.hasSelection=null),this.fastPoll()},Wa.prototype.onContextMenu=function(e){var t=this,n=t.cm,i=n.display,r=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=ci(n,e),u=i.scroller.scrollTop;if(o&&!f){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&tr(n,eo)(n.doc,Rr(o),H);var c,d=r.style.cssText,m=t.wrapper.style.cssText,p=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",r.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-p.top-5)+"px; left: "+(e.clientX-p.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(c=window.scrollY),i.input.focus(),l&&window.scrollTo(null,c),i.input.reset(),n.somethingSelected()||(r.value=t.prevInput=" "),t.contextMenuPending=y,i.selForContextMenu=n.doc.sel,clearTimeout(i.detectingSelectAll),a&&s>=9&&g(),S){Se(e);var h=function(){pe(window,"mouseup",h),setTimeout(y,20)};de(window,"mouseup",h)}else setTimeout(y,50)}function g(){if(null!=r.selectionStart){var e=n.somethingSelected(),o="​"+(e?r.value:"");r.value="⇚",r.value=o,t.prevInput=e?"":"​",r.selectionStart=1,r.selectionEnd=o.length,i.selForContextMenu=n.doc.sel}}function y(){if(t.contextMenuPending==y&&(t.contextMenuPending=!1,t.wrapper.style.cssText=m,r.style.cssText=d,a&&s<9&&i.scrollbars.setScrollTop(i.scroller.scrollTop=u),null!=r.selectionStart)){(!a||a&&s<9)&&g();var e=0,o=function(){i.selForContextMenu==n.doc.sel&&0==r.selectionStart&&r.selectionEnd>0&&"​"==t.prevInput?tr(n,lo)(n):e++<10?i.detectingSelectAll=setTimeout(o,500):(i.selForContextMenu=null,i.input.reset())};i.detectingSelectAll=setTimeout(o,200)}}},Wa.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e,this.textarea.readOnly=!!e},Wa.prototype.setUneditable=function(){},Wa.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,i,r,o){e.defaults[n]=i,r&&(t[n]=o?function(e,t,n){n!=Sa&&r(e,t,n)}:r)}e.defineOption=n,e.Init=Sa,n("value","",(function(e,t){return e.setValue(t)}),!0),n("mode",null,(function(e,t){e.doc.modeOption=t,Ir(e)}),!0),n("indentUnit",2,Ir,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(e){Pr(e),zn(e),di(e)}),!0),n("lineSeparator",null,(function(e,t){if(e.doc.lineSep=t,t){var n=[],i=e.doc.first;e.doc.iter((function(e){for(var r=0;;){var o=e.text.indexOf(t,r);if(-1==o)break;r=o+t.length,n.push(tt(i,o))}i++}));for(var r=n.length-1;r>=0;r--)go(e.doc,t,n[r],tt(n[r].line,n[r].ch+t.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,(function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=Sa&&e.refresh()})),n("specialCharPlaceholder",Zt,(function(e){return e.refresh()}),!0),n("electricChars",!0),n("inputStyle",y?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(e,t){return e.getInputField().spellcheck=t}),!0),n("autocorrect",!1,(function(e,t){return e.getInputField().autocorrect=t}),!0),n("autocapitalize",!1,(function(e,t){return e.getInputField().autocapitalize=t}),!0),n("rtlMoveVisually",!b),n("wholeLineUpdateBefore",!0),n("theme","default",(function(e){Ea(e),gr(e)}),!0),n("keyMap","default",(function(e,t,n){var i=Yo(t),r=n!=Sa&&Yo(n);r&&r.detach&&r.detach(e,i),i.attach&&i.attach(e,r||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,ka,!0),n("gutters",[],(function(e,t){e.display.gutterSpecs=pr(t,e.options.lineNumbers),gr(e)}),!0),n("fixedGutter",!0,(function(e,t){e.display.gutters.style.left=t?si(e.display)+"px":"0",e.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(e){return ji(e)}),!0),n("scrollbarStyle","native",(function(e){Gi(e),ji(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(e,t){e.display.gutterSpecs=pr(e.options.gutters,t),gr(e)}),!0),n("firstLineNumber",1,gr,!0),n("lineNumberFormatter",(function(e){return e}),gr,!0),n("showCursorWhenSelecting",!1,yi,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(e,t){"nocursor"==t&&(Ri(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)})),n("screenReaderLabel",null,(function(e,t){t=""===t?null:t,e.display.input.screenReaderLabelChanged(t)})),n("disableInput",!1,(function(e,t){t||e.display.input.reset()}),!0),n("dragDrop",!0,Ra),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,yi,!0),n("singleCursorHeightPerLine",!0,yi,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Pr,!0),n("addModeClass",!1,Pr,!0),n("pollInterval",100),n("undoDepth",200,(function(e,t){return e.doc.history.undoDepth=t})),n("historyEventDelay",1250),n("viewportMargin",10,(function(e){return e.refresh()}),!0),n("maxHighlightLength",1e4,Pr,!0),n("moveInputWithCursor",!0,(function(e,t){t||e.display.input.resetPosition()})),n("tabindex",null,(function(e,t){return e.display.input.getField().tabIndex=t||""})),n("autofocus",null),n("direction","ltr",(function(e,t){return e.doc.setDirection(t)}),!0),n("phrases",null)}(Ma),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var i=this.options,r=i[e];i[e]==n&&"mode"!=e||(i[e]=n,t.hasOwnProperty(e)&&tr(this,t[e])(this,n,r),he(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](Yo(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(wa(this,r.head.line,e,!0),n=r.head.line,i==this.doc.sel.primIndex&&Pi(this));else{var o=r.from(),a=r.to(),s=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var l=s;l0&&Yr(this.doc,i,new Dr(o,u[i].to()),H)}}})),getTokenAt:function(e,t){return Ct(this,e,t)},getLineTokens:function(e,t){return Ct(this,tt(e),t,!0)},getTokenTypeAt:function(e){e=lt(this.doc,e);var t,n=mt(this,Ke(this.doc,e.line)),i=0,r=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=i+r>>1;if((a?n[2*a-1]:0)>=o)r=a;else{if(!(n[2*a+1]o&&(e=o,r=!0),i=Ke(this.doc,e)}else i=e;return Gn(this,i,{top:0,left:0},t||"page",n||r).top+(r?this.doc.height-Vt(i):0)},defaultTextHeight:function(){return ri(this.display)},defaultCharWidth:function(){return oi(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,i,r){var o,a,s,l=this.display,u=(e=Qn(this,lt(this.doc,e))).bottom,c=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),l.sizer.appendChild(t),"over"==i)u=e.top;else if("above"==i||"near"==i){var f=Math.max(l.wrapper.clientHeight,this.doc.height),d=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==i||e.bottom+t.offsetHeight>f)&&e.top>t.offsetHeight?u=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=f&&(u=e.bottom),c+t.offsetWidth>d&&(c=d-t.offsetWidth)}t.style.top=u+"px",t.style.left=t.style.right="","right"==r?(c=l.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==r?c=0:"middle"==r&&(c=(l.sizer.clientWidth-t.offsetWidth)/2),t.style.left=c+"px"),n&&(o=this,a={left:c,top:u,right:c+t.offsetWidth,bottom:u+t.offsetHeight},null!=(s=wi(o,a)).scrollTop&&Ni(o,s.scrollTop),null!=s.scrollLeft&&Ui(o,s.scrollLeft))},triggerOnKeyDown:nr(fa),triggerOnKeyPress:nr(ma),triggerOnKeyUp:da,triggerOnMouseDown:nr(ya),execCommand:function(e){if(na.hasOwnProperty(e))return na[e].call(null,this)},triggerElectric:nr((function(e){La(this,e)})),findPosH:function(e,t,n,i){var r=1;t<0&&(r=-1,t=-t);for(var o=lt(this.doc,e),a=0;a0&&a(t.charAt(n-1));)--n;for(;i.5||this.options.lineWrapping)&&ui(this),he(this,"refresh",this)})),swapDoc:nr((function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Nr(this,e),zn(this),this.display.input.reset(),Oi(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,un(this,"swapDoc",this,t),t})),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ce(e),e.registerHelper=function(t,i,r){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][i]=r},e.registerGlobalHelper=function(t,i,r,o){e.registerHelper(t,i,o),n[t]._global.push({pred:r,val:o})}}(Ma);var Ka="iter insert remove copy getEditor constructor".split(" ");for(var Qa in Po.prototype)Po.prototype.hasOwnProperty(Qa)&&q(Ka,Qa)<0&&(Ma.prototype[Qa]=function(e){return function(){return e.apply(this.doc,arguments)}}(Po.prototype[Qa]));return Ce(Po),Ma.inputStyles={textarea:Wa,contenteditable:za},Ma.defineMode=function(e){Ma.defaults.mode||"null"==e||(Ma.defaults.mode=e),Ue.apply(this,arguments)},Ma.defineMIME=function(e,t){Be[e]=t},Ma.defineMode("null",(function(){return{token:function(e){return e.skipToEnd()}}})),Ma.defineMIME("text/plain","null"),Ma.defineExtension=function(e,t){Ma.prototype[e]=t},Ma.defineDocExtension=function(e,t){Po.prototype[e]=t},Ma.fromTextArea=function(e,t){if((t=t?B(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=P();t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}function i(){e.value=s.getValue()}var r;if(e.form&&(de(e.form,"submit",i),!t.leaveSubmitMethodAlone)){var o=e.form;r=o.submit;try{var a=o.submit=function(){i(),o.submit=r,o.submit(),o.submit=a}}catch(e){}}t.finishInit=function(n){n.save=i,n.getTextArea=function(){return e},n.toTextArea=function(){n.toTextArea=isNaN,i(),e.parentNode.removeChild(n.getWrapperElement()),e.style.display="",e.form&&(pe(e.form,"submit",i),t.leaveSubmitMethodAlone||"function"!=typeof e.form.submit||(e.form.submit=r))}},e.style.display="none";var s=Ma((function(t){return e.parentNode.insertBefore(t,e.nextSibling)}),t);return s},function(e){e.off=pe,e.on=de,e.wheelEventPixels=xr,e.Doc=Po,e.splitLines=Pe,e.countColumn=U,e.findColumn=W,e.isWordChar=ee,e.Pass=j,e.signal=he,e.Line=Kt,e.changeEnd=kr,e.scrollbarModel=Vi,e.Pos=tt,e.cmpPos=nt,e.modes=Ne,e.mimeModes=Be,e.resolveMode=Fe,e.getMode=qe,e.modeExtensions=ze,e.extendMode=je,e.copyState=He,e.startState=Ge,e.innerMode=Ve,e.commands=na,e.keyMap=Vo,e.keyName=Xo,e.isModifierKey=Qo,e.lookupKey=Ko,e.normalizeKeyMap=Wo,e.StringStream=We,e.SharedTextMarker=Mo,e.TextMarker=Ro,e.LineWidget=So,e.e_preventDefault=be,e.e_stopPropagation=xe,e.e_stop=Se,e.addClass=O,e.contains=I,e.rmClass=R,e.keyNames=qo}(Ma),Ma.version="5.61.1",Ma}()},6876:function(e,t,n){!function(e){"use strict";e.defineMode("javascript",(function(t,n){var i,r,o=t.indentUnit,a=n.statementIndent,s=n.jsonld,l=n.json||s,u=!1!==n.trackScope,c=n.typescript,f=n.wordCharacters||/[\w$\xa1-\uffff]/,d=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),i=e("keyword c"),r=e("keyword d"),o=e("operator"),a={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:n,do:n,try:n,finally:n,return:r,break:r,continue:r,new:e("new"),delete:i,void:i,throw:i,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:o,typeof:o,instanceof:o,true:a,false:a,null:a,undefined:a,NaN:a,Infinity:a,this:e("this"),class:e("class"),super:e("atom"),yield:i,export:e("export"),import:e("import"),extends:i,await:i}}(),m=/[+\-*&%=<>!?|~^@]/,p=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function h(e,t,n){return i=e,r=n,t}function g(e,t){var n,i=e.next();if('"'==i||"'"==i)return t.tokenize=(n=i,function(e,t){var i,r=!1;if(s&&"@"==e.peek()&&e.match(p))return t.tokenize=g,h("jsonld-keyword","meta");for(;null!=(i=e.next())&&(i!=n||r);)r=!r&&"\\"==i;return r||(t.tokenize=g),h("string","string")}),t.tokenize(e,t);if("."==i&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return h("number","number");if("."==i&&e.match(".."))return h("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(i))return h(i);if("="==i&&e.eat(">"))return h("=>","operator");if("0"==i&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return h("number","number");if(/\d/.test(i))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),h("number","number");if("/"==i)return e.eat("*")?(t.tokenize=y,y(e,t)):e.eat("/")?(e.skipToEnd(),h("comment","comment")):et(e,t,1)?(function(e){for(var t,n=!1,i=!1;null!=(t=e.next());){if(!n){if("/"==t&&!i)return;"["==t?i=!0:i&&"]"==t&&(i=!1)}n=!n&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),h("regexp","string-2")):(e.eat("="),h("operator","operator",e.current()));if("`"==i)return t.tokenize=v,v(e,t);if("#"==i&&"!"==e.peek())return e.skipToEnd(),h("meta","meta");if("#"==i&&e.eatWhile(f))return h("variable","property");if("<"==i&&e.match("!--")||"-"==i&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),h("comment","comment");if(m.test(i))return">"==i&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=i&&"="!=i||e.eat("="):/[<>*+\-|&?]/.test(i)&&(e.eat(i),">"==i&&e.eat(i))),"?"==i&&e.eat(".")?h("."):h("operator","operator",e.current());if(f.test(i)){e.eatWhile(f);var r=e.current();if("."!=t.lastType){if(d.propertyIsEnumerable(r)){var o=d[r];return h(o.type,o.style,r)}if("async"==r&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return h("async","keyword",r)}return h("variable","variable",r)}}function y(e,t){for(var n,i=!1;n=e.next();){if("/"==n&&i){t.tokenize=g;break}i="*"==n}return h("comment","comment")}function v(e,t){for(var n,i=!1;null!=(n=e.next());){if(!i&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=g;break}i=!i&&"\\"==n}return h("quasi","string-2",e.current())}var C="([{}])";function b(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(c){var i=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));i&&(n=i.index)}for(var r=0,o=!1,a=n-1;a>=0;--a){var s=e.string.charAt(a),l=C.indexOf(s);if(l>=0&&l<3){if(!r){++a;break}if(0==--r){"("==s&&(o=!0);break}}else if(l>=3&&l<6)++r;else if(f.test(s))o=!0;else if(/["'\/`]/.test(s))for(;;--a){if(0==a)return;if(e.string.charAt(a-1)==s&&"\\"!=e.string.charAt(a-2)){a--;break}}else if(o&&!r){++a;break}}o&&!r&&(t.fatArrowAt=a)}}var x={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function E(e,t,n,i,r,o){this.indented=e,this.column=t,this.type=n,this.prev=r,this.info=o,null!=i&&(this.align=i)}function S(e,t){if(!u)return!1;for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var i=e.context;i;i=i.prev)for(n=i.vars;n;n=n.next)if(n.name==t)return!0}function D(e,t,n,i,r){var o=e.cc;for(A.state=e,A.stream=r,A.marked=null,A.cc=o,A.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((o.length?o.pop():l?H:z)(n,i)){for(;o.length&&o[o.length-1].lex;)o.pop()();return A.marked?A.marked:"variable"==n&&S(e,i)?"variable-2":t}}var A={state:null,column:null,marked:null,cc:null};function R(){for(var e=arguments.length-1;e>=0;e--)A.cc.push(arguments[e])}function k(){return R.apply(null,arguments),!0}function M(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function T(e){var t=A.state;if(A.marked="def",u){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var i=w(e,t.context);if(null!=i)return void(t.context=i)}else if(!M(e,t.localVars))return void(t.localVars=new O(e,t.localVars));n.globalVars&&!M(e,t.globalVars)&&(t.globalVars=new O(e,t.globalVars))}}function w(e,t){if(t){if(t.block){var n=w(e,t.prev);return n?n==t.prev?t:new P(n,t.vars,!0):null}return M(e,t.vars)?t:new P(t.prev,new O(e,t.vars),!1)}return null}function I(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function P(e,t,n){this.prev=e,this.vars=t,this.block=n}function O(e,t){this.name=e,this.next=t}var _=new O("this",new O("arguments",null));function L(){A.state.context=new P(A.state.context,A.state.localVars,!1),A.state.localVars=_}function N(){A.state.context=new P(A.state.context,A.state.localVars,!0),A.state.localVars=null}function B(){A.state.localVars=A.state.context.vars,A.state.context=A.state.context.prev}function U(e,t){var n=function(){var n=A.state,i=n.indented;if("stat"==n.lexical.type)i=n.lexical.indented;else for(var r=n.lexical;r&&")"==r.type&&r.align;r=r.prev)i=r.indented;n.lexical=new E(i,A.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function F(){var e=A.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function q(e){return function t(n){return n==e?k():";"==e||"}"==n||")"==n||"]"==n?R():k(t)}}function z(e,t){return"var"==e?k(U("vardef",t),Ae,q(";"),F):"keyword a"==e?k(U("form"),G,z,F):"keyword b"==e?k(U("form"),z,F):"keyword d"==e?A.stream.match(/^\s*$/,!1)?k():k(U("stat"),K,q(";"),F):"debugger"==e?k(q(";")):"{"==e?k(U("}"),N,ue,F,B):";"==e?k():"if"==e?("else"==A.state.lexical.info&&A.state.cc[A.state.cc.length-1]==F&&A.state.cc.pop()(),k(U("form"),G,z,F,Ie)):"function"==e?k(Le):"for"==e?k(U("form"),N,Pe,z,B,F):"class"==e||c&&"interface"==t?(A.marked="keyword",k(U("form","class"==e?e:t),qe,F)):"variable"==e?c&&"declare"==t?(A.marked="keyword",k(z)):c&&("module"==t||"enum"==t||"type"==t)&&A.stream.match(/^\s*\w/,!1)?(A.marked="keyword","enum"==t?k($e):"type"==t?k(Be,q("operator"),pe,q(";")):k(U("form"),Re,q("{"),U("}"),ue,F,F)):c&&"namespace"==t?(A.marked="keyword",k(U("form"),H,z,F)):c&&"abstract"==t?(A.marked="keyword",k(z)):k(U("stat"),ne):"switch"==e?k(U("form"),G,q("{"),U("}","switch"),N,ue,F,F,B):"case"==e?k(H,q(":")):"default"==e?k(q(":")):"catch"==e?k(U("form"),L,j,z,F,B):"export"==e?k(U("stat"),Ve,F):"import"==e?k(U("stat"),We,F):"async"==e?k(z):"@"==t?k(H,z):R(U("stat"),H,q(";"),F)}function j(e){if("("==e)return k(Ue,q(")"))}function H(e,t){return W(e,t,!1)}function V(e,t){return W(e,t,!0)}function G(e){return"("!=e?R():k(U(")"),K,q(")"),F)}function W(e,t,n){if(A.state.fatArrowAt==A.stream.start){var i=n?Z:$;if("("==e)return k(L,U(")"),se(Ue,")"),F,q("=>"),i,B);if("variable"==e)return R(L,Re,q("=>"),i,B)}var r=n?J:Q;return x.hasOwnProperty(e)?k(r):"function"==e?k(Le,r):"class"==e||c&&"interface"==t?(A.marked="keyword",k(U("form"),Fe,F)):"keyword c"==e||"async"==e?k(n?V:H):"("==e?k(U(")"),K,q(")"),F,r):"operator"==e||"spread"==e?k(n?V:H):"["==e?k(U("]"),Ye,F,r):"{"==e?le(re,"}",null,r):"quasi"==e?R(X,r):"new"==e?k(function(e){return function(t){return"."==t?k(e?te:ee):"variable"==t&&c?k(Ee,e?J:Q):R(e?V:H)}}(n)):k()}function K(e){return e.match(/[;\}\)\],]/)?R():R(H)}function Q(e,t){return","==e?k(K):J(e,t,!1)}function J(e,t,n){var i=0==n?Q:J,r=0==n?H:V;return"=>"==e?k(L,n?Z:$,B):"operator"==e?/\+\+|--/.test(t)||c&&"!"==t?k(i):c&&"<"==t&&A.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?k(U(">"),se(pe,">"),F,i):"?"==t?k(H,q(":"),r):k(r):"quasi"==e?R(X,i):";"!=e?"("==e?le(V,")","call",i):"."==e?k(ie,i):"["==e?k(U("]"),K,q("]"),F,i):c&&"as"==t?(A.marked="keyword",k(pe,i)):"regexp"==e?(A.state.lastType=A.marked="operator",A.stream.backUp(A.stream.pos-A.stream.start-1),k(r)):void 0:void 0}function X(e,t){return"quasi"!=e?R():"${"!=t.slice(t.length-2)?k(X):k(H,Y)}function Y(e){if("}"==e)return A.marked="string-2",A.state.tokenize=v,k(X)}function $(e){return b(A.stream,A.state),R("{"==e?z:H)}function Z(e){return b(A.stream,A.state),R("{"==e?z:V)}function ee(e,t){if("target"==t)return A.marked="keyword",k(Q)}function te(e,t){if("target"==t)return A.marked="keyword",k(J)}function ne(e){return":"==e?k(F,z):R(Q,q(";"),F)}function ie(e){if("variable"==e)return A.marked="property",k()}function re(e,t){return"async"==e?(A.marked="property",k(re)):"variable"==e||"keyword"==A.style?(A.marked="property","get"==t||"set"==t?k(oe):(c&&A.state.fatArrowAt==A.stream.start&&(n=A.stream.match(/^\s*:\s*/,!1))&&(A.state.fatArrowAt=A.stream.pos+n[0].length),k(ae))):"number"==e||"string"==e?(A.marked=s?"property":A.style+" property",k(ae)):"jsonld-keyword"==e?k(ae):c&&I(t)?(A.marked="keyword",k(re)):"["==e?k(H,ce,q("]"),ae):"spread"==e?k(V,ae):"*"==t?(A.marked="keyword",k(re)):":"==e?R(ae):void 0;var n}function oe(e){return"variable"!=e?R(ae):(A.marked="property",k(Le))}function ae(e){return":"==e?k(V):"("==e?R(Le):void 0}function se(e,t,n){function i(r,o){if(n?n.indexOf(r)>-1:","==r){var a=A.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),k((function(n,i){return n==t||i==t?R():R(e)}),i)}return r==t||o==t?k():n&&n.indexOf(";")>-1?R(e):k(q(t))}return function(n,r){return n==t||r==t?k():R(e,i)}}function le(e,t,n){for(var i=3;i"),pe):"quasi"==e?R(ve,xe):void 0}function he(e){if("=>"==e)return k(pe)}function ge(e){return e.match(/[\}\)\]]/)?k():","==e||";"==e?k(ge):R(ye,ge)}function ye(e,t){return"variable"==e||"keyword"==A.style?(A.marked="property",k(ye)):"?"==t||"number"==e||"string"==e?k(ye):":"==e?k(pe):"["==e?k(q("variable"),fe,q("]"),ye):"("==e?R(Ne,ye):e.match(/[;\}\)\],]/)?void 0:k()}function ve(e,t){return"quasi"!=e?R():"${"!=t.slice(t.length-2)?k(ve):k(pe,Ce)}function Ce(e){if("}"==e)return A.marked="string-2",A.state.tokenize=v,k(ve)}function be(e,t){return"variable"==e&&A.stream.match(/^\s*[?:]/,!1)||"?"==t?k(be):":"==e?k(pe):"spread"==e?k(be):R(pe)}function xe(e,t){return"<"==t?k(U(">"),se(pe,">"),F,xe):"|"==t||"."==e||"&"==t?k(pe):"["==e?k(pe,q("]"),xe):"extends"==t||"implements"==t?(A.marked="keyword",k(pe)):"?"==t?k(pe,q(":"),pe):void 0}function Ee(e,t){if("<"==t)return k(U(">"),se(pe,">"),F,xe)}function Se(){return R(pe,De)}function De(e,t){if("="==t)return k(pe)}function Ae(e,t){return"enum"==t?(A.marked="keyword",k($e)):R(Re,ce,Te,we)}function Re(e,t){return c&&I(t)?(A.marked="keyword",k(Re)):"variable"==e?(T(t),k()):"spread"==e?k(Re):"["==e?le(Me,"]"):"{"==e?le(ke,"}"):void 0}function ke(e,t){return"variable"!=e||A.stream.match(/^\s*:/,!1)?("variable"==e&&(A.marked="property"),"spread"==e?k(Re):"}"==e?R():"["==e?k(H,q("]"),q(":"),ke):k(q(":"),Re,Te)):(T(t),k(Te))}function Me(){return R(Re,Te)}function Te(e,t){if("="==t)return k(V)}function we(e){if(","==e)return k(Ae)}function Ie(e,t){if("keyword b"==e&&"else"==t)return k(U("form","else"),z,F)}function Pe(e,t){return"await"==t?k(Pe):"("==e?k(U(")"),Oe,F):void 0}function Oe(e){return"var"==e?k(Ae,_e):"variable"==e?k(_e):R(_e)}function _e(e,t){return")"==e?k():";"==e?k(_e):"in"==t||"of"==t?(A.marked="keyword",k(H,_e)):R(H,_e)}function Le(e,t){return"*"==t?(A.marked="keyword",k(Le)):"variable"==e?(T(t),k(Le)):"("==e?k(L,U(")"),se(Ue,")"),F,de,z,B):c&&"<"==t?k(U(">"),se(Se,">"),F,Le):void 0}function Ne(e,t){return"*"==t?(A.marked="keyword",k(Ne)):"variable"==e?(T(t),k(Ne)):"("==e?k(L,U(")"),se(Ue,")"),F,de,B):c&&"<"==t?k(U(">"),se(Se,">"),F,Ne):void 0}function Be(e,t){return"keyword"==e||"variable"==e?(A.marked="type",k(Be)):"<"==t?k(U(">"),se(Se,">"),F):void 0}function Ue(e,t){return"@"==t&&k(H,Ue),"spread"==e?k(Ue):c&&I(t)?(A.marked="keyword",k(Ue)):c&&"this"==e?k(ce,Te):R(Re,ce,Te)}function Fe(e,t){return"variable"==e?qe(e,t):ze(e,t)}function qe(e,t){if("variable"==e)return T(t),k(ze)}function ze(e,t){return"<"==t?k(U(">"),se(Se,">"),F,ze):"extends"==t||"implements"==t||c&&","==e?("implements"==t&&(A.marked="keyword"),k(c?pe:H,ze)):"{"==e?k(U("}"),je,F):void 0}function je(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||c&&I(t))&&A.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(A.marked="keyword",k(je)):"variable"==e||"keyword"==A.style?(A.marked="property",k(He,je)):"number"==e||"string"==e?k(He,je):"["==e?k(H,ce,q("]"),He,je):"*"==t?(A.marked="keyword",k(je)):c&&"("==e?R(Ne,je):";"==e||","==e?k(je):"}"==e?k():"@"==t?k(H,je):void 0}function He(e,t){if("!"==t)return k(He);if("?"==t)return k(He);if(":"==e)return k(pe,Te);if("="==t)return k(V);var n=A.state.lexical.prev;return R(n&&"interface"==n.info?Ne:Le)}function Ve(e,t){return"*"==t?(A.marked="keyword",k(Xe,q(";"))):"default"==t?(A.marked="keyword",k(H,q(";"))):"{"==e?k(se(Ge,"}"),Xe,q(";")):R(z)}function Ge(e,t){return"as"==t?(A.marked="keyword",k(q("variable"))):"variable"==e?R(V,Ge):void 0}function We(e){return"string"==e?k():"("==e?R(H):"."==e?R(Q):R(Ke,Qe,Xe)}function Ke(e,t){return"{"==e?le(Ke,"}"):("variable"==e&&T(t),"*"==t&&(A.marked="keyword"),k(Je))}function Qe(e){if(","==e)return k(Ke,Qe)}function Je(e,t){if("as"==t)return A.marked="keyword",k(Ke)}function Xe(e,t){if("from"==t)return A.marked="keyword",k(H)}function Ye(e){return"]"==e?k():R(se(V,"]"))}function $e(){return R(U("form"),Re,q("{"),U("}"),se(Ze,"}"),F,F)}function Ze(){return R(Re,Te)}function et(e,t,n){return t.tokenize==g&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return B.lex=!0,F.lex=!0,{startState:function(e){var t={tokenize:g,lastType:"sof",cc:[],lexical:new E((e||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new P(null,null,!1),indented:e||0};return n.globalVars&&"object"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),b(e,t)),t.tokenize!=y&&e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==i?n:(t.lastType="operator"!=i||"++"!=r&&"--"!=r?i:"incdec",D(t,n,i,r,e))},indent:function(t,i){if(t.tokenize==y||t.tokenize==v)return e.Pass;if(t.tokenize!=g)return 0;var r,s=i&&i.charAt(0),l=t.lexical;if(!/^\s*else\b/.test(i))for(var u=t.cc.length-1;u>=0;--u){var c=t.cc[u];if(c==F)l=l.prev;else if(c!=Ie&&c!=B)break}for(;("stat"==l.type||"form"==l.type)&&("}"==s||(r=t.cc[t.cc.length-1])&&(r==Q||r==J)&&!/^[,\.=+\-*:?[\(]/.test(i));)l=l.prev;a&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var f=l.type,d=s==f;return"vardef"==f?l.indented+("operator"==t.lastType||","==t.lastType?l.info.length+1:0):"form"==f&&"{"==s?l.indented:"form"==f?l.indented+o:"stat"==f?l.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||m.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,i)?a||o:0):"switch"!=l.info||d||0==n.doubleIndentSwitch?l.align?l.column+(d?0:1):l.indented+(d?0:o):l.indented+(/^(?:case|default)\b/.test(i)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:s,jsonMode:l,expressionAllowed:et,skipExpression:function(t){D(t,"atom","atom","true",new e.StringStream("",2,null))}}})),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/manifest+json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}(n(4631))},3631:function(e,t,n){!function(e){"use strict";e.defineMode("yaml",(function(){var e=new RegExp("\\b(("+["true","false","on","off","yes","no"].join(")|(")+"))$","i");return{token:function(t,n){var i=t.peek(),r=n.escaped;if(n.escaped=!1,"#"==i&&(0==t.pos||/\s/.test(t.string.charAt(t.pos-1))))return t.skipToEnd(),"comment";if(t.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(n.literal&&t.indentation()>n.keyCol)return t.skipToEnd(),"string";if(n.literal&&(n.literal=!1),t.sol()){if(n.keyCol=0,n.pair=!1,n.pairStart=!1,t.match("---"))return"def";if(t.match("..."))return"def";if(t.match(/\s*-\s+/))return"meta"}if(t.match(/^(\{|\}|\[|\])/))return"{"==i?n.inlinePairs++:"}"==i?n.inlinePairs--:"["==i?n.inlineList++:n.inlineList--,"meta";if(n.inlineList>0&&!r&&","==i)return t.next(),"meta";if(n.inlinePairs>0&&!r&&","==i)return n.keyCol=0,n.pair=!1,n.pairStart=!1,t.next(),"meta";if(n.pairStart){if(t.match(/^\s*(\||\>)\s*/))return n.literal=!0,"meta";if(t.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(0==n.inlinePairs&&t.match(/^\s*-?[0-9\.\,]+\s?$/))return"number";if(n.inlinePairs>0&&t.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(t.match(e))return"keyword"}return!n.pair&&t.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(n.pair=!0,n.keyCol=t.indentation(),"atom"):n.pair&&t.match(/^:\s*/)?(n.pairStart=!0,"meta"):(n.pairStart=!1,n.escaped="\\"==i,t.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:"#",fold:"indent"}})),e.defineMIME("text/x-yaml","yaml"),e.defineMIME("text/yaml","yaml")}(n(4631))},1240:function(e,t,n){"use strict";var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([e.id,"/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor-mark {\n background-color: rgba(20, 255, 20, 0.5);\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n}\n.cm-animate-fat-cursor {\n width: auto;\n border: 0;\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n background-color: #7e7;\n}\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n","",{version:3,sources:["webpack://./node_modules/codemirror/lib/codemirror.css"],names:[],mappings:"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",sourcesContent:["/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor-mark {\n background-color: rgba(20, 255, 20, 0.5);\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n}\n.cm-animate-fat-cursor {\n width: auto;\n border: 0;\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n background-color: #7e7;\n}\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n"],sourceRoot:""}]),t.Z=a},2559:function(e,t,n){"use strict";var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([e.id,"body {\n padding: 0;\n background-color: #f9f9f9;\n font-family: sans-serif;\n}\n.container {\n margin: 0;\n display: flex;\n flex-direction: column;\n padding-bottom: 30px;\n}\n\n#header {\n padding: 10px 0px;\n}\n#header a {\n font-size: 20px;\n font-weight: 400;\n text-decoration: none;\n}\n\n#pane {\n display: flex;\n flex-direction: row;\n}\n#inputWrapper {\n flex: 1;\n}\n#input {\n margin-top: 3px;\n}\n\n#input .CodeMirror {\n border: 1px solid #ddd;\n height: auto;\n}\n#path {\n font-size: 20px;\n padding: 6px 8px;\n margin: 0;\n margin-bottom: 10px;\n}\n#output {\n flex: 0.3;\n padding: 20px;\n background: #f9f9f9;\n}\n\nh1 {\n margin: 10px;\n}\n\n#footer {\n position: fixed;\n text-align: right;\n bottom: 0px;\n left:0px;\n right: 0px;\n padding: 5px 20px;\n background: #eee;\n opacity: 0.8;\n z-index: 100;\n font-size: 13px;\n border-top: 1px solid #ddd;\n}\n","",{version:3,sources:["webpack://./public/app.css"],names:[],mappings:"AAAA;EACE,UAAU;EACV,yBAAyB;EACzB,uBAAuB;AACzB;AACA;EACE,SAAS;EACT,aAAa;EACb,sBAAsB;EACtB,oBAAoB;AACtB;;AAEA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,OAAO;AACT;AACA;EACE,eAAe;AACjB;;AAEA;EACE,sBAAsB;EACtB,YAAY;AACd;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,SAAS;EACT,mBAAmB;AACrB;AACA;EACE,SAAS;EACT,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,eAAe;EACf,iBAAiB;EACjB,WAAW;EACX,QAAQ;EACR,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,YAAY;EACZ,YAAY;EACZ,eAAe;EACf,0BAA0B;AAC5B",sourcesContent:["body {\n padding: 0;\n background-color: #f9f9f9;\n font-family: sans-serif;\n}\n.container {\n margin: 0;\n display: flex;\n flex-direction: column;\n padding-bottom: 30px;\n}\n\n#header {\n padding: 10px 0px;\n}\n#header a {\n font-size: 20px;\n font-weight: 400;\n text-decoration: none;\n}\n\n#pane {\n display: flex;\n flex-direction: row;\n}\n#inputWrapper {\n flex: 1;\n}\n#input {\n margin-top: 3px;\n}\n\n#input .CodeMirror {\n border: 1px solid #ddd;\n height: auto;\n}\n#path {\n font-size: 20px;\n padding: 6px 8px;\n margin: 0;\n margin-bottom: 10px;\n}\n#output {\n flex: 0.3;\n padding: 20px;\n background: #f9f9f9;\n}\n\nh1 {\n margin: 10px;\n}\n\n#footer {\n position: fixed;\n text-align: right;\n bottom: 0px;\n left:0px;\n right: 0px;\n padding: 5px 20px;\n background: #eee;\n opacity: 0.8;\n z-index: 100;\n font-size: 13px;\n border-top: 1px solid #ddd;\n}\n"],sourceRoot:""}]),t.Z=a},3645:function(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",i=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),i&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),i&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,i,r,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(i)for(var s=0;s0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=o),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),r&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=r):c[4]="".concat(r)),t.push(c))}},t}},7537:function(e){"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(i),o="/*# ".concat(r," */");return[t].concat([o]).join("\n")}return[t].join("\n")}},1072:function(e){var t;t=function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={exports:{},id:i,loaded:!1};return e[i].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(1),r=n(3),o=n(8),a=n(15);function s(e,t,n){var a=null,s=function(e,t){n&&n(e,t),a&&a.visit(e,t)},l="function"==typeof n?s:null,u=!1;if(t){u="boolean"==typeof t.comment&&t.comment;var c="boolean"==typeof t.attachComment&&t.attachComment;(u||c)&&((a=new i.CommentHandler).attach=c,t.comment=!0,l=s)}var f,d=!1;t&&"string"==typeof t.sourceType&&(d="module"===t.sourceType),f=t&&"boolean"==typeof t.jsx&&t.jsx?new r.JSXParser(e,t,l):new o.Parser(e,t,l);var m=d?f.parseModule():f.parseScript();return u&&a&&(m.comments=a.comments),f.config.tokens&&(m.tokens=f.tokens),f.config.tolerant&&(m.errors=f.errorHandler.errors),m}t.parse=s,t.parseModule=function(e,t,n){var i=t||{};return i.sourceType="module",s(e,i,n)},t.parseScript=function(e,t,n){var i=t||{};return i.sourceType="script",s(e,i,n)},t.tokenize=function(e,t,n){var i,r=new a.Tokenizer(e,t);i=[];try{for(;;){var o=r.getNextToken();if(!o)break;n&&(o=n(o)),i.push(o)}}catch(e){r.errorHandler.tolerate(e)}return r.errorHandler.tolerant&&(i.errors=r.errors()),i};var l=n(2);t.Syntax=l.Syntax,t.version="4.0.1"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),r=function(){function e(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return e.prototype.insertInnerComments=function(e,t){if(e.type===i.Syntax.BlockStatement&&0===e.body.length){for(var n=[],r=this.leading.length-1;r>=0;--r){var o=this.leading[r];t.end.offset>=o.start&&(n.unshift(o.comment),this.leading.splice(r,1),this.trailing.splice(r,1))}n.length&&(e.innerComments=n)}},e.prototype.findTrailingComments=function(e){var t=[];if(this.trailing.length>0){for(var n=this.trailing.length-1;n>=0;--n){var i=this.trailing[n];i.start>=e.end.offset&&t.unshift(i.comment)}return this.trailing.length=0,t}var r=this.stack[this.stack.length-1];if(r&&r.node.trailingComments){var o=r.node.trailingComments[0];o&&o.range[0]>=e.end.offset&&(t=r.node.trailingComments,delete r.node.trailingComments)}return t},e.prototype.findLeadingComments=function(e){for(var t,n=[];this.stack.length>0&&(o=this.stack[this.stack.length-1])&&o.start>=e.start.offset;)t=o.node,this.stack.pop();if(t){for(var i=(t.leadingComments?t.leadingComments.length:0)-1;i>=0;--i){var r=t.leadingComments[i];r.range[1]<=e.start.offset&&(n.unshift(r),t.leadingComments.splice(i,1))}return t.leadingComments&&0===t.leadingComments.length&&delete t.leadingComments,n}for(i=this.leading.length-1;i>=0;--i){var o;(o=this.leading[i]).start<=e.start.offset&&(n.unshift(o.comment),this.leading.splice(i,1))}return n},e.prototype.visitNode=function(e,t){if(!(e.type===i.Syntax.Program&&e.body.length>0)){this.insertInnerComments(e,t);var n=this.findTrailingComments(t),r=this.findLeadingComments(t);r.length>0&&(e.leadingComments=r),n.length>0&&(e.trailingComments=n),this.stack.push({node:e,start:t.start.offset})}},e.prototype.visitComment=function(e,t){var n="L"===e.type[0]?"Line":"Block",i={type:n,value:e.value};if(e.range&&(i.range=e.range),e.loc&&(i.loc=e.loc),this.comments.push(i),this.attach){var r={comment:{type:n,value:e.value,range:[t.start.offset,t.end.offset]},start:t.start.offset};e.loc&&(r.comment.loc=e.loc),e.type=n,this.leading.push(r),this.trailing.push(r)}},e.prototype.visit=function(e,t){"LineComment"===e.type||"BlockComment"===e.type?this.visitComment(e,t):this.attach&&this.visitNode(e,t)},e}();t.CommentHandler=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,t,n){"use strict";var i,r=this&&this.__extends||(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(4),a=n(5),s=n(6),l=n(7),u=n(8),c=n(13),f=n(14);function d(e){var t;switch(e.type){case s.JSXSyntax.JSXIdentifier:t=e.name;break;case s.JSXSyntax.JSXNamespacedName:var n=e;t=d(n.namespace)+":"+d(n.name);break;case s.JSXSyntax.JSXMemberExpression:var i=e;t=d(i.object)+"."+d(i.property)}return t}c.TokenName[100]="JSXIdentifier",c.TokenName[101]="JSXText";var m=function(e){function t(t,n,i){return e.call(this,t,n,i)||this}return r(t,e),t.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)},t.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},t.prototype.finishJSX=function(){this.nextToken()},t.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()},t.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.scanXHTMLEntity=function(e){for(var t="&",n=!0,i=!1,r=!1,a=!1;!this.scanner.eof()&&n&&!i;){var s=this.scanner.source[this.scanner.index];if(s===e)break;if(i=";"===s,t+=s,++this.scanner.index,!i)switch(t.length){case 2:r="#"===s;break;case 3:r&&(n=(a="x"===s)||o.Character.isDecimalDigit(s.charCodeAt(0)),r=r&&!a);break;default:n=(n=n&&!(r&&!o.Character.isDecimalDigit(s.charCodeAt(0))))&&!(a&&!o.Character.isHexDigit(s.charCodeAt(0)))}}if(n&&i&&t.length>2){var l=t.substr(1,t.length-2);r&&l.length>1?t=String.fromCharCode(parseInt(l.substr(1),10)):a&&l.length>2?t=String.fromCharCode(parseInt("0"+l.substr(1),16)):r||a||!f.XHTMLEntities[l]||(t=f.XHTMLEntities[l])}return t},t.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(60===e||62===e||47===e||58===e||61===e||123===e||125===e)return{type:7,value:s=this.scanner.source[this.scanner.index++],lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index};if(34===e||39===e){for(var t=this.scanner.index,n=this.scanner.source[this.scanner.index++],i="";!this.scanner.eof()&&(l=this.scanner.source[this.scanner.index++])!==n;)i+="&"===l?this.scanXHTMLEntity(n):l;return{type:8,value:i,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(46===e){var r=this.scanner.source.charCodeAt(this.scanner.index+1),a=this.scanner.source.charCodeAt(this.scanner.index+2),s=46===r&&46===a?"...":".";return t=this.scanner.index,this.scanner.index+=s.length,{type:7,value:s,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(96===e)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(o.Character.isIdentifierStart(e)&&92!==e){for(t=this.scanner.index,++this.scanner.index;!this.scanner.eof();){var l=this.scanner.source.charCodeAt(this.scanner.index);if(o.Character.isIdentifierPart(l)&&92!==l)++this.scanner.index;else{if(45!==l)break;++this.scanner.index}}return{type:100,value:this.scanner.source.slice(t,this.scanner.index),lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()},t.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(e)),e},t.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var e=this.scanner.index,t="";!this.scanner.eof();){var n=this.scanner.source[this.scanner.index];if("{"===n||"<"===n)break;++this.scanner.index,t+=n,o.Character.isLineTerminator(n.charCodeAt(0))&&(++this.scanner.lineNumber,"\r"===n&&"\n"===this.scanner.source[this.scanner.index]&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var i={type:101,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};return t.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(i)),i},t.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.lexJSX();return this.scanner.restoreState(e),t},t.prototype.expectJSX=function(e){var t=this.nextJSXToken();7===t.type&&t.value===e||this.throwUnexpectedToken(t)},t.prototype.matchJSX=function(e){var t=this.peekJSXToken();return 7===t.type&&t.value===e},t.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode(),t=this.nextJSXToken();return 100!==t.type&&this.throwUnexpectedToken(t),this.finalize(e,new a.JSXIdentifier(t.value))},t.prototype.parseJSXElementName=function(){var e=this.createJSXNode(),t=this.parseJSXIdentifier();if(this.matchJSX(":")){var n=t;this.expectJSX(":");var i=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXNamespacedName(n,i))}else if(this.matchJSX("."))for(;this.matchJSX(".");){var r=t;this.expectJSX(".");var o=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXMemberExpression(r,o))}return t},t.prototype.parseJSXAttributeName=function(){var e,t=this.createJSXNode(),n=this.parseJSXIdentifier();if(this.matchJSX(":")){var i=n;this.expectJSX(":");var r=this.parseJSXIdentifier();e=this.finalize(t,new a.JSXNamespacedName(i,r))}else e=n;return e},t.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode(),t=this.nextJSXToken();8!==t.type&&this.throwUnexpectedToken(t);var n=this.getTokenRaw(t);return this.finalize(e,new l.Literal(t.value,n))},t.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.finishJSX(),this.match("}")&&this.tolerateError("JSX attributes must only be assigned a non-empty expression");var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXExpressionContainer(t))},t.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},t.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode(),t=this.parseJSXAttributeName(),n=null;return this.matchJSX("=")&&(this.expectJSX("="),n=this.parseJSXAttributeValue()),this.finalize(e,new a.JSXAttribute(t,n))},t.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.expectJSX("..."),this.finishJSX();var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXSpreadAttribute(t))},t.prototype.parseJSXAttributes=function(){for(var e=[];!this.matchJSX("/")&&!this.matchJSX(">");){var t=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(t)}return e},t.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX("<");var t=this.parseJSXElementName(),n=this.parseJSXAttributes(),i=this.matchJSX("/");return i&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new a.JSXOpeningElement(t,i,n))},t.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX("/")){this.expectJSX("/");var t=this.parseJSXElementName();return this.expectJSX(">"),this.finalize(e,new a.JSXClosingElement(t))}var n=this.parseJSXElementName(),i=this.parseJSXAttributes(),r=this.matchJSX("/");return r&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new a.JSXOpeningElement(n,r,i))},t.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(e,new a.JSXEmptyExpression)},t.prototype.parseJSXExpressionContainer=function(){var e,t=this.createJSXNode();return this.expectJSX("{"),this.matchJSX("}")?(e=this.parseJSXEmptyExpression(),this.expectJSX("}")):(this.finishJSX(),e=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(t,new a.JSXExpressionContainer(e))},t.prototype.parseJSXChildren=function(){for(var e=[];!this.scanner.eof();){var t=this.createJSXChildNode(),n=this.nextJSXText();if(n.start0))break;o=this.finalize(e.node,new a.JSXElement(e.opening,e.children,e.closing)),(e=t[t.length-1]).children.push(o),t.pop()}}return e},t.prototype.parseJSXElement=function(){var e=this.createJSXNode(),t=this.parseJSXOpeningElement(),n=[],i=null;if(!t.selfClosing){var r=this.parseComplexJSXElement({node:e,opening:t,closing:i,children:n});n=r.children,i=r.closing}return this.finalize(e,new a.JSXElement(t,n,i))},t.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var e=this.parseJSXElement();return this.finishJSX(),e},t.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match("<")},t}(u.Parser);t.JSXParser=m},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};t.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&n.NonAsciiIdentifierStart.test(t.Character.fromCodePoint(e))},isIdentifierPart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&n.NonAsciiIdentifierPart.test(t.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(6);t.JSXClosingElement=function(e){this.type=i.JSXSyntax.JSXClosingElement,this.name=e};t.JSXElement=function(e,t,n){this.type=i.JSXSyntax.JSXElement,this.openingElement=e,this.children=t,this.closingElement=n};t.JSXEmptyExpression=function(){this.type=i.JSXSyntax.JSXEmptyExpression};t.JSXExpressionContainer=function(e){this.type=i.JSXSyntax.JSXExpressionContainer,this.expression=e};t.JSXIdentifier=function(e){this.type=i.JSXSyntax.JSXIdentifier,this.name=e};t.JSXMemberExpression=function(e,t){this.type=i.JSXSyntax.JSXMemberExpression,this.object=e,this.property=t};t.JSXAttribute=function(e,t){this.type=i.JSXSyntax.JSXAttribute,this.name=e,this.value=t};t.JSXNamespacedName=function(e,t){this.type=i.JSXSyntax.JSXNamespacedName,this.namespace=e,this.name=t};t.JSXOpeningElement=function(e,t,n){this.type=i.JSXSyntax.JSXOpeningElement,this.name=e,this.selfClosing=t,this.attributes=n};t.JSXSpreadAttribute=function(e){this.type=i.JSXSyntax.JSXSpreadAttribute,this.argument=e};t.JSXText=function(e,t){this.type=i.JSXSyntax.JSXText,this.value=e,this.raw=t}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2);t.ArrayExpression=function(e){this.type=i.Syntax.ArrayExpression,this.elements=e};t.ArrayPattern=function(e){this.type=i.Syntax.ArrayPattern,this.elements=e};t.ArrowFunctionExpression=function(e,t,n){this.type=i.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!1};t.AssignmentExpression=function(e,t,n){this.type=i.Syntax.AssignmentExpression,this.operator=e,this.left=t,this.right=n};t.AssignmentPattern=function(e,t){this.type=i.Syntax.AssignmentPattern,this.left=e,this.right=t};t.AsyncArrowFunctionExpression=function(e,t,n){this.type=i.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!0};t.AsyncFunctionDeclaration=function(e,t,n){this.type=i.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionExpression=function(e,t,n){this.type=i.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AwaitExpression=function(e){this.type=i.Syntax.AwaitExpression,this.argument=e};t.BinaryExpression=function(e,t,n){var r="||"===e||"&&"===e;this.type=r?i.Syntax.LogicalExpression:i.Syntax.BinaryExpression,this.operator=e,this.left=t,this.right=n};t.BlockStatement=function(e){this.type=i.Syntax.BlockStatement,this.body=e};t.BreakStatement=function(e){this.type=i.Syntax.BreakStatement,this.label=e};t.CallExpression=function(e,t){this.type=i.Syntax.CallExpression,this.callee=e,this.arguments=t};t.CatchClause=function(e,t){this.type=i.Syntax.CatchClause,this.param=e,this.body=t};t.ClassBody=function(e){this.type=i.Syntax.ClassBody,this.body=e};t.ClassDeclaration=function(e,t,n){this.type=i.Syntax.ClassDeclaration,this.id=e,this.superClass=t,this.body=n};t.ClassExpression=function(e,t,n){this.type=i.Syntax.ClassExpression,this.id=e,this.superClass=t,this.body=n};t.ComputedMemberExpression=function(e,t){this.type=i.Syntax.MemberExpression,this.computed=!0,this.object=e,this.property=t};t.ConditionalExpression=function(e,t,n){this.type=i.Syntax.ConditionalExpression,this.test=e,this.consequent=t,this.alternate=n};t.ContinueStatement=function(e){this.type=i.Syntax.ContinueStatement,this.label=e};t.DebuggerStatement=function(){this.type=i.Syntax.DebuggerStatement};t.Directive=function(e,t){this.type=i.Syntax.ExpressionStatement,this.expression=e,this.directive=t};t.DoWhileStatement=function(e,t){this.type=i.Syntax.DoWhileStatement,this.body=e,this.test=t};t.EmptyStatement=function(){this.type=i.Syntax.EmptyStatement};t.ExportAllDeclaration=function(e){this.type=i.Syntax.ExportAllDeclaration,this.source=e};t.ExportDefaultDeclaration=function(e){this.type=i.Syntax.ExportDefaultDeclaration,this.declaration=e};t.ExportNamedDeclaration=function(e,t,n){this.type=i.Syntax.ExportNamedDeclaration,this.declaration=e,this.specifiers=t,this.source=n};t.ExportSpecifier=function(e,t){this.type=i.Syntax.ExportSpecifier,this.exported=t,this.local=e};t.ExpressionStatement=function(e){this.type=i.Syntax.ExpressionStatement,this.expression=e};t.ForInStatement=function(e,t,n){this.type=i.Syntax.ForInStatement,this.left=e,this.right=t,this.body=n,this.each=!1};t.ForOfStatement=function(e,t,n){this.type=i.Syntax.ForOfStatement,this.left=e,this.right=t,this.body=n};t.ForStatement=function(e,t,n,r){this.type=i.Syntax.ForStatement,this.init=e,this.test=t,this.update=n,this.body=r};t.FunctionDeclaration=function(e,t,n,r){this.type=i.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=r,this.expression=!1,this.async=!1};t.FunctionExpression=function(e,t,n,r){this.type=i.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=r,this.expression=!1,this.async=!1};t.Identifier=function(e){this.type=i.Syntax.Identifier,this.name=e};t.IfStatement=function(e,t,n){this.type=i.Syntax.IfStatement,this.test=e,this.consequent=t,this.alternate=n};t.ImportDeclaration=function(e,t){this.type=i.Syntax.ImportDeclaration,this.specifiers=e,this.source=t};t.ImportDefaultSpecifier=function(e){this.type=i.Syntax.ImportDefaultSpecifier,this.local=e};t.ImportNamespaceSpecifier=function(e){this.type=i.Syntax.ImportNamespaceSpecifier,this.local=e};t.ImportSpecifier=function(e,t){this.type=i.Syntax.ImportSpecifier,this.local=e,this.imported=t};t.LabeledStatement=function(e,t){this.type=i.Syntax.LabeledStatement,this.label=e,this.body=t};t.Literal=function(e,t){this.type=i.Syntax.Literal,this.value=e,this.raw=t};t.MetaProperty=function(e,t){this.type=i.Syntax.MetaProperty,this.meta=e,this.property=t};t.MethodDefinition=function(e,t,n,r,o){this.type=i.Syntax.MethodDefinition,this.key=e,this.computed=t,this.value=n,this.kind=r,this.static=o};t.Module=function(e){this.type=i.Syntax.Program,this.body=e,this.sourceType="module"};t.NewExpression=function(e,t){this.type=i.Syntax.NewExpression,this.callee=e,this.arguments=t};t.ObjectExpression=function(e){this.type=i.Syntax.ObjectExpression,this.properties=e};t.ObjectPattern=function(e){this.type=i.Syntax.ObjectPattern,this.properties=e};t.Property=function(e,t,n,r,o,a){this.type=i.Syntax.Property,this.key=t,this.computed=n,this.value=r,this.kind=e,this.method=o,this.shorthand=a};t.RegexLiteral=function(e,t,n,r){this.type=i.Syntax.Literal,this.value=e,this.raw=t,this.regex={pattern:n,flags:r}};t.RestElement=function(e){this.type=i.Syntax.RestElement,this.argument=e};t.ReturnStatement=function(e){this.type=i.Syntax.ReturnStatement,this.argument=e};t.Script=function(e){this.type=i.Syntax.Program,this.body=e,this.sourceType="script"};t.SequenceExpression=function(e){this.type=i.Syntax.SequenceExpression,this.expressions=e};t.SpreadElement=function(e){this.type=i.Syntax.SpreadElement,this.argument=e};t.StaticMemberExpression=function(e,t){this.type=i.Syntax.MemberExpression,this.computed=!1,this.object=e,this.property=t};t.Super=function(){this.type=i.Syntax.Super};t.SwitchCase=function(e,t){this.type=i.Syntax.SwitchCase,this.test=e,this.consequent=t};t.SwitchStatement=function(e,t){this.type=i.Syntax.SwitchStatement,this.discriminant=e,this.cases=t};t.TaggedTemplateExpression=function(e,t){this.type=i.Syntax.TaggedTemplateExpression,this.tag=e,this.quasi=t};t.TemplateElement=function(e,t){this.type=i.Syntax.TemplateElement,this.value=e,this.tail=t};t.TemplateLiteral=function(e,t){this.type=i.Syntax.TemplateLiteral,this.quasis=e,this.expressions=t};t.ThisExpression=function(){this.type=i.Syntax.ThisExpression};t.ThrowStatement=function(e){this.type=i.Syntax.ThrowStatement,this.argument=e};t.TryStatement=function(e,t,n){this.type=i.Syntax.TryStatement,this.block=e,this.handler=t,this.finalizer=n};t.UnaryExpression=function(e,t){this.type=i.Syntax.UnaryExpression,this.operator=e,this.argument=t,this.prefix=!0};t.UpdateExpression=function(e,t,n){this.type=i.Syntax.UpdateExpression,this.operator=e,this.argument=t,this.prefix=n};t.VariableDeclaration=function(e,t){this.type=i.Syntax.VariableDeclaration,this.declarations=e,this.kind=t};t.VariableDeclarator=function(e,t){this.type=i.Syntax.VariableDeclarator,this.id=e,this.init=t};t.WhileStatement=function(e,t){this.type=i.Syntax.WhileStatement,this.test=e,this.body=t};t.WithStatement=function(e,t){this.type=i.Syntax.WithStatement,this.object=e,this.body=t};t.YieldExpression=function(e,t){this.type=i.Syntax.YieldExpression,this.argument=e,this.delegate=t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(9),r=n(10),o=n(11),a=n(7),s=n(12),l=n(2),u=n(13),c="ArrowParameterPlaceHolder",f=function(){function e(e,t,n){void 0===t&&(t={}),this.config={range:"boolean"==typeof t.range&&t.range,loc:"boolean"==typeof t.loc&&t.loc,source:null,tokens:"boolean"==typeof t.tokens&&t.tokens,comment:"boolean"==typeof t.comment&&t.comment,tolerant:"boolean"==typeof t.tolerant&&t.tolerant},this.config.loc&&t.source&&null!==t.source&&(this.config.source=String(t.source)),this.delegate=n,this.errorHandler=new r.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new s.Scanner(e,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11},this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return e.prototype.throwError=function(e){for(var t=[],n=1;n0&&this.delegate)for(var t=0;t>="===e||">>>="===e||"&="===e||"^="===e||"|="===e},e.prototype.isolateCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var r=e.call(this);return null!==this.context.firstCoverInitializedNameError&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=t,this.context.isAssignmentTarget=n,this.context.firstCoverInitializedNameError=i,r},e.prototype.inheritCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var r=e.call(this);return this.context.isBindingElement=this.context.isBindingElement&&t,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&n,this.context.firstCoverInitializedNameError=i||this.context.firstCoverInitializedNameError,r},e.prototype.consumeSemicolon=function(){this.match(";")?this.nextToken():this.hasLineTerminator||(2===this.lookahead.type||this.match("}")||this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},e.prototype.parsePrimaryExpression=function(){var e,t,n,i=this.createNode();switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&"await"===this.lookahead.value&&this.tolerateUnexpectedToken(this.lookahead),e=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(i,new a.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,o.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.Literal(t.value,n));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.Literal("true"===t.value,n));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.Literal(null,n));break;case 10:e=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=!1,e=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":e=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":e=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,t=this.nextRegexToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.RegexLiteral(t.regex,n,t.pattern,t.flags));break;default:e=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")?e=this.parseIdentifierName():!this.context.strict&&this.matchKeyword("let")?e=this.finalize(i,new a.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword("function")?e=this.parseFunctionExpression():this.matchKeyword("this")?(this.nextToken(),e=this.finalize(i,new a.ThisExpression)):e=this.matchKeyword("class")?this.parseClassExpression():this.throwUnexpectedToken(this.nextToken()));break;default:e=this.throwUnexpectedToken(this.nextToken())}return e},e.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect("...");var t=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new a.SpreadElement(t))},e.prototype.parseArrayInitializer=function(){var e=this.createNode(),t=[];for(this.expect("[");!this.match("]");)if(this.match(","))this.nextToken(),t.push(null);else if(this.match("...")){var n=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),t.push(n)}else t.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(e,new a.ArrayExpression(t))},e.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var t=this.context.strict,n=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var i=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&e.firstRestricted&&this.tolerateUnexpectedToken(e.firstRestricted,e.message),this.context.strict&&e.stricted&&this.tolerateUnexpectedToken(e.stricted,e.message),this.context.strict=t,this.context.allowStrictDirective=n,i},e.prototype.parsePropertyMethodFunction=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters(),i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!1))},e.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode(),t=this.context.allowYield,n=this.context.await;this.context.allowYield=!1,this.context.await=!0;var i=this.parseFormalParameters(),r=this.parsePropertyMethod(i);return this.context.allowYield=t,this.context.await=n,this.finalize(e,new a.AsyncFunctionExpression(null,i.params,r))},e.prototype.parseObjectPropertyKey=function(){var e,t=this.createNode(),n=this.nextToken();switch(n.type){case 8:case 6:this.context.strict&&n.octal&&this.tolerateUnexpectedToken(n,o.Messages.StrictOctalLiteral);var i=this.getTokenRaw(n);e=this.finalize(t,new a.Literal(n.value,i));break;case 3:case 1:case 5:case 4:e=this.finalize(t,new a.Identifier(n.value));break;case 7:"["===n.value?(e=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):e=this.throwUnexpectedToken(n);break;default:e=this.throwUnexpectedToken(n)}return e},e.prototype.isPropertyKey=function(e,t){return e.type===l.Syntax.Identifier&&e.name===t||e.type===l.Syntax.Literal&&e.value===t},e.prototype.parseObjectProperty=function(e){var t,n=this.createNode(),i=this.lookahead,r=null,s=null,l=!1,u=!1,c=!1,f=!1;if(3===i.type){var d=i.value;this.nextToken(),l=this.match("["),r=(f=!(this.hasLineTerminator||"async"!==d||this.match(":")||this.match("(")||this.match("*")||this.match(",")))?this.parseObjectPropertyKey():this.finalize(n,new a.Identifier(d))}else this.match("*")?this.nextToken():(l=this.match("["),r=this.parseObjectPropertyKey());var m=this.qualifiedPropertyName(this.lookahead);if(3===i.type&&!f&&"get"===i.value&&m)t="get",l=this.match("["),r=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod();else if(3===i.type&&!f&&"set"===i.value&&m)t="set",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseSetterMethod();else if(7===i.type&&"*"===i.value&&m)t="init",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),u=!0;else if(r||this.throwUnexpectedToken(this.lookahead),t="init",this.match(":")&&!f)!l&&this.isPropertyKey(r,"__proto__")&&(e.value&&this.tolerateError(o.Messages.DuplicateProtoProperty),e.value=!0),this.nextToken(),s=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match("("))s=f?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),u=!0;else if(3===i.type)if(d=this.finalize(n,new a.Identifier(i.value)),this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),c=!0;var p=this.isolateCoverGrammar(this.parseAssignmentExpression);s=this.finalize(n,new a.AssignmentPattern(d,p))}else c=!0,s=d;else this.throwUnexpectedToken(this.nextToken());return this.finalize(n,new a.Property(t,r,l,s,u,c))},e.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");for(var t=[],n={value:!1};!this.match("}");)t.push(this.parseObjectProperty(n)),this.match("}")||this.expectCommaSeparator();return this.expect("}"),this.finalize(e,new a.ObjectExpression(t))},e.prototype.parseTemplateHead=function(){i.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode(),t=this.nextToken(),n=t.value,r=t.cooked;return this.finalize(e,new a.TemplateElement({raw:n,cooked:r},t.tail))},e.prototype.parseTemplateElement=function(){10!==this.lookahead.type&&this.throwUnexpectedToken();var e=this.createNode(),t=this.nextToken(),n=t.value,i=t.cooked;return this.finalize(e,new a.TemplateElement({raw:n,cooked:i},t.tail))},e.prototype.parseTemplateLiteral=function(){var e=this.createNode(),t=[],n=[],i=this.parseTemplateHead();for(n.push(i);!i.tail;)t.push(this.parseExpression()),i=this.parseTemplateElement(),n.push(i);return this.finalize(e,new a.TemplateLiteral(n,t))},e.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case l.Syntax.Identifier:case l.Syntax.MemberExpression:case l.Syntax.RestElement:case l.Syntax.AssignmentPattern:break;case l.Syntax.SpreadElement:e.type=l.Syntax.RestElement,this.reinterpretExpressionAsPattern(e.argument);break;case l.Syntax.ArrayExpression:e.type=l.Syntax.ArrayPattern;for(var t=0;t")||this.expect("=>"),e={type:c,params:[],async:!1};else{var t=this.lookahead,n=[];if(this.match("..."))e=this.parseRestElement(n),this.expect(")"),this.match("=>")||this.expect("=>"),e={type:c,params:[e],async:!1};else{var i=!1;if(this.context.isBindingElement=!0,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(",")){var r=[];for(this.context.isAssignmentTarget=!1,r.push(e);2!==this.lookahead.type&&this.match(",");){if(this.nextToken(),this.match(")")){this.nextToken();for(var o=0;o")||this.expect("=>"),this.context.isBindingElement=!1,o=0;o")&&(e.type===l.Syntax.Identifier&&"yield"===e.name&&(i=!0,e={type:c,params:[e],async:!1}),!i)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),e.type===l.Syntax.SequenceExpression)for(o=0;o")){for(var l=0;l0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var r=[e,this.lookahead],o=t,s=this.isolateCoverGrammar(this.parseExponentiationExpression),l=[o,n.value,s],u=[i];!((i=this.binaryPrecedence(this.lookahead))<=0);){for(;l.length>2&&i<=u[u.length-1];){s=l.pop();var c=l.pop();u.pop(),o=l.pop(),r.pop();var f=this.startNode(r[r.length-1]);l.push(this.finalize(f,new a.BinaryExpression(c,o,s)))}l.push(this.nextToken().value),u.push(i),r.push(this.lookahead),l.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var d=l.length-1;t=l[d];for(var m=r.pop();d>1;){var p=r.pop(),h=m&&m.lineStart;f=this.startNode(p,h),c=l[d-1],t=this.finalize(f,new a.BinaryExpression(c,l[d-2],t)),d-=2,m=p}}return t},e.prototype.parseConditionalExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var n=this.context.allowIn;this.context.allowIn=!0;var i=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=n,this.expect(":");var r=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new a.ConditionalExpression(t,i,r)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return t},e.prototype.checkPatternParam=function(e,t){switch(t.type){case l.Syntax.Identifier:this.validateParam(e,t,t.name);break;case l.Syntax.RestElement:this.checkPatternParam(e,t.argument);break;case l.Syntax.AssignmentPattern:this.checkPatternParam(e,t.left);break;case l.Syntax.ArrayPattern:for(var n=0;n")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var r=e.async,s=this.reinterpretAsCoverFormalsList(e);if(s){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var u=this.context.strict,f=this.context.allowStrictDirective;this.context.allowStrictDirective=s.simple;var d=this.context.allowYield,m=this.context.await;this.context.allowYield=!0,this.context.await=r;var p=this.startNode(t);this.expect("=>");var h=void 0;if(this.match("{")){var g=this.context.allowIn;this.context.allowIn=!0,h=this.parseFunctionSourceElements(),this.context.allowIn=g}else h=this.isolateCoverGrammar(this.parseAssignmentExpression);var y=h.type!==l.Syntax.BlockStatement;this.context.strict&&s.firstRestricted&&this.throwUnexpectedToken(s.firstRestricted,s.message),this.context.strict&&s.stricted&&this.tolerateUnexpectedToken(s.stricted,s.message),e=r?this.finalize(p,new a.AsyncArrowFunctionExpression(s.params,h,y)):this.finalize(p,new a.ArrowFunctionExpression(s.params,h,y)),this.context.strict=u,this.context.allowStrictDirective=f,this.context.allowYield=d,this.context.await=m}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment),this.context.strict&&e.type===l.Syntax.Identifier){var v=e;this.scanner.isRestrictedWord(v.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(v.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord)}this.match("=")?this.reinterpretExpressionAsPattern(e):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1);var C=(n=this.nextToken()).value,b=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new a.AssignmentExpression(C,e,b)),this.context.firstCoverInitializedNameError=null}}return e},e.prototype.parseExpression=function(){var e=this.lookahead,t=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var n=[];for(n.push(t);2!==this.lookahead.type&&this.match(",");)this.nextToken(),n.push(this.isolateCoverGrammar(this.parseAssignmentExpression));t=this.finalize(this.startNode(e),new a.SequenceExpression(n))}return t},e.prototype.parseStatementListItem=function(){var e;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,4===this.lookahead.type)switch(this.lookahead.value){case"export":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalExportDeclaration),e=this.parseExportDeclaration();break;case"import":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalImportDeclaration),e=this.parseImportDeclaration();break;case"const":e=this.parseLexicalDeclaration({inFor:!1});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:e=this.parseStatement()}else e=this.parseStatement();return e},e.prototype.parseBlock=function(){var e=this.createNode();this.expect("{");for(var t=[];!this.match("}");)t.push(this.parseStatementListItem());return this.expect("}"),this.finalize(e,new a.BlockStatement(t))},e.prototype.parseLexicalBinding=function(e,t){var n=this.createNode(),i=this.parsePattern([],e);this.context.strict&&i.type===l.Syntax.Identifier&&this.scanner.isRestrictedWord(i.name)&&this.tolerateError(o.Messages.StrictVarName);var r=null;return"const"===e?this.matchKeyword("in")||this.matchContextualKeyword("of")||(this.match("=")?(this.nextToken(),r=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(o.Messages.DeclarationMissingInitializer,"const")):(!t.inFor&&i.type!==l.Syntax.Identifier||this.match("="))&&(this.expect("="),r=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(n,new a.VariableDeclarator(i,r))},e.prototype.parseBindingList=function(e,t){for(var n=[this.parseLexicalBinding(e,t)];this.match(",");)this.nextToken(),n.push(this.parseLexicalBinding(e,t));return n},e.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.scanner.lex();return this.scanner.restoreState(e),3===t.type||7===t.type&&"["===t.value||7===t.type&&"{"===t.value||4===t.type&&"let"===t.value||4===t.type&&"yield"===t.value},e.prototype.parseLexicalDeclaration=function(e){var t=this.createNode(),n=this.nextToken().value;i.assert("let"===n||"const"===n,"Lexical declaration must be either let or const");var r=this.parseBindingList(n,e);return this.consumeSemicolon(),this.finalize(t,new a.VariableDeclaration(r,n))},e.prototype.parseBindingRestElement=function(e,t){var n=this.createNode();this.expect("...");var i=this.parsePattern(e,t);return this.finalize(n,new a.RestElement(i))},e.prototype.parseArrayPattern=function(e,t){var n=this.createNode();this.expect("[");for(var i=[];!this.match("]");)if(this.match(","))this.nextToken(),i.push(null);else{if(this.match("...")){i.push(this.parseBindingRestElement(e,t));break}i.push(this.parsePatternWithDefault(e,t)),this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(n,new a.ArrayPattern(i))},e.prototype.parsePropertyPattern=function(e,t){var n,i,r=this.createNode(),o=!1,s=!1;if(3===this.lookahead.type){var l=this.lookahead;n=this.parseVariableIdentifier();var u=this.finalize(r,new a.Identifier(l.value));if(this.match("=")){e.push(l),s=!0,this.nextToken();var c=this.parseAssignmentExpression();i=this.finalize(this.startNode(l),new a.AssignmentPattern(u,c))}else this.match(":")?(this.expect(":"),i=this.parsePatternWithDefault(e,t)):(e.push(l),s=!0,i=u)}else o=this.match("["),n=this.parseObjectPropertyKey(),this.expect(":"),i=this.parsePatternWithDefault(e,t);return this.finalize(r,new a.Property("init",n,o,i,!1,s))},e.prototype.parseObjectPattern=function(e,t){var n=this.createNode(),i=[];for(this.expect("{");!this.match("}");)i.push(this.parsePropertyPattern(e,t)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(n,new a.ObjectPattern(i))},e.prototype.parsePattern=function(e,t){var n;return this.match("[")?n=this.parseArrayPattern(e,t):this.match("{")?n=this.parseObjectPattern(e,t):(!this.matchKeyword("let")||"const"!==t&&"let"!==t||this.tolerateUnexpectedToken(this.lookahead,o.Messages.LetInLexicalBinding),e.push(this.lookahead),n=this.parseVariableIdentifier(t)),n},e.prototype.parsePatternWithDefault=function(e,t){var n=this.lookahead,i=this.parsePattern(e,t);if(this.match("=")){this.nextToken();var r=this.context.allowYield;this.context.allowYield=!0;var o=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=r,i=this.finalize(this.startNode(n),new a.AssignmentPattern(i,o))}return i},e.prototype.parseVariableIdentifier=function(e){var t=this.createNode(),n=this.nextToken();return 4===n.type&&"yield"===n.value?this.context.strict?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(n):3!==n.type?this.context.strict&&4===n.type&&this.scanner.isStrictModeReservedWord(n.value)?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):(this.context.strict||"let"!==n.value||"var"!==e)&&this.throwUnexpectedToken(n):(this.context.isModule||this.context.await)&&3===n.type&&"await"===n.value&&this.tolerateUnexpectedToken(n),this.finalize(t,new a.Identifier(n.value))},e.prototype.parseVariableDeclaration=function(e){var t=this.createNode(),n=this.parsePattern([],"var");this.context.strict&&n.type===l.Syntax.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(o.Messages.StrictVarName);var i=null;return this.match("=")?(this.nextToken(),i=this.isolateCoverGrammar(this.parseAssignmentExpression)):n.type===l.Syntax.Identifier||e.inFor||this.expect("="),this.finalize(t,new a.VariableDeclarator(n,i))},e.prototype.parseVariableDeclarationList=function(e){var t={inFor:e.inFor},n=[];for(n.push(this.parseVariableDeclaration(t));this.match(",");)this.nextToken(),n.push(this.parseVariableDeclaration(t));return n},e.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var t=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(e,new a.VariableDeclaration(t,"var"))},e.prototype.parseEmptyStatement=function(){var e=this.createNode();return this.expect(";"),this.finalize(e,new a.EmptyStatement)},e.prototype.parseExpressionStatement=function(){var e=this.createNode(),t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ExpressionStatement(t))},e.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(o.Messages.StrictFunction),this.parseStatement()},e.prototype.parseIfStatement=function(){var e,t=this.createNode(),n=null;this.expectKeyword("if"),this.expect("(");var i=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(")"),e=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),n=this.parseIfClause())),this.finalize(t,new a.IfStatement(i,e,n))},e.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var t=this.context.inIteration;this.context.inIteration=!0;var n=this.parseStatement();this.context.inIteration=t,this.expectKeyword("while"),this.expect("(");var i=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(e,new a.DoWhileStatement(n,i))},e.prototype.parseWhileStatement=function(){var e,t=this.createNode();this.expectKeyword("while"),this.expect("(");var n=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(")");var i=this.context.inIteration;this.context.inIteration=!0,e=this.parseStatement(),this.context.inIteration=i}return this.finalize(t,new a.WhileStatement(n,e))},e.prototype.parseForStatement=function(){var e,t,n,i=null,r=null,s=null,u=!0,c=this.createNode();if(this.expectKeyword("for"),this.expect("("),this.match(";"))this.nextToken();else if(this.matchKeyword("var")){i=this.createNode(),this.nextToken();var f=this.context.allowIn;this.context.allowIn=!1;var d=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=f,1===d.length&&this.matchKeyword("in")){var m=d[0];m.init&&(m.id.type===l.Syntax.ArrayPattern||m.id.type===l.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(o.Messages.ForInOfLoopInitializer,"for-in"),i=this.finalize(i,new a.VariableDeclaration(d,"var")),this.nextToken(),e=i,t=this.parseExpression(),i=null}else 1===d.length&&null===d[0].init&&this.matchContextualKeyword("of")?(i=this.finalize(i,new a.VariableDeclaration(d,"var")),this.nextToken(),e=i,t=this.parseAssignmentExpression(),i=null,u=!1):(i=this.finalize(i,new a.VariableDeclaration(d,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){i=this.createNode();var p=this.nextToken().value;this.context.strict||"in"!==this.lookahead.value?(f=this.context.allowIn,this.context.allowIn=!1,d=this.parseBindingList(p,{inFor:!0}),this.context.allowIn=f,1===d.length&&null===d[0].init&&this.matchKeyword("in")?(i=this.finalize(i,new a.VariableDeclaration(d,p)),this.nextToken(),e=i,t=this.parseExpression(),i=null):1===d.length&&null===d[0].init&&this.matchContextualKeyword("of")?(i=this.finalize(i,new a.VariableDeclaration(d,p)),this.nextToken(),e=i,t=this.parseAssignmentExpression(),i=null,u=!1):(this.consumeSemicolon(),i=this.finalize(i,new a.VariableDeclaration(d,p)))):(i=this.finalize(i,new a.Identifier(p)),this.nextToken(),e=i,t=this.parseExpression(),i=null)}else{var h=this.lookahead;if(f=this.context.allowIn,this.context.allowIn=!1,i=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=f,this.matchKeyword("in"))this.context.isAssignmentTarget&&i.type!==l.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(i),e=i,t=this.parseExpression(),i=null;else if(this.matchContextualKeyword("of"))this.context.isAssignmentTarget&&i.type!==l.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(i),e=i,t=this.parseAssignmentExpression(),i=null,u=!1;else{if(this.match(",")){for(var g=[i];this.match(",");)this.nextToken(),g.push(this.isolateCoverGrammar(this.parseAssignmentExpression));i=this.finalize(this.startNode(h),new a.SequenceExpression(g))}this.expect(";")}}if(void 0===e&&(this.match(";")||(r=this.parseExpression()),this.expect(";"),this.match(")")||(s=this.parseExpression())),!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),n=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(")");var y=this.context.inIteration;this.context.inIteration=!0,n=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=y}return void 0===e?this.finalize(c,new a.ForStatement(i,r,s,n)):u?this.finalize(c,new a.ForInStatement(e,t,n)):this.finalize(c,new a.ForOfStatement(e,t,n))},e.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier();t=n;var i="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)||this.throwError(o.Messages.UnknownLabel,n.name)}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.throwError(o.Messages.IllegalContinue),this.finalize(e,new a.ContinueStatement(t))},e.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier(),i="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)||this.throwError(o.Messages.UnknownLabel,n.name),t=n}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.context.inSwitch||this.throwError(o.Messages.IllegalBreak),this.finalize(e,new a.BreakStatement(t))},e.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(o.Messages.IllegalReturn);var e=this.createNode();this.expectKeyword("return");var t=(this.match(";")||this.match("}")||this.hasLineTerminator||2===this.lookahead.type)&&8!==this.lookahead.type&&10!==this.lookahead.type?null:this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ReturnStatement(t))},e.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(o.Messages.StrictModeWith);var e,t=this.createNode();this.expectKeyword("with"),this.expect("(");var n=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(")"),e=this.parseStatement()),this.finalize(t,new a.WithStatement(n,e))},e.prototype.parseSwitchCase=function(){var e,t=this.createNode();this.matchKeyword("default")?(this.nextToken(),e=null):(this.expectKeyword("case"),e=this.parseExpression()),this.expect(":");for(var n=[];!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)n.push(this.parseStatementListItem());return this.finalize(t,new a.SwitchCase(e,n))},e.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch"),this.expect("(");var t=this.parseExpression();this.expect(")");var n=this.context.inSwitch;this.context.inSwitch=!0;var i=[],r=!1;for(this.expect("{");!this.match("}");){var s=this.parseSwitchCase();null===s.test&&(r&&this.throwError(o.Messages.MultipleDefaultsInSwitch),r=!0),i.push(s)}return this.expect("}"),this.context.inSwitch=n,this.finalize(e,new a.SwitchStatement(t,i))},e.prototype.parseLabelledStatement=function(){var e,t=this.createNode(),n=this.parseExpression();if(n.type===l.Syntax.Identifier&&this.match(":")){this.nextToken();var i=n,r="$"+i.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)&&this.throwError(o.Messages.Redeclaration,"Label",i.name),this.context.labelSet[r]=!0;var s=void 0;if(this.matchKeyword("class"))this.tolerateUnexpectedToken(this.lookahead),s=this.parseClassDeclaration();else if(this.matchKeyword("function")){var u=this.lookahead,c=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(u,o.Messages.StrictFunction):c.generator&&this.tolerateUnexpectedToken(u,o.Messages.GeneratorInLegacyContext),s=c}else s=this.parseStatement();delete this.context.labelSet[r],e=new a.LabeledStatement(i,s)}else this.consumeSemicolon(),e=new a.ExpressionStatement(n);return this.finalize(t,e)},e.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(o.Messages.NewlineAfterThrow);var t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ThrowStatement(t))},e.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch"),this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);for(var t=[],n=this.parsePattern(t),i={},r=0;r0&&this.tolerateError(o.Messages.BadGetterArity);var i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!1))},e.prototype.parseSetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();1!==n.params.length?this.tolerateError(o.Messages.BadSetterArity):n.params[0]instanceof a.RestElement&&this.tolerateError(o.Messages.BadSetterRestParameter);var i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!1))},e.prototype.parseGeneratorMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();this.context.allowYield=!1;var i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!0))},e.prototype.isStartOfExpression=function(){var e=!0,t=this.lookahead.value;switch(this.lookahead.type){case 7:e="["===t||"("===t||"{"===t||"+"===t||"-"===t||"!"===t||"~"===t||"++"===t||"--"===t||"/"===t||"/="===t;break;case 4:e="class"===t||"delete"===t||"function"===t||"let"===t||"new"===t||"super"===t||"this"===t||"typeof"===t||"void"===t||"yield"===t}return e},e.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword("yield");var t=null,n=!1;if(!this.hasLineTerminator){var i=this.context.allowYield;this.context.allowYield=!1,(n=this.match("*"))?(this.nextToken(),t=this.parseAssignmentExpression()):this.isStartOfExpression()&&(t=this.parseAssignmentExpression()),this.context.allowYield=i}return this.finalize(e,new a.YieldExpression(t,n))},e.prototype.parseClassElement=function(e){var t=this.lookahead,n=this.createNode(),i="",r=null,s=null,l=!1,u=!1,c=!1,f=!1;if(this.match("*"))this.nextToken();else if(l=this.match("["),"static"===(r=this.parseObjectPropertyKey()).name&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))&&(t=this.lookahead,c=!0,l=this.match("["),this.match("*")?this.nextToken():r=this.parseObjectPropertyKey()),3===t.type&&!this.hasLineTerminator&&"async"===t.value){var d=this.lookahead.value;":"!==d&&"("!==d&&"*"!==d&&(f=!0,t=this.lookahead,r=this.parseObjectPropertyKey(),3===t.type&&"constructor"===t.value&&this.tolerateUnexpectedToken(t,o.Messages.ConstructorIsAsync))}var m=this.qualifiedPropertyName(this.lookahead);return 3===t.type?"get"===t.value&&m?(i="get",l=this.match("["),r=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod()):"set"===t.value&&m&&(i="set",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseSetterMethod()):7===t.type&&"*"===t.value&&m&&(i="init",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),u=!0),!i&&r&&this.match("(")&&(i="init",s=f?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),u=!0),i||this.throwUnexpectedToken(this.lookahead),"init"===i&&(i="method"),l||(c&&this.isPropertyKey(r,"prototype")&&this.throwUnexpectedToken(t,o.Messages.StaticPrototype),!c&&this.isPropertyKey(r,"constructor")&&(("method"!==i||!u||s&&s.generator)&&this.throwUnexpectedToken(t,o.Messages.ConstructorSpecialMethod),e.value?this.throwUnexpectedToken(t,o.Messages.DuplicateConstructor):e.value=!0,i="constructor")),this.finalize(n,new a.MethodDefinition(r,l,s,i,c))},e.prototype.parseClassElementList=function(){var e=[],t={value:!1};for(this.expect("{");!this.match("}");)this.match(";")?this.nextToken():e.push(this.parseClassElement(t));return this.expect("}"),e},e.prototype.parseClassBody=function(){var e=this.createNode(),t=this.parseClassElementList();return this.finalize(e,new a.ClassBody(t))},e.prototype.parseClassDeclaration=function(e){var t=this.createNode(),n=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var i=e&&3!==this.lookahead.type?null:this.parseVariableIdentifier(),r=null;this.matchKeyword("extends")&&(this.nextToken(),r=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var o=this.parseClassBody();return this.context.strict=n,this.finalize(t,new a.ClassDeclaration(i,r,o))},e.prototype.parseClassExpression=function(){var e=this.createNode(),t=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var n=3===this.lookahead.type?this.parseVariableIdentifier():null,i=null;this.matchKeyword("extends")&&(this.nextToken(),i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var r=this.parseClassBody();return this.context.strict=t,this.finalize(e,new a.ClassExpression(n,i,r))},e.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Module(t))},e.prototype.parseScript=function(){for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Script(t))},e.prototype.parseModuleSpecifier=function(){var e=this.createNode();8!==this.lookahead.type&&this.throwError(o.Messages.InvalidModuleSpecifier);var t=this.nextToken(),n=this.getTokenRaw(t);return this.finalize(e,new a.Literal(t.value,n))},e.prototype.parseImportSpecifier=function(){var e,t,n=this.createNode();return 3===this.lookahead.type?(t=e=this.parseVariableIdentifier(),this.matchContextualKeyword("as")&&(this.nextToken(),t=this.parseVariableIdentifier())):(t=e=this.parseIdentifierName(),this.matchContextualKeyword("as")?(this.nextToken(),t=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(n,new a.ImportSpecifier(t,e))},e.prototype.parseNamedImports=function(){this.expect("{");for(var e=[];!this.match("}");)e.push(this.parseImportSpecifier()),this.match("}")||this.expect(",");return this.expect("}"),e},e.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName();return this.finalize(e,new a.ImportDefaultSpecifier(t))},e.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(o.Messages.NoAsAfterImportNamespace),this.nextToken();var t=this.parseIdentifierName();return this.finalize(e,new a.ImportNamespaceSpecifier(t))},e.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalImportDeclaration);var e,t=this.createNode();this.expectKeyword("import");var n=[];if(8===this.lookahead.type)e=this.parseModuleSpecifier();else{if(this.match("{")?n=n.concat(this.parseNamedImports()):this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(n.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.match("{")?n=n.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){var i=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken(),e=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(t,new a.ImportDeclaration(n,e))},e.prototype.parseExportSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName(),n=t;return this.matchContextualKeyword("as")&&(this.nextToken(),n=this.parseIdentifierName()),this.finalize(e,new a.ExportSpecifier(t,n))},e.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalExportDeclaration);var e,t=this.createNode();if(this.expectKeyword("export"),this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){var n=this.parseFunctionDeclaration(!0);e=this.finalize(t,new a.ExportDefaultDeclaration(n))}else this.matchKeyword("class")?(n=this.parseClassDeclaration(!0),e=this.finalize(t,new a.ExportDefaultDeclaration(n))):this.matchContextualKeyword("async")?(n=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression(),e=this.finalize(t,new a.ExportDefaultDeclaration(n))):(this.matchContextualKeyword("from")&&this.throwError(o.Messages.UnexpectedToken,this.lookahead.value),n=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression(),this.consumeSemicolon(),e=this.finalize(t,new a.ExportDefaultDeclaration(n)));else if(this.match("*")){if(this.nextToken(),!this.matchContextualKeyword("from")){var i=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken();var r=this.parseModuleSpecifier();this.consumeSemicolon(),e=this.finalize(t,new a.ExportAllDeclaration(r))}else if(4===this.lookahead.type){switch(n=void 0,this.lookahead.value){case"let":case"const":n=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":n=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}e=this.finalize(t,new a.ExportNamedDeclaration(n,[],null))}else if(this.matchAsyncFunction())n=this.parseFunctionDeclaration(),e=this.finalize(t,new a.ExportNamedDeclaration(n,[],null));else{var s=[],l=null,u=!1;for(this.expect("{");!this.match("}");)u=u||this.matchKeyword("default"),s.push(this.parseExportSpecifier()),this.match("}")||this.expect(",");this.expect("}"),this.matchContextualKeyword("from")?(this.nextToken(),l=this.parseModuleSpecifier(),this.consumeSemicolon()):u?(i=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause,this.throwError(i,this.lookahead.value)):this.consumeSemicolon(),e=this.finalize(t,new a.ExportNamedDeclaration(null,s,l))}return e},e}();t.Parser=f},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assert=function(e,t){if(!e)throw new Error("ASSERT: "+t)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){this.errors=[],this.tolerant=!1}return e.prototype.recordError=function(e){this.errors.push(e)},e.prototype.tolerate=function(e){if(!this.tolerant)throw e;this.recordError(e)},e.prototype.constructError=function(e,t){var n=new Error(e);try{throw n}catch(e){Object.create&&Object.defineProperty&&(n=Object.create(e),Object.defineProperty(n,"column",{value:t}))}return n},e.prototype.createError=function(e,t,n,i){var r="Line "+t+": "+i,o=this.constructError(r,n);return o.index=e,o.lineNumber=t,o.description=i,o},e.prototype.throwError=function(e,t,n,i){throw this.createError(e,t,n,i)},e.prototype.tolerateError=function(e,t,n,i){var r=this.createError(e,t,n,i);if(!this.tolerant)throw r;this.recordError(r)},e}();t.ErrorHandler=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(9),r=n(4),o=n(11);function a(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function s(e){return"01234567".indexOf(e)}var l=function(){function e(e,t){this.source=e,this.errorHandler=t,this.trackComment=!1,this.isModule=!1,this.length=e.length,this.index=0,this.lineNumber=e.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return e.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},e.prototype.restoreState=function(e){this.index=e.index,this.lineNumber=e.lineNumber,this.lineStart=e.lineStart},e.prototype.eof=function(){return this.index>=this.length},e.prototype.throwUnexpectedToken=function(e){return void 0===e&&(e=o.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.tolerateUnexpectedToken=function(e){void 0===e&&(e=o.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.skipSingleLineComment=function(e){var t,n,i=[];for(this.trackComment&&(i=[],t=this.index-e,n={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}});!this.eof();){var o=this.source.charCodeAt(this.index);if(++this.index,r.Character.isLineTerminator(o)){if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart-1};var a={multiLine:!1,slice:[t+e,this.index-1],range:[t,this.index-1],loc:n};i.push(a)}return 13===o&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,i}}return this.trackComment&&(n.end={line:this.lineNumber,column:this.index-this.lineStart},a={multiLine:!1,slice:[t+e,this.index],range:[t,this.index],loc:n},i.push(a)),i},e.prototype.skipMultiLineComment=function(){var e,t,n=[];for(this.trackComment&&(n=[],e=this.index-2,t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var i=this.source.charCodeAt(this.index);if(r.Character.isLineTerminator(i))13===i&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===i){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var o={multiLine:!0,slice:[e+2,this.index-2],range:[e,this.index],loc:t};n.push(o)}return n}++this.index}else++this.index}return this.trackComment&&(t.end={line:this.lineNumber,column:this.index-this.lineStart},o={multiLine:!0,slice:[e+2,this.index],range:[e,this.index],loc:t},n.push(o)),this.tolerateUnexpectedToken(),n},e.prototype.scanComments=function(){var e;this.trackComment&&(e=[]);for(var t=0===this.index;!this.eof();){var n=this.source.charCodeAt(this.index);if(r.Character.isWhiteSpace(n))++this.index;else if(r.Character.isLineTerminator(n))++this.index,13===n&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,t=!0;else if(47===n)if(47===(n=this.source.charCodeAt(this.index+1))){this.index+=2;var i=this.skipSingleLineComment(2);this.trackComment&&(e=e.concat(i)),t=!0}else{if(42!==n)break;this.index+=2,i=this.skipMultiLineComment(),this.trackComment&&(e=e.concat(i))}else if(t&&45===n){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;this.index+=3,i=this.skipSingleLineComment(3),this.trackComment&&(e=e.concat(i))}else{if(60!==n||this.isModule)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;this.index+=4,i=this.skipSingleLineComment(4),this.trackComment&&(e=e.concat(i))}}return e},e.prototype.isFutureReservedWord=function(e){switch(e){case"enum":case"export":case"import":case"super":return!0;default:return!1}},e.prototype.isStrictModeReservedWord=function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}},e.prototype.isRestrictedWord=function(e){return"eval"===e||"arguments"===e},e.prototype.isKeyword=function(e){switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}},e.prototype.codePointAt=function(e){var t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){var n=this.source.charCodeAt(e+1);n>=56320&&n<=57343&&(t=1024*(t-55296)+n-56320+65536)}return t},e.prototype.scanHexEscape=function(e){for(var t="u"===e?4:2,n=0,i=0;i1114111||"}"!==e)&&this.throwUnexpectedToken(),r.Character.fromCodePoint(t)},e.prototype.getIdentifier=function(){for(var e=this.index++;!this.eof();){var t=this.source.charCodeAt(this.index);if(92===t)return this.index=e,this.getComplexIdentifier();if(t>=55296&&t<57343)return this.index=e,this.getComplexIdentifier();if(!r.Character.isIdentifierPart(t))break;++this.index}return this.source.slice(e,this.index)},e.prototype.getComplexIdentifier=function(){var e,t=this.codePointAt(this.index),n=r.Character.fromCodePoint(t);for(this.index+=n.length,92===t&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&r.Character.isIdentifierStart(e.charCodeAt(0))||this.throwUnexpectedToken(),n=e);!this.eof()&&(t=this.codePointAt(this.index),r.Character.isIdentifierPart(t));)n+=e=r.Character.fromCodePoint(t),this.index+=e.length,92===t&&(n=n.substr(0,n.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&r.Character.isIdentifierPart(e.charCodeAt(0))||this.throwUnexpectedToken(),n+=e);return n},e.prototype.octalToDecimal=function(e){var t="0"!==e,n=s(e);return!this.eof()&&r.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(t=!0,n=8*n+s(this.source[this.index++]),"0123".indexOf(e)>=0&&!this.eof()&&r.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(n=8*n+s(this.source[this.index++]))),{code:n,octal:t}},e.prototype.scanIdentifier=function(){var e,t=this.index,n=92===this.source.charCodeAt(t)?this.getComplexIdentifier():this.getIdentifier();if(3!=(e=1===n.length?3:this.isKeyword(n)?4:"null"===n?5:"true"===n||"false"===n?1:3)&&t+n.length!==this.index){var i=this.index;this.index=t,this.tolerateUnexpectedToken(o.Messages.InvalidEscapedReservedWord),this.index=i}return{type:e,value:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.scanPunctuator=function(){var e=this.index,t=this.source[this.index];switch(t){case"(":case"{":"{"===t&&this.curlyStack.push("{"),++this.index;break;case".":++this.index,"."===this.source[this.index]&&"."===this.source[this.index+1]&&(this.index+=2,t="...");break;case"}":++this.index,this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:">>>="===(t=this.source.substr(this.index,4))?this.index+=4:"==="===(t=t.substr(0,3))||"!=="===t||">>>"===t||"<<="===t||">>="===t||"**="===t?this.index+=3:"&&"===(t=t.substr(0,2))||"||"===t||"=="===t||"!="===t||"+="===t||"-="===t||"*="===t||"/="===t||"++"===t||"--"===t||"<<"===t||">>"===t||"&="===t||"|="===t||"^="===t||"%="===t||"<="===t||">="===t||"=>"===t||"**"===t?this.index+=2:(t=this.source[this.index],"<>=!+-*%&|^/".indexOf(t)>=0&&++this.index)}return this.index===e&&this.throwUnexpectedToken(),{type:7,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanHexLiteral=function(e){for(var t="";!this.eof()&&r.Character.isHexDigit(this.source.charCodeAt(this.index));)t+=this.source[this.index++];return 0===t.length&&this.throwUnexpectedToken(),r.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt("0x"+t,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanBinaryLiteral=function(e){for(var t,n="";!this.eof()&&("0"===(t=this.source[this.index])||"1"===t);)n+=this.source[this.index++];return 0===n.length&&this.throwUnexpectedToken(),this.eof()||(t=this.source.charCodeAt(this.index),(r.Character.isIdentifierStart(t)||r.Character.isDecimalDigit(t))&&this.throwUnexpectedToken()),{type:6,value:parseInt(n,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanOctalLiteral=function(e,t){var n="",i=!1;for(r.Character.isOctalDigit(e.charCodeAt(0))?(i=!0,n="0"+this.source[this.index++]):++this.index;!this.eof()&&r.Character.isOctalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];return i||0!==n.length||this.throwUnexpectedToken(),(r.Character.isIdentifierStart(this.source.charCodeAt(this.index))||r.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(n,8),octal:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,(function(e,t,n){var r=parseInt(t||n,16);return r>1114111&&i.throwUnexpectedToken(o.Messages.InvalidRegExp),r<=65535?String.fromCharCode(r):"￿"})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"￿"));try{RegExp(n)}catch(e){this.throwUnexpectedToken(o.Messages.InvalidRegExp)}try{return new RegExp(e,t)}catch(e){return null}},e.prototype.scanRegExpBody=function(){var e=this.source[this.index];i.assert("/"===e,"Regular expression literal must start with a slash");for(var t=this.source[this.index++],n=!1,a=!1;!this.eof();)if(t+=e=this.source[this.index++],"\\"===e)e=this.source[this.index++],r.Character.isLineTerminator(e.charCodeAt(0))&&this.throwUnexpectedToken(o.Messages.UnterminatedRegExp),t+=e;else if(r.Character.isLineTerminator(e.charCodeAt(0)))this.throwUnexpectedToken(o.Messages.UnterminatedRegExp);else if(n)"]"===e&&(n=!1);else{if("/"===e){a=!0;break}"["===e&&(n=!0)}return a||this.throwUnexpectedToken(o.Messages.UnterminatedRegExp),t.substr(1,t.length-2)},e.prototype.scanRegExpFlags=function(){for(var e="";!this.eof();){var t=this.source[this.index];if(!r.Character.isIdentifierPart(t.charCodeAt(0)))break;if(++this.index,"\\"!==t||this.eof())e+=t;else if("u"===(t=this.source[this.index])){++this.index;var n=this.index,i=this.scanHexEscape("u");if(null!==i)for(e+=i;n=55296&&e<57343&&r.Character.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()},e}();t.Scanner=l},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenName={},t.TokenName[1]="Boolean",t.TokenName[2]="",t.TokenName[3]="Identifier",t.TokenName[4]="Keyword",t.TokenName[5]="Null",t.TokenName[6]="Numeric",t.TokenName[7]="Punctuator",t.TokenName[8]="String",t.TokenName[9]="RegularExpression",t.TokenName[10]="Template"},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.XHTMLEntities={quot:'"',amp:"&",apos:"'",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),r=n(12),o=n(13),a=function(){function e(){this.values=[],this.curly=this.paren=-1}return e.prototype.beforeFunctionExpression=function(e){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(e)>=0},e.prototype.isRegexStart=function(){var e=this.values[this.values.length-1],t=null!==e;switch(e){case"this":case"]":t=!1;break;case")":var n=this.values[this.paren-1];t="if"===n||"while"===n||"for"===n||"with"===n;break;case"}":if(t=!1,"function"===this.values[this.curly-3])t=!!(i=this.values[this.curly-4])&&!this.beforeFunctionExpression(i);else if("function"===this.values[this.curly-4]){var i;t=!(i=this.values[this.curly-5])||!this.beforeFunctionExpression(i)}}return t},e.prototype.push=function(e){7===e.type||4===e.type?("{"===e.value?this.curly=this.values.length:"("===e.value&&(this.paren=this.values.length),this.values.push(e.value)):this.values.push(null)},e}(),s=function(){function e(e,t){this.errorHandler=new i.ErrorHandler,this.errorHandler.tolerant=!!t&&"boolean"==typeof t.tolerant&&t.tolerant,this.scanner=new r.Scanner(e,this.errorHandler),this.scanner.trackComment=!!t&&"boolean"==typeof t.comment&&t.comment,this.trackRange=!!t&&"boolean"==typeof t.range&&t.range,this.trackLoc=!!t&&"boolean"==typeof t.loc&&t.loc,this.buffer=[],this.reader=new a}return e.prototype.errors=function(){return this.errorHandler.errors},e.prototype.getNextToken=function(){if(0===this.buffer.length){var e=this.scanner.scanComments();if(this.scanner.trackComment)for(var t=0;t-1&&n>=e.flowLevel;switch(function(e,t,n,i,r){var o,a,s,l=!1,u=!1,f=-1!==i,I=-1,P=U(s=e.charCodeAt(0))&&65279!==s&&!B(s)&&s!==b&&s!==S&&s!==x&&s!==C&&s!==A&&s!==R&&s!==M&&s!==w&&s!==p&&s!==g&&s!==v&&s!==d&&s!==T&&s!==E&&s!==y&&s!==m&&s!==h&&s!==D&&s!==k&&!B(e.charCodeAt(e.length-1));if(t)for(o=0;oi&&" "!==e[I+1],I=o);else if(!U(a))return G;P=P&&F(a)}u=u||f&&o-I-1>i&&" "!==e[I+1]}return l||u?n>9&&q(e)?G:u?V:H:P&&!r(e)?z:j}(t,s,e.indent,a,(function(t){return function(e,t){var n,i;for(n=0,i=e.implicitTypes.length;n"+K(t,e.indent)+Q(L(function(e,t){for(var n,i,r,o=/(\n+)([^\n]*)/g,a=(r=-1!==(r=e.indexOf("\n"))?r:e.length,o.lastIndex=r,J(e.slice(0,r),t)),s="\n"===e[0]||" "===e[0];i=o.exec(e);){var l=i[1],u=i[2];n=" "===u[0],a+=l+(s||n||""===u?"":"\n")+J(u,t),s=n}return a}(t,a),o));case G:return'"'+function(e){for(var t,n,i,r="",o=0;o=55296&&t<=56319&&(n=e.charCodeAt(o+1))>=56320&&n<=57343?(r+=O(1024*(t-55296)+n-56320+65536),o++):r+=!(i=I[t])&&U(t)?e[o]:i||O(t);return r}(t)+'"';default:throw new r("impossible error: invalid scalar style")}}()}function K(e,t){var n=q(e)?String(t):"",i="\n"===e[e.length-1];return n+(!i||"\n"!==e[e.length-2]&&"\n"!==e?i?"":"-":"+")+"\n"}function Q(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function J(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,o=0,a=0,s=0,l="";n=r.exec(e);)(s=n.index)-o>t&&(i=a>o?a:s,l+="\n"+e.slice(o,i),o=i+1),a=s;return l+="\n",e.length-o>t&&a>o?l+=e.slice(o,a)+"\n"+e.slice(a+1):l+=e.slice(o),l.slice(1)}function X(e,t,n){var i,o,a,u,c,f;for(a=0,u=(o=n?e.explicitTypes:e.implicitTypes).length;a tag resolver accepts not "'+f+'" style');i=c.represent[f](t,f)}e.dump=i}return!0}return!1}function Y(e,t,n,i,o,a){e.tag=null,e.dump=n,X(e,n,!1)||X(e,n,!0);var l=s.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var u,f,d="[object Object]"===l||"[object Array]"===l;if(d&&(f=-1!==(u=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||f||2!==e.indent&&t>0)&&(o=!1),f&&e.usedDuplicates[u])e.dump="*ref_"+u;else{if(d&&f&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),"[object Object]"===l)i&&0!==Object.keys(e.dump).length?(function(e,t,n,i){var o,a,s,l,u,f,d="",m=e.tag,p=Object.keys(n);if(!0===e.sortKeys)p.sort();else if("function"==typeof e.sortKeys)p.sort(e.sortKeys);else if(e.sortKeys)throw new r("sortKeys must be a boolean or a function");for(o=0,a=p.length;o1024)&&(e.dump&&c===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,u&&(f+=N(e,t)),Y(e,t+1,l,!0,u)&&(e.dump&&c===e.dump.charCodeAt(0)?f+=":":f+=": ",d+=f+=e.dump));e.tag=m,e.dump=d||"{}"}(e,t,e.dump,o),f&&(e.dump="&ref_"+u+e.dump)):(function(e,t,n){var i,r,o,a,s,l="",u=e.tag,c=Object.keys(n);for(i=0,r=c.length;i1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Y(e,t,a,!1,!1)&&(l+=s+=e.dump));e.tag=u,e.dump="{"+l+"}"}(e,t,e.dump),f&&(e.dump="&ref_"+u+" "+e.dump));else if("[object Array]"===l){var m=e.noArrayIndent&&t>0?t-1:t;i&&0!==e.dump.length?(function(e,t,n,i){var r,o,a="",s=e.tag;for(r=0,o=n.length;r "+e.dump)}return!0}function $(e,t){var n,i,r=[],o=[];for(Z(e,r,o),n=0,i=o.length;n>10),56320+(e-65536&1023))}for(var T=new Array(256),w=new Array(256),I=0;I<256;I++)T[I]=k(I)?1:0,w[I]=k(I);function P(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||s,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function O(e,t){return new r(t,new o(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function _(e,t){throw O(e,t)}function L(e,t){e.onWarning&&e.onWarning.call(null,O(e,t))}var N={YAML:function(e,t,n){var i,r,o;null!==e.version&&_(e,"duplication of %YAML directive"),1!==n.length&&_(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&_(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&_(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&L(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&_(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],C.test(i)||_(e,"ill-formed tag handle (first argument) of the TAG directive"),l.call(e.tagMap,i)&&_(e,'there is a previously declared suffix for "'+i+'" tag handle'),b.test(r)||_(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=r}};function B(e,t,n,i){var r,o,a,s;if(t1&&(e.result+=i.repeat("\n",t-1))}function V(e,t){var n,i,r=e.tag,o=e.anchor,a=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),i=e.input.charCodeAt(e.position);0!==i&&45===i&&D(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,z(e,!0,-1)&&e.lineIndent<=t)a.push(null),i=e.input.charCodeAt(e.position);else if(n=e.line,K(e,t,f,!1,!0),a.push(e.result),z(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)_(e,"bad indentation of a sequence entry");else if(e.lineIndentt?k=1:e.lineIndent===t?k=0:e.lineIndentt?k=1:e.lineIndent===t?k=0:e.lineIndentt)&&(K(e,t,d,!0,r)&&(y?h=e.result:g=e.result),y||(F(e,f,m,p,h,g,o,a),p=h=g=null),z(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)_(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===o?_(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?_(e,"repeat of an indentation width identifier"):(f=t+o-1,c=!0)}if(S(a)){do{a=e.input.charCodeAt(++e.position)}while(S(a));if(35===a)do{a=e.input.charCodeAt(++e.position)}while(!E(a)&&0!==a)}for(;0!==a;){for(q(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!c||e.lineIndentf&&(f=e.lineIndent),E(a))d++;else{if(e.lineIndent0){for(r=a,o=0;r>0;r--)(a=R(s=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+a:_(e,"expected hexadecimal character");e.result+=M(o),e.position++}else _(e,"unknown escape sequence");n=i=e.position}else E(s)?(B(e,n,i,!0),H(e,z(e,!1,t)),n=i=e.position):e.position===e.lineStart&&j(e)?_(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}_(e,"unexpected end of the stream within a double quoted scalar")}(e,b)?P=!0:function(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!D(i)&&!A(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&_(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||_(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],z(e,!0,-1),!0}(e)?(P=!0,null===e.tag&&null===e.anchor||_(e,"alias node should not have any properties")):function(e,t,n){var i,r,o,a,s,l,u,c,f=e.kind,d=e.result;if(D(c=e.input.charCodeAt(e.position))||A(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c)return!1;if((63===c||45===c)&&(D(i=e.input.charCodeAt(e.position+1))||n&&A(i)))return!1;for(e.kind="scalar",e.result="",r=o=e.position,a=!1;0!==c;){if(58===c){if(D(i=e.input.charCodeAt(e.position+1))||n&&A(i))break}else if(35===c){if(D(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&j(e)||n&&A(c))break;if(E(c)){if(s=e.line,l=e.lineStart,u=e.lineIndent,z(e,!1,-1),e.lineIndent>=t){a=!0,c=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=l,e.lineIndent=u;break}}a&&(B(e,r,o,!1),H(e,e.line-s),r=o=e.position,a=!1),S(c)||(o=e.position+1),c=e.input.charCodeAt(++e.position)}return B(e,r,o,!1),!!e.result||(e.kind=f,e.result=d,!1)}(e,b,u===n)&&(P=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===k&&(P=g&&V(e,x))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(y=0,v=e.implicitTypes.length;y tag; it should be "'+C.kind+'", not "'+e.kind+'"'),C.resolve(e.result)?(e.result=C.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):_(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):_(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||P}function Q(e){var t,n,i,r,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(r=e.input.charCodeAt(e.position))&&(z(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==r));){for(a=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!D(r);)r=e.input.charCodeAt(++e.position);for(i=[],(n=e.input.slice(t,e.position)).length<1&&_(e,"directive name must not be less than one character in length");0!==r;){for(;S(r);)r=e.input.charCodeAt(++e.position);if(35===r){do{r=e.input.charCodeAt(++e.position)}while(0!==r&&!E(r));break}if(E(r))break;for(t=e.position;0!==r&&!D(r);)r=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==r&&q(e),l.call(N,n)?N[n](e,n,i):L(e,'unknown document directive "'+n+'"')}z(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,z(e,!0,-1)):a&&_(e,"directives end mark is expected"),K(e,e.lineIndent-1,d,!1,!0),z(e,!0,-1),e.checkLineBreaks&&y.test(e.input.slice(o,e.position))&&L(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&j(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,z(e,!0,-1)):e.position0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>t/2-1){n=" ... ",r+=5;break}for(o="",a=this.position;at/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(r,a),i.repeat(" ",e)+n+s+o+"\n"+i.repeat(" ",e+this.position-r+n.length)+"^"},r.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(n+=":\n"+t),n},e.exports=r},2409:function(e,t,n){"use strict";var i=n(5596),r=n(4884),o=n(3899);function a(e,t,n){var i=[];return e.include.forEach((function(e){n=a(e,t,n)})),e[t].forEach((function(e){n.forEach((function(t,n){t.tag===e.tag&&t.kind===e.kind&&i.push(n)})),n.push(e)})),n.filter((function(e,t){return-1===i.indexOf(t)}))}function s(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach((function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new r("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")})),this.compiledImplicit=a(this,"implicit",[]),this.compiledExplicit=a(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{}};function i(e){n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e64)){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,r=e.replace(/[\r\n=]/g,""),a=r.length,s=o,l=0,u=[];for(t=0;t>16&255),u.push(l>>8&255),u.push(255&l)),l=l<<6|s.indexOf(r.charAt(t));return 0==(n=a%4*6)?(u.push(l>>16&255),u.push(l>>8&255),u.push(255&l)):18===n?(u.push(l>>10&255),u.push(l>>2&255)):12===n&&u.push(l>>4&255),i?i.from?i.from(u):new i(u):u},predicate:function(e){return i&&i.isBuffer(e)},represent:function(e){var t,n,i="",r=0,a=e.length,s=o;for(t=0;t>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]),r=(r<<8)+e[t];return 0==(n=a%3)?(i+=s[r>>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]):2===n?(i+=s[r>>10&63],i+=s[r>>4&63],i+=s[r<<2&63],i+=s[64]):1===n&&(i+=s[r>>2&63],i+=s[r<<4&63],i+=s[64],i+=s[64]),i}})},2648:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},3456:function(e,t,n){"use strict";var i=n(5596),r=n(3899),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),a=/^[-+]?[0-9]+e/;e.exports=new r("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n,i,r;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,r=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach((function(e){r.unshift(parseFloat(e,10))})),t=0,i=1,r.forEach((function(e){t+=e*i,i*=60})),n*t):n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||i.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(e))return"-0.0";return n=e.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},5979:function(e,t,n){"use strict";var i=n(5596),r=n(3899);function o(e){return 48<=e&&e<=55}function a(e){return 48<=e&&e<=57}e.exports=new r("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=e.length,r=0,s=!1;if(!i)return!1;if("-"!==(t=e[r])&&"+"!==t||(t=e[++r]),"0"===t){if(r+1===i)return!0;if("b"===(t=e[++r])){for(r++;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},9811:function(e,t,n){"use strict";var i;try{i=n(1072)}catch(e){"undefined"!=typeof window&&(i=window.esprima)}var r=n(3899);e.exports=new r("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",n=i.parse(t,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,n="("+e+")",r=i.parse(n,{range:!0}),o=[];if("Program"!==r.type||1!==r.body.length||"ExpressionStatement"!==r.body[0].type||"ArrowFunctionExpression"!==r.body[0].expression.type&&"FunctionExpression"!==r.body[0].expression.type)throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach((function(e){o.push(e.name)})),t=r.body[0].expression.body.range,"BlockStatement"===r.body[0].expression.body.type?new Function(o,n.slice(t[0]+1,t[1]-1)):new Function(o,"return "+n.slice(t[0],t[1]))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},7287:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),i="";if("/"===t[0]){if(n&&(i=n[1]),i.length>3)return!1;if("/"!==t[t.length-i.length-1])return!1}return!0},construct:function(e){var t=e,n=/\/([gim]*)$/.exec(e),i="";return"/"===t[0]&&(n&&(i=n[1]),t=t.slice(1,t.length-i.length-1)),new RegExp(t,i)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},575:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},6553:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},243:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},3022:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},3878:function(e,t,n){"use strict";var i=n(3899),r=Object.prototype.hasOwnProperty,o=Object.prototype.toString;e.exports=new i("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,a,s,l=[],u=e;for(t=0,n=u.length;t0?" ".concat(n.layer):""," {")),i+=n.css,r&&(i+="}"),n.media&&(i+="}"),n.supports&&(i+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleTagTransform(i,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:function(e){"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},8549:function(e,t,n){var i=void 0===arguments?void 0:arguments,r=this;n(8045),n(9715),n(3034),n(4391);var o=n(4631),a=n(3320);n(3631),n(6876),n(2783),n(1380);var s=n(2346);document.getElementById("version").innerText="(version "+fhirpath.version+")";var l=function(e,t){var n;return function(){var o=r,a=i;clearTimeout(n),n=setTimeout((function(){return e.apply(o,a)}),t)}},u=document.getElementById("path"),c=document.getElementById("output");function f(){try{var e=document.querySelector('input[name="inputType"]:checked').value,t=d.getValue(),n=u.value;if(""!=n.trim()){var i="yaml"===e?a.safeLoad(t):JSON.parse(t);console.log(u.value,i);var r=fhirpath.evaluate(i,n,null,fhirpath_r4_model);c.innerHTML="
",c.childNodes.item(0).textContent=a.dump(JSON.parse(JSON.stringify(r)))}}catch(e){c.innerHTML='
',e.toString().replace(/\n/,"
"),c.childNodes.item(0).textContent=e.toString(),console.error(e)}}var d=o(document.getElementById("input"),{value:a.dump(s),lineNumbers:!0,mode:"yaml"});window.cm=d;var m=document.querySelector('input[name="inputType"]:checked').value;function p(e){var t=e.target.value;if(t!==m){if("json"===t){var n=d.getValue();d.setOption("mode","javascript"),d.setOption("json","true"),d.setValue(JSON.stringify(a.safeLoad(n),null,2))}else{var i=d.getValue();d.setOption("mode","yaml"),d.setValue(a.dump(JSON.parse(i)))}m=t}}for(var h=document.querySelectorAll('input[name="inputType"]'),g=0,y=h.length;g0?a-4:a;for(n=0;n>16&255,u[c++]=t>>8&255,u[c++]=255&t;return 2===s&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,u[c++]=255&t),1===s&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,u[c++]=t>>8&255,u[c++]=255&t),u},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,o=[],a=16383,s=0,l=i-r;sl?l:s+a));return 1===r?(t=e[i-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),o.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function u(e,t,i){for(var r,o,a=[],s=t;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},816:function(e,t,n){"use strict";var i=n(4782),r=n(8898),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.lW=l,t.h2=50;var a=2147483647;function s(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return u(e,t,n)}function u(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var n=0|h(e,t),i=s(n),r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(z(e,Uint8Array)){var t=new Uint8Array(e);return m(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(z(e,ArrayBuffer)||e&&z(e.buffer,ArrayBuffer))return m(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(z(e,SharedArrayBuffer)||e&&z(e.buffer,SharedArrayBuffer)))return m(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);var r=function(e){if(l.isBuffer(e)){var t=0|p(e.length),n=s(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||j(e.length)?s(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return c(e),s(e<0?0:0|p(e))}function d(e){for(var t=e.length<0?0:0|p(e.length),n=s(t),i=0;i=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function h(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||z(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return U(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(e).length;default:if(r)return i?-1:U(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return w(this,t,n);case"utf8":case"utf-8":return R(this,t,n);case"ascii":return M(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return A(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),j(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:C(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):C(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function C(e,t,n,i,r){var o,a=1,s=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){var c=-1;for(o=n;os&&(n=s-l),o=n;o>=0;o--){for(var f=!0,d=0;dr&&(i=r):i=r;var o=t.length;i>o/2&&(i=o/2);for(var a=0;a>8,r=n%256,o.push(r),o.push(i);return o}(t,e.length-n),e,n,i)}function A(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function R(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r239?4:u>223?3:u>191?2:1;if(r+f<=n)switch(f){case 1:u<128&&(c=u);break;case 2:128==(192&(o=e[r+1]))&&(l=(31&u)<<6|63&o)>127&&(c=l);break;case 3:o=e[r+1],a=e[r+2],128==(192&o)&&128==(192&a)&&(l=(15&u)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:o=e[r+1],a=e[r+2],s=e[r+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(l=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,f=1):c>65535&&(c-=65536,i.push(c>>>10&1023|55296),c=56320|1023&c),i.push(c),r+=f}return function(e){var t=e.length;if(t<=k)return String.fromCharCode.apply(String,e);for(var n="",i=0;ii.length?l.from(o).copy(i,r):Uint8Array.prototype.set.call(i,o,r);else{if(!l.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,r)}r+=o.length}return i},l.byteLength=h,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;tn&&(e+=" ... "),""},o&&(l.prototype[o]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(z(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),u=this.slice(i,r),c=e.slice(t,n),f=0;f>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return x(this,e,t,n);case"ascii":case"latin1":case"binary":return E(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function M(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;ri)&&(n=i);for(var r="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function O(e,t,n,i,r,o){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function _(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,o){return t=+t,n>>>=0,o||_(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function N(e,t,n,i,o){return t=+t,n>>>=0,o||_(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){var n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||O(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,i||O(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,o=1;for(this[t+r]=255&e;--r>=0&&(o*=256);)this[t+r]=e/o&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);O(this,e,t,n,r-1,-r)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);O(this,e,t,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return N(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return N(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function F(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(B,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,n,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function z(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function j(e){return e!=e}var H=function(){for(var e="0123456789abcdef",t=new Array(256),n=0;n<16;++n)for(var i=16*n,r=0;r<16;++r)t[i+r]=e[n]+e[r];return t}()},8898:function(e,t){t.read=function(e,t,n,i,r){var o,a,s=8*r-i-1,l=(1<>1,c=-7,f=n?r-1:0,d=n?-1:1,m=e[t+f];for(f+=d,o=m&(1<<-c)-1,m>>=-c,c+=s;c>0;o=256*o+e[t+f],f+=d,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=i;c>0;a=256*a+e[t+f],f+=d,c-=8);if(0===o)o=1-u;else{if(o===l)return a?NaN:1/0*(m?-1:1);a+=Math.pow(2,i),o-=u}return(m?-1:1)*a*Math.pow(2,o-i)},t.write=function(e,t,n,i,r,o){var a,s,l,u=8*o-r-1,c=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,m=i?0:o-1,p=i?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+f>=1?d/l:d*Math.pow(2,1-f))*l>=2&&(a++,l/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(t*l-1)*Math.pow(2,r),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,r),a=0));r>=8;e[n+m]=255&s,m+=p,s/=256,r-=8);for(a=a<0;e[n+m]=255&a,m+=p,a/=256,u-=8);e[n+m-p]|=128*h}}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={id:i,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="",n.nc=void 0,n(8549)}(); +!function(){var e={3034:function(){!function(){var e={6759:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Ucum=void 0,t.Ucum={dimLen_:7,validOps_:[".","/"],codeSep_:": ",valMsgStart_:"Did you mean ",valMsgEnd_:"?",cnvMsgStart_:"We assumed you meant ",cnvMsgEnd_:".",openEmph_:" ->",closeEmph_:"<- ",openEmphHTML_:' ',closeEmphHTML_:" ",bracesMsg_:"FYI - annotations (text in curly braces {}) are ignored, except that an annotation without a leading symbol implies the default unit 1 (the unity).",needMoleWeightMsg_:"Did you wish to convert between mass and moles? The molecular weight of the substance represented by the units is required to perform the conversion.",csvCols_:{"case-sensitive code":"csCode_","LOINC property":"loincProperty_","name (display)":"name_",synonyms:"synonyms_",source:"source_",category:"category_",Guidance:"guidance_"},inputKey_:"case-sensitive code",specUnits_:{"B[10.nV]":"specialUnitOne","[m/s2/Hz^(1/2)]":"specialUnitTwo"}}},9460:function(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}t.R=void 0;var r=n(6759),o=n(1781),a=function(){function e(t){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),0===r.Ucum.dimLen_)throw new Error("Dimension.setDimensionLen must be called before Dimension constructor");if(null==t)this.assignZero();else if(t instanceof Array){if(t.length!==r.Ucum.dimLen_)throw new Error("Parameter error, incorrect length of vector passed to "+"Dimension constructor, vector = ".concat(JSON.stringify(t)));this.dimVec_=[];for(var n=0;n=r.Ucum.dimLen_)throw new Error("Parameter error, invalid element number specified for Dimension constructor");this.assignZero(),this.dimVec_[t]=1}}var t,n;return t=e,(n=[{key:"setElementAt",value:function(e,t){if(!o(e)||e<0||e>=r.Ucum.dimLen_)throw new Error("Dimension.setElementAt called with an invalid index "+"position (".concat(e,")"));this.dimVec_||this.assignZero(),null==t&&(t=1),this.dimVec_[e]=t}},{key:"getElementAt",value:function(e){if(!o(e)||e<0||e>=r.Ucum.dimLen_)throw new Error("Dimension.getElementAt called with an invalid index "+"position (".concat(e,")"));var t=null;return this.dimVec_&&(t=this.dimVec_[e]),t}},{key:"getProperty",value:function(e){return this["_"===e.charAt(e.length-1)?e:e+"_"]}},{key:"toString",value:function(){var e=null;return this.dimVec_&&(e="["+this.dimVec_.join(", ")+"]"),e}},{key:"add",value:function(t){if(!t instanceof e)throw new Error("Dimension.add called with an invalid parameter - "+"".concat(i(t)," instead of a Dimension object"));if(this.dimVec_&&t.dimVec_)for(var n=0;n mole conversion cannot be executed for two mole-based units. No conversion was attempted.");if(0===a.moleExp_&&0===u.moleExp_)throw new Error("A molecular weight was specified but a mass <-> mole conversion cannot be executed when neither unit is mole-based. No conversion was attempted.");if(!a.isMoleMassCommensurable(u))throw new Error("Sorry. ".concat(e," cannot be ")+"converted to ".concat(n,"."));0!==a.moleExp_?o.toVal=a.convertMolToMass(t,u,r):o.toVal=a.convertMassToMol(t,u,r)}else o.toVal=u.convertFrom(t,a);o.status="succeeded",o.fromUnit=a,o.toUnit=u}catch(e){o.status="failed",o.msg.push(e.message)}}catch(e){e.message==s.needMoleWeightMsg_?o.status="failed":o.status="error",o.msg.push(e.message)}return o}},{key:"convertToBaseUnits",value:function(e,t){var n={};if(this._checkFromVal(t,n),!n.status){var i=this.getSpecifiedUnit(e,"validate");n={status:"valid"==i.status?"succeeded":i.status};var r,o=i.unit;if(n.msg=i.retMsg||[],o){if(o.isArbitrary_)n.msg.push("Arbitrary units cannot be converted to base units or other units."),n.status="failed";else if("succeeded"==n.status){var a,s={},u=null===(a=o.dim_)||void 0===a?void 0:a.dimVec_,c="1";if(u)for(var f=l.getInstance().dimVecIndexToBaseUnit_,d=0,m=u.length;d0&&(t=i.retMsg),r){var o=null,a=r.getProperty("dim_");if(a){try{o=a.getProperty("dimVec_")}catch(e){t.push(e.message),"Dimension does not have requested property(dimVec_)"===e.message&&(o=null)}o&&(n=l.getInstance().getUnitsByDimension(o))}else t.push("No commensurable units were found for "+e)}else t.push("Could not find unit ".concat(e,"."));return[n,t]}}])&&function(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.isBase_=t.isBase_||!1,this.name_=t.name_||"",this.csCode_=t.csCode_||"",this.ciCode_=t.ciCode_||"",this.property_=t.property_||"",this.magnitude_=t.magnitude_||1,void 0===t.dim_||null===t.dim_?this.dim_=new f:void 0!==t.dim_.dimVec_?this.dim_=new f(t.dim_.dimVec_):t.dim_ instanceof f?this.dim_=t.dim_:t.dim_ instanceof Array||d(t.dim_)?this.dim_=new f(t.dim_):this.dim_=new f,this.printSymbol_=t.printSymbol_||null,this.class_=t.class_||null,this.isMetric_=t.isMetric_||!1,this.variable_=t.variable_||null,this.cnv_=t.cnv_||null,this.cnvPfx_=t.cnvPfx_||1,this.isSpecial_=t.isSpecial_||!1,this.isArbitrary_=t.isArbitrary_||!1,this.moleExp_=t.moleExp_||0,this.synonyms_=t.synonyms_||null,this.source_=t.source_||null,this.loincProperty_=t.loincProperty_||null,this.category_=t.category_||null,this.guidance_=t.guidance_||null,this.csUnitString_=t.csUnitString_||null,this.ciUnitString_=t.ciUnitString_||null,this.baseFactorStr_=t.baseFactorStr_||null,this.baseFactor_=t.baseFactor_||null,this.defError_=t.defError_||!1}var t,r;return t=e,(r=[{key:"assignUnity",value:function(){return this.name_="",this.magnitude_=1,this.dim_||(this.dim_=new f),this.dim_.assignZero(),this.cnv_=null,this.cnvPfx_=1,this}},{key:"assignVals",value:function(e){for(var t in e){var n="_"===!t.charAt(t.length-1)?t+"_":t;if(!this.hasOwnProperty(n))throw new Error("Parameter error; ".concat(t," is not a property of a Unit"));this[n]=e[t]}}},{key:"clone",value:function(){var t=this,n=new e;return Object.getOwnPropertyNames(this).forEach((function(e){"dim_"===e?t.dim_?n.dim_=t.dim_.clone():n.dim_=null:n[e]=t[e]})),n}},{key:"assign",value:function(e){var t=this;Object.getOwnPropertyNames(e).forEach((function(n){"dim_"===n?e.dim_?t.dim_=e.dim_.clone():t.dim_=null:t[n]=e[n]}))}},{key:"equals",value:function(e){return this.magnitude_===e.magnitude_&&this.cnv_===e.cnv_&&this.cnvPfx_===e.cnvPfx_&&(null===this.dim_&&null===e.dim_||this.dim_.equals(e.dim_))}},{key:"fullEquals",value:function(e){for(var t=Object.keys(this).sort(),n=Object.keys(e).sort(),i=t.length,r=i===n.length,o=0;o0){var t=e.replace("/","!").replace(".","/").replace("!",".");switch(t.charAt(0)){case".":e=t.substr(1);break;case"/":e=t;break;default:e="/"+t}}return e}},{key:"_concatStrs",value:function(e,t,n,i,r){return this._buildOneString(e,i,r)+t+this._buildOneString(n,i,r)}},{key:"_buildOneString",value:function(e,t,n){return s.isNumericString(e)||"("===e.charAt(0)&&e.endsWith(")")||"["===e.charAt(0)&&e.endsWith("]")?e:/[./* ]/.test(e)?t+e+n:e}},{key:"power",value:function(e){if(null!=this.cnv_)throw new Error("Attempt to raise a non-ratio unit, ".concat(this.name_,", ")+"to a power.");for(var t=this.csCode_.match(/([./]|[^./]+)/g),n=t.length,i=0;i=0;s--){var l=parseInt(r[s]);if(!d(l)){if("-"!==r[s]&&"+"!==r[s]||s--,s0)r[0]=null,r[1]=null;else{this.retMsg_.length;var a=null;for(a in l.specUnits_)for(;-1!==e.indexOf(a);)e=e.replace(a,l.specUnits_[a]);if(e.indexOf(" ")>-1)throw new Error("Blank spaces are not allowed in unit expressions.");var s=(r=this._parseTheString(e,i))[0];(o.isIntegerUnit(s)||"number"==typeof s)&&(s=new u({csCode_:i,ciCode_:i,magnitude_:s,name_:i}),r[0]=s)}return r[2]=this.retMsg_,this.suggestions_&&this.suggestions_.length>0&&(r[3]=this.suggestions_),r}},{key:"_parseTheString",value:function(e,t){var n=null,i=this.retMsg_.length>0,r=this._processParens(e,t),a=[];if(!(i=r[2])){e=r[0],t=r[1];var s=this._makeUnitsArray(e,t);if(!(i=s[2])){a=s[0],t=s[1];for(var l=a.length,u=0;u=0){var f=this._getParensUnit(c,t);i||(i=f[1]),i||(a[u].un=f[0])}else{var d=this._makeUnit(c,t);null===d[0]?i=!0:(a[u].un=d[0],t=d[1])}}}}return i||null!==a[0]&&" "!==a[0]&&void 0!==a[0].un&&null!==a[0].un||0!==this.retMsg_.length||(this.retMsg_.push("Unit string (".concat(t,") did not contain ")+"anything that could be used to create a unit, or else something that is not handled yet by this package. Sorry"),i=!0),i||(n=this._performUnitArithmetic(a,t)),[n,t]}},{key:"_getAnnotations",value:function(t){for(var n=t.indexOf("{");n>=0;){var i=t.indexOf("}");if(i<0)this.retMsg_.push("Missing closing brace for annotation starting at "+this.openEmph_+t.substr(n)+this.closeEmph_),n=-1;else{var r=t.substring(n,i+1);if(e.VALID_ANNOTATION_REGEX.test(r)){var o=this.annotations_.length.toString();t=t.replace(r,this.braceFlag_+o+this.braceFlag_),this.annotations_.push(r),n=t.indexOf("{")}else this.retMsg_.push(e.INVALID_ANNOTATION_CHAR_MSG+this.openEmph_+r+this.closeEmph_),n=-1}}if(0==this.retMsg_.length){var a=t.indexOf("}");a>=0&&this.retMsg_.push("Missing opening brace for closing brace found at "+this.openEmph_+t.substring(0,a+1)+this.closeEmph_)}return t}},{key:"_processParens",value:function(e,t){for(var n=[],i=0,r=!1,o=this.parensUnits_.length,a=0;""!==e&&!r;){var s=0,l=0,u=e.indexOf("(");if(u<0){var c=e.indexOf(")");if(c>=0){var f="Missing open parenthesis for close "+"parenthesis at ".concat(e.substring(0,c+a))+"".concat(this.openEmph_).concat(e.substr(c,1)).concat(this.closeEmph_);c0&&(n[i++]=e.substr(0,u));for(var m=0,p=u+1;p0&&(a=e.substr(0,r-1));var s=e.lastIndexOf(this.parensFlag_),l=null;s+this.pFlagLen_=0){var d=this._getAnnoText(a,t);if(d[1]||d[2])throw new Error("Text found before the parentheses ("+"".concat(a,") included an annotation along with other text ")+"for parenthetical unit ".concat(i.csCode_));e+=d[0],this.retMsg_.push("The annotation ".concat(d[0]," before the unit ")+"code is invalid.\n"+this.vcMsgStart_+e+this.vcMsgEnd_)}else this.suggestions_?n="succeeded"!==this._getSuggestions(a):(this.retMsg_.push("".concat(a," preceding the unit code ").concat(e," ")+"is invalid. Unable to make a substitution."),n=!0);if(l)if(l.indexOf(this.braceFlag_)>=0){var m=this._getAnnoText(l,t);if(m[1]||m[2])throw new Error("Text found after the parentheses ("+"".concat(l,") included an annotation along with other text ")+"for parenthetical unit ".concat(i.csCode_));e+=m[0]}else o.isNumericString(l)?(e+=l,i=i.power(Number(l)),this.retMsg_.push("An exponent (".concat(l,") following a parenthesis ")+"is invalid as of revision 1.9 of the UCUM Specification.\n "+this.vcMsgStart_+e+this.vcMsgEnd_)):this.suggestions_?n="succeeded"!==this._getSuggestions(a):(this.retMsg_.push("Text ".concat(l," following the unit code ").concat(e," ")+"is invalid. Unable to make a substitution."),n=!0);return n||(i?o.isIntegerUnit(i)?i=new u({csCode_:i,magnitude_:i,name_:i}):i.csCode_=e:i=new u({csCode_:e,magnitude_:1,name_:e})),[i,n]}},{key:"_getAnnoText",value:function(e,t){var n=e.indexOf(this.braceFlag_),i=n>0?e.substring(0,n):null;0!==n&&(e=e.substr(n));var r=e.indexOf(this.braceFlag_,1),a=r+this.bFlagLen_=this.annotations_.length)throw new Error("Processing Error - invalid annotation index ".concat(s," found ")+"in ".concat(e," that was created from ").concat(t));return[e=this.annotations_[l],i,a]}},{key:"_getSuggestions",value:function(e){var t=o.getSynonyms(e);if("succeeded"===t.status){var n={};n.msg="".concat(e," is not a valid UCUM code. We found possible ")+"units that might be what was meant:",n.invalidUnit=e;var i=t.units.length;n.units=[];for(var r=0;r=0){var i=this._getUnitWithAnnotation(e,t);(n=i[0])&&(t=i[1])}else{if(e.indexOf("^")>-1){var r=e.replace("^","*");(n=this.utabs_.getUnitByCode(r))&&((n=n.clone()).csCode_=n.csCode_.replace("*","^"),n.ciCode_=n.ciCode_.replace("*","^"))}if(!n){var o="["+e+"]";(n=this.utabs_.getUnitByCode(o))&&(n=n.clone(),t=t.replace(e,o),this.retMsg_.push("".concat(e," is not a valid unit expression, but ")+"".concat(o," is.\n")+this.vcMsgStart_+"".concat(o," (").concat(n.name_,")").concat(this.vcMsgEnd_)))}if(!n){var a=this.utabs_.getUnitByName(e);if(a&&a.length>0){for(var s="The UCUM code for "+e+" is "+(n=a[0].clone()).csCode_+".\n"+this.vcMsgStart_+n.csCode_+this.vcMsgEnd_,u=!1,c=0;c"+w+"",csCode_:T+w,ciCode_:R+w,printSymbol_:k+""+w+""})}}else n=null,this.suggestions_?this._getSuggestions(p):this.retMsg_.push("".concat(p," is not a valid UCUM code."))}}return[n,t]}},{key:"_getUnitWithAnnotation",value:function(e,t){var n=null,r=this._getAnnoText(e,t),a=r[0],s=r[1],l=r[2];this.bracesMsg_&&-1===this.retMsg_.indexOf(this.bracesMsg_)&&this.retMsg_.push(this.bracesMsg_);var c,f,d=this.retMsg_.length;if(s||l)if(s&&!l)if(o.isIntegerUnit(s))n=s;else{var m=this._makeUnit(s,t);m[0]?((n=m[0]).csCode_+=a,t=m[1]):this.retMsg_.push("Unable to find a unit for ".concat(s," that ")+"precedes the annotation ".concat(a,"."))}else if(!s&&l)if(o.isIntegerUnit(l))n=l+a,this.retMsg_.push("The annotation ".concat(a," before the ")(i||(c=[""," is invalid.\n"],(f=[""," is invalid.\\n"])||(f=c.slice(0)),i=Object.freeze(Object.defineProperties(c,{raw:{value:Object.freeze(f)}}))),l)+this.vcMsgStart_+n+this.vcMsgEnd_);else{var p=this._makeUnit(l,t);p[0]?((n=p[0]).csCode_+=a,t=n.csCode_,this.retMsg_.push("The annotation ".concat(a," before the unit ")+"code is invalid.\n"+this.vcMsgStart_+n.csCode_+this.vcMsgEnd_)):this.retMsg_.push("Unable to find a unit for ".concat(s," that ")+"follows the annotation ".concat(a,"."))}else this.retMsg_.push("Unable to find a unit for ".concat(s).concat(a)+"".concat(l,".\nWe are not sure how to interpret text both before ")+"and after the annotation. Sorry");else{var h="["+a.substring(1,a.length-1)+"]",g=this._makeUnit(h,t);g[0]?(n=e,this.retMsg_.push("".concat(a," is a valid unit expression, but ")+"did you mean ".concat(h," (").concat(g[0].name_,")?"))):this.retMsg_.length>d&&this.retMsg_.pop(),n=new u({csCode_:a,ciCode_:a,magnitude_:1,name_:a})}return[n,t]}},{key:"_performUnitArithmetic",value:function(e,t){var n=e[0].un;o.isIntegerUnit(n)&&(n=new u({csCode_:n,ciCode_:n,magnitude_:Number(n),name_:n}));for(var i=e.length,r=!1,a=1;a=1&&(n=e.substr(t+r.codeSep_.length),e=e.substr(0,t));var i=this.unitNames_[e];if(i){var o=i.length;if(n&&o>1){for(var a=0;i[a].csCode_!==n&&a0&&(n+=t),"dim_"===e[c])null!==u.dim_&&void 0!==u.dim_&&u.dim_.dimVec_ instanceof Array?n+="["+u.dim_.dimVec_.join(",")+"]":n+="";else{var f=u[e[c]];n+="string"==typeof f?f.replace(/[\n\r]/g," "):f}n+="\r\n"}return n}},{key:"printUnits",value:function(e,t){void 0===e&&(e=!1),void 0===t&&(t="|");var n="",i=this.codeOrder_.length,r="csCode"+t;e&&(r+="ciCode"+t),r+="name"+t,e&&(r+="isBase"+t),r+="magnitude"+t+"dimension"+t+"from unit(s)"+t+"value"+t+"function"+t,e&&(r+="property"+t+"printSymbol"+t+"synonyms"+t+"source"+t+"class"+t+"isMetric"+t+"variable"+t+"isSpecial"+t+"isAbitrary"+t),n=(r+="comment")+"\n";for(var o=0;o=0&&(this.fetchedEOF?this.index0)||this.fetch(t)>=t}},{key:"fetch",value:function(e){if(this.fetchedEOF)return 0;for(var t=0;t=this.tokens.length&&(t=this.tokens.length-1);for(var r=e;r=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[t]}},{key:"adjustSeekIndex",value:function(e){return e}},{key:"lazyInit",value:function(){-1===this.index&&this.setup()}},{key:"setup",value:function(){this.sync(0),this.index=this.adjustSeekIndex(0)}},{key:"setTokenSource",value:function(e){this.tokenSource=e,this.tokens=[],this.index=-1,this.fetchedEOF=!1}},{key:"nextTokenOnChannel",value:function(e,t){if(this.sync(e),e>=this.tokens.length)return-1;for(var n=this.tokens[e];n.channel!==this.channel;){if(n.type===u.EOF)return-1;e+=1,this.sync(e),n=this.tokens[e]}return e}},{key:"previousTokenOnChannel",value:function(e,t){for(;e>=0&&this.tokens[e].channel!==t;)e-=1;return e}},{key:"getHiddenTokensToRight",value:function(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+" not in 0.."+this.tokens.length-1;var n=this.nextTokenOnChannel(e+1,c.DEFAULT_TOKEN_CHANNEL),i=e+1,r=-1===n?this.tokens.length-1:n;return this.filterForChannel(i,r,t)}},{key:"getHiddenTokensToLeft",value:function(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+" not in 0.."+this.tokens.length-1;var n=this.previousTokenOnChannel(e-1,c.DEFAULT_TOKEN_CHANNEL);if(n===e-1)return null;var i=n+1,r=e-1;return this.filterForChannel(i,r,t)}},{key:"filterForChannel",value:function(e,t,n){for(var i=[],r=e;r=this.tokens.length&&(n=this.tokens.length-1);for(var i="",r=t;r=this._size)throw"cannot consume EOF";this._index+=1}},{key:"LA",value:function(e){if(0===e)return 0;e<0&&(e+=1);var t=this._index+e-1;return t<0||t>=this._size?r.EOF:this.data[t]}},{key:"LT",value:function(e){return this.LA(e)}},{key:"mark",value:function(){return-1}},{key:"release",value:function(e){}},{key:"seek",value:function(e){e<=this._index?this._index=e:this._index=Math.min(e,this._size)}},{key:"getText",value:function(e,t){if(t>=this._size&&(t=this._size-1),e>=this._size)return"";if(this.decodeToUnicodeCodePoints){for(var n="",i=e;i<=t;i++)n+=String.fromCodePoint(this.data[i]);return n}return this.strdata.slice(e,t+1)}},{key:"toString",value:function(){return this.strdata}},{key:"index",get:function(){return this._index}},{key:"size",get:function(){return this._size}}])&&function(e,t){for(var n=0;n=this.start&&e=n.stop?(this.intervals.splice(e+1,1),this.reduce(e)):t.stop>=n.start&&(this.intervals[e]=new l(t.start,n.stop),this.intervals.splice(e+1,1))}}},{key:"complement",value:function(t,n){var i=new e;return i.addInterval(new l(t,n+1)),null!==this.intervals&&this.intervals.forEach((function(e){return i.removeRange(e)})),i}},{key:"contains",value:function(e){if(null===this.intervals)return!1;for(var t=0;ti.start&&e.stop=i.stop?(this.intervals.splice(t,1),t-=1):e.start"):e.push("'"+String.fromCharCode(n.start)+"'"):e.push("'"+String.fromCharCode(n.start)+"'..'"+String.fromCharCode(n.stop-1)+"'")}return e.length>1?"{"+e.join(", ")+"}":e[0]}},{key:"toIndexString",value:function(){for(var e=[],t=0;t"):e.push(n.start.toString()):e.push(n.start.toString()+".."+(n.stop-1).toString())}return e.length>1?"{"+e.join(", ")+"}":e[0]}},{key:"toTokenString",value:function(e,t){for(var n=[],i=0;i1?"{"+n.join(", ")+"}":n[0]}},{key:"elementName",value:function(e,t,n){return n===s.EOF?"":n===s.EPSILON?"":e[n]||t[n]}},{key:"length",get:function(){return this.intervals.map((function(e){return e.length})).reduce((function(e,t){return e+t}))}}]),e}();e.exports={Interval:l,IntervalSet:u}},2894:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(7090),o=r.Set,a=r.BitSet,s=n(9616).Token,l=n(4769).ATNConfig,u=n(5062).IntervalSet,c=n(4).RuleStopState,f=n(3412),d=f.RuleTransition,m=f.NotSetTransition,p=f.WildcardTransition,h=f.AbstractPredicateTransition,g=n(9699),y=g.predictionContextFromRuleContext,v=g.PredictionContext,C=g.SingletonPredictionContext,b=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.atn=t}var t,n;return t=e,(n=[{key:"getDecisionLookahead",value:function(t){if(null===t)return null;for(var n=t.transitions.length,i=[],r=0;r":"\n"===e?"\\n":"\t"===e?"\\t":"\r"===e?"\\r":e}},{key:"getCharErrorDisplay",value:function(e){return"'"+this.getErrorDisplayForChar(e)+"'"}},{key:"recover",value:function(e){this._input.LA(1)!==s.EOF&&(e instanceof f?this._interp.consume(this._input):this._input.consume())}},{key:"inputStream",get:function(){return this._input},set:function(e){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=e,this._tokenFactorySourcePair=[this,this._input]}},{key:"sourceName",get:function(){return this._input.sourceName}},{key:"type",get:function(){return this._type},set:function(e){this._type=e}},{key:"line",get:function(){return this._interp.line},set:function(e){this._interp.line=e}},{key:"column",get:function(){return this._interp.column},set:function(e){this._interp.column=e}},{key:"text",get:function(){return null!==this._text?this._text:this._interp.getText(this._input)},set:function(e){this._text=e}}])&&function(e,t){for(var n=0;n0?(this._errHandler.reportMatch(this),this.consume()):(e=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===e.tokenIndex&&this._ctx.addErrorNode(e)),e}},{key:"getParseListeners",value:function(){return this._parseListeners||[]}},{key:"addParseListener",value:function(e){if(null===e)throw"listener";null===this._parseListeners&&(this._parseListeners=[]),this._parseListeners.push(e)}},{key:"removeParseListener",value:function(e){if(null!==this._parseListeners){var t=this._parseListeners.indexOf(e);t>=0&&this._parseListeners.splice(t,1),0===this._parseListeners.length&&(this._parseListeners=null)}}},{key:"removeParseListeners",value:function(){this._parseListeners=null}},{key:"triggerEnterRuleEvent",value:function(){if(null!==this._parseListeners){var e=this._ctx;this._parseListeners.forEach((function(t){t.enterEveryRule(e),e.enterRule(t)}))}}},{key:"triggerExitRuleEvent",value:function(){if(null!==this._parseListeners){var e=this._ctx;this._parseListeners.slice(0).reverse().forEach((function(t){e.exitRule(t),t.exitEveryRule(e)}))}}},{key:"getTokenFactory",value:function(){return this._input.tokenSource._factory}},{key:"setTokenFactory",value:function(e){this._input.tokenSource._factory=e}},{key:"getATNWithBypassAlts",value:function(){var e=this.getSerializedATN();if(null===e)throw"The current parser does not support an ATN with bypass alternatives.";var t=this.bypassAltsAtnCache[e];if(null===t){var n=new C;n.generateRuleBypassTransitions=!0,t=new v(n).deserialize(e),this.bypassAltsAtnCache[e]=t}return t}},{key:"compileParseTreePattern",value:function(e,t,n){if(null===(n=n||null)&&null!==this.getTokenStream()){var i=this.getTokenStream().tokenSource;i instanceof b&&(n=i)}if(null===n)throw"Parser can't discover a lexer to use";return new ParseTreePatternMatcher(n,this).compile(e,t)}},{key:"getInputStream",value:function(){return this.getTokenStream()}},{key:"setInputStream",value:function(e){this.setTokenStream(e)}},{key:"getTokenStream",value:function(){return this._input}},{key:"setTokenStream",value:function(e){this._input=null,this.reset(),this._input=e}},{key:"getCurrentToken",value:function(){return this._input.LT(1)}},{key:"notifyErrorListeners",value:function(e,t,n){n=n||null,null===(t=t||null)&&(t=this.getCurrentToken()),this._syntaxErrors+=1;var i=t.line,r=t.column;this.getErrorListenerDispatch().syntaxError(this,t,i,r,e,n)}},{key:"consume",value:function(){var e=this.getCurrentToken();e.type!==f.EOF&&this.getInputStream().consume();var t,n=null!==this._parseListeners&&this._parseListeners.length>0;return(this.buildParseTrees||n)&&((t=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(e):this._ctx.addTokenNode(e)).invokingState=this.state,n&&this._parseListeners.forEach((function(e){t instanceof h||void 0!==t.isErrorNode&&t.isErrorNode()?e.visitErrorNode(t):t instanceof p&&e.visitTerminal(t)}))),e}},{key:"addContextToParseTree",value:function(){null!==this._ctx.parentCtx&&this._ctx.parentCtx.addChild(this._ctx)}},{key:"enterRule",value:function(e,t,n){this.state=t,this._ctx=e,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}},{key:"exitRule",value:function(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}},{key:"enterOuterAlt",value:function(e,t){e.setAltNumber(t),this.buildParseTrees&&this._ctx!==e&&null!==this._ctx.parentCtx&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(e)),this._ctx=e}},{key:"getPrecedence",value:function(){return 0===this._precedenceStack.length?-1:this._precedenceStack[this._precedenceStack.length-1]}},{key:"enterRecursionRule",value:function(e,t,n,i){this.state=t,this._precedenceStack.push(i),this._ctx=e,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}},{key:"pushNewRecursionContext",value:function(e,t,n){var i=this._ctx;i.parentCtx=e,i.invokingState=t,i.stop=this._input.LT(-1),this._ctx=e,this._ctx.start=i.start,this.buildParseTrees&&this._ctx.addChild(i),this.triggerEnterRuleEvent()}},{key:"unrollRecursionContexts",value:function(e){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);var t=this._ctx,n=this.getParseListeners();if(null!==n&&n.length>0)for(;this._ctx!==e;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=e;t.parentCtx=e,this.buildParseTrees&&null!==e&&e.addChild(t)}},{key:"getInvokingContext",value:function(e){for(var t=this._ctx;null!==t;){if(t.ruleIndex===e)return t;t=t.parentCtx}return null}},{key:"precpred",value:function(e,t){return t>=this._precedenceStack[this._precedenceStack.length-1]}},{key:"inContext",value:function(e){return!1}},{key:"isExpectedToken",value:function(e){var t=this._interp.atn,n=this._ctx,i=t.states[this.state],r=t.nextTokens(i);if(r.contains(e))return!0;if(!r.contains(f.EPSILON))return!1;for(;null!==n&&n.invokingState>=0&&r.contains(f.EPSILON);){var o=t.states[n.invokingState].transitions[0];if((r=t.nextTokens(o.followState)).contains(e))return!0;n=n.parentCtx}return!(!r.contains(f.EPSILON)||e!==f.EOF)}},{key:"getExpectedTokens",value:function(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}},{key:"getExpectedTokensWithinCurrentRule",value:function(){var e=this._interp.atn,t=e.states[this.state];return e.nextTokens(t)}},{key:"getRuleIndex",value:function(e){var t=this.getRuleIndexMap()[e];return null!==t?t:-1}},{key:"getRuleInvocationStack",value:function(e){null===(e=e||null)&&(e=this._ctx);for(var t=[];null!==e;){var n=e.ruleIndex;n<0?t.push("n/a"):t.push(this.ruleNames[n]),e=e.parentCtx}return t}},{key:"getDFAStrings",value:function(){return this._interp.decisionToDFA.toString()}},{key:"dumpDFA",value:function(){for(var e=!1,t=0;t0&&(e&&console.log(),this.printer.println("Decision "+n.decision+":"),this.printer.print(n.toString(this.literalNames,this.symbolicNames)),e=!0)}}},{key:"getSourceName",value:function(){return this._input.sourceName}},{key:"setTrace",value:function(e){e?(null!==this._tracer&&this.removeParseListener(this._tracer),this._tracer=new x(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}}]),n}(g);E.bypassAltsAtnCache={},e.exports=E},788:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}var a=n(3680),s=n(4524),l=s.INVALID_INTERVAL,u=s.TerminalNode,c=s.TerminalNodeImpl,f=s.ErrorNodeImpl,d=n(5062).Interval,m=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)}(p,e);var t,n,a,s,m=(t=p,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=o(t);if(n){var a=o(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function p(e,t){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),e=e||null,t=t||null,(n=m.call(this,e,t)).ruleIndex=-1,n.children=null,n.start=null,n.stop=null,n.exception=null,n}return a=p,(s=[{key:"copyFrom",value:function(e){this.parentCtx=e.parentCtx,this.invokingState=e.invokingState,this.children=null,this.start=e.start,this.stop=e.stop,e.children&&(this.children=[],e.children.map((function(e){e instanceof f&&(this.children.push(e),e.parentCtx=this)}),this))}},{key:"enterRule",value:function(e){}},{key:"exitRule",value:function(e){}},{key:"addChild",value:function(e){return null===this.children&&(this.children=[]),this.children.push(e),e}},{key:"removeLastChild",value:function(){null!==this.children&&this.children.pop()}},{key:"addTokenNode",value:function(e){var t=new c(e);return this.addChild(t),t.parentCtx=this,t}},{key:"addErrorNode",value:function(e){var t=new f(e);return this.addChild(t),t.parentCtx=this,t}},{key:"getChild",value:function(e,t){if(t=t||null,null===this.children||e<0||e>=this.children.length)return null;if(null===t)return this.children[e];for(var n=0;n=this.children.length)return null;for(var n=0;n0&&(e+=", "),this.returnStates[t]!==v.EMPTY_RETURN_STATE?(e+=this.returnStates[t],null!==this.parents[t]?e=e+" "+this.parents[t]:e+="null"):e+="$";return e+"]"}},{key:"length",get:function(){return this.returnStates.length}}]),n}(v);e.exports={merge:function e(t,n,i,r){if(t===n)return t;if(t instanceof b&&n instanceof b)return function(t,n,i,r){if(null!==r){var o=r.get(t,n);if(null!==o)return o;if(null!==(o=r.get(n,t)))return o}var a=function(e,t,n){if(n){if(e===v.EMPTY)return v.EMPTY;if(t===v.EMPTY)return v.EMPTY}else{if(e===v.EMPTY&&t===v.EMPTY)return v.EMPTY;if(e===v.EMPTY){var i=[t.returnState,v.EMPTY_RETURN_STATE],r=[t.parentCtx,null];return new E(r,i)}if(t===v.EMPTY){var o=[e.returnState,v.EMPTY_RETURN_STATE],a=[e.parentCtx,null];return new E(a,o)}}return null}(t,n,i);if(null!==a)return null!==r&&r.set(t,n,a),a;if(t.returnState===n.returnState){var s=e(t.parentCtx,n.parentCtx,i,r);if(s===t.parentCtx)return t;if(s===n.parentCtx)return n;var l=b.create(s,t.returnState);return null!==r&&r.set(t,n,l),l}var u=null;if((t===n||null!==t.parentCtx&&t.parentCtx===n.parentCtx)&&(u=t.parentCtx),null!==u){var c=[t.returnState,n.returnState];t.returnState>n.returnState&&(c[0]=n.returnState,c[1]=t.returnState);var f=new E([u,u],c);return null!==r&&r.set(t,n,f),f}var d=[t.returnState,n.returnState],m=[t.parentCtx,n.parentCtx];t.returnState>n.returnState&&(d[0]=n.returnState,d[1]=t.returnState,m=[n.parentCtx,t.parentCtx]);var p=new E(m,d);return null!==r&&r.set(t,n,p),p}(t,n,i,r);if(i){if(t instanceof x)return t;if(n instanceof x)return n}return t instanceof b&&(t=new E([t.getParent()],[t.returnState])),n instanceof b&&(n=new E([n.getParent()],[n.returnState])),function(t,n,i,r){if(null!==r){var o=r.get(t,n);if(null!==o)return o;if(null!==(o=r.get(n,t)))return o}for(var a=0,s=0,l=0,u=[],c=[];at.length?e.length:t.length;this.tokenNames=[];for(var i=0;i";var t=e.text;return null===t&&(t=e.type===r.EOF?"":"<"+e.type+">"),"'"+(t=t.replace("\n","\\n").replace("\r","\\r").replace("\t","\\t"))+"'"}},{key:"getErrorListenerDispatch",value:function(){return new a(this._listeners)}},{key:"sempred",value:function(e,t,n){return!0}},{key:"precpred",value:function(e,t){return!0}},{key:"state",get:function(){return this._stateNumber},set:function(e){this._stateNumber=e}}])&&function(e,t){for(var n=0;n=0&&r","[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+e+"',<"+this.type+">"+(this.channel>0?",channel="+this.channel:"")+","+this.line+":"+this.column+"]"}},{key:"text",get:function(){if(null!==this._text)return this._text;var e=this.getInputStream();if(null===e)return null;var t=e.size;return this.start"},set:function(e){this._text=e}}]),c}(s);l.EMPTY_SOURCE=[null,null],e.exports={Token:s,CommonToken:l}},7090:function(e){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,n){for(var i=0;i>>16)*a&65535)<<16)&4294967295)<<15|t>>>17))*s+(((t>>>16)*s&65535)<<16)&4294967295)<<13|o>>>19))+((5*(o>>>16)&65535)<<16)&4294967295))+((58964+(e>>>16)&65535)<<16);switch(t=0,i){case 3:t^=(255&n.charCodeAt(l+2))<<16;case 2:t^=(255&n.charCodeAt(l+1))<<8;case 1:o^=t=(65535&(t=(t=(65535&(t^=255&n.charCodeAt(l)))*a+(((t>>>16)*a&65535)<<16)&4294967295)<<15|t>>>17))*s+(((t>>>16)*s&65535)<<16)&4294967295}return o^=n.length,o=2246822507*(65535&(o^=o>>>16))+((2246822507*(o>>>16)&65535)<<16)&4294967295,o=3266489909*(65535&(o^=o>>>13))+((3266489909*(o>>>16)&65535)<<16)&4294967295,(o^=o>>>16)>>>0};var u=function(){function e(t,i){n(this,e),this.data={},this.hashFunction=t||l,this.equalsFunction=i||s}return r(e,[{key:"add",value:function(e){var t="hash_"+this.hashFunction(e);if(t in this.data){for(var n=this.data[t],i=0;i>>17,i*=461845907,this.count=this.count+1;var r=this.hash^i;r=5*(r=r<<13|r>>>19)+3864292196,this.hash=r}}}},{key:"finish",value:function(){var e=this.hash^4*this.count;return e^=e>>>16,e*=2246822507,e^=e>>>13,(e*=3266489909)^e>>>16}}]),e}();e.exports={Hash:p,Set:u,Map:f,BitSet:c,AltDict:d,DoubleDict:m,hashStuff:function(){var e=new p;return e.update.apply(e,arguments),e.finish()},escapeWhitespace:function(e,t){return e=e.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r"),t&&(e=e.replace(/ /g,"·")),e},arrayToString:a,titleCase:function(e){return e.replace(/\w\S*/g,(function(e){return e.charAt(0).toUpperCase()+e.substr(1)}))},equalArrays:function(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e===t)return!0;if(e.length!==t.length)return!1;for(var n=0;n=this.states.length)throw"Invalid state number.";var n=this.states[e],i=this.nextTokens(n);if(!i.contains(a.EPSILON))return i;var r=new o;for(r.addSet(i),r.removeOne(a.EPSILON);null!==t&&t.invokingState>=0&&i.contains(a.EPSILON);){var s=this.states[t.invokingState].transitions[0];i=this.nextTokens(s.followState),r.addSet(i),r.removeOne(a.EPSILON),t=t.parentCtx}return i.contains(a.EPSILON)&&r.addOne(a.EOF),r}}])&&function(e,t){for(var n=0;n0?",up="+this.reachesIntoOuterContext:"")+")"}}]),e}(),y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}(c,e);var t,n,i=(t=c,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,i=l(t);if(n){var r=l(this).constructor;e=Reflect.construct(i,arguments,r)}else e=i.apply(this,arguments);return a(this,e)});function c(e,t){var n;u(this,c),n=i.call(this,e,t);var r=e.lexerActionExecutor||null;return n.lexerActionExecutor=r||(null!==t?t.lexerActionExecutor:null),n.passedThroughNonGreedyDecision=null!==t&&n.checkNonGreedyDecision(t,n.state),n.hashCodeForConfigSet=c.prototype.hashCode,n.equalsForConfigSet=c.prototype.equals,a(n,s(n))}return f(c,[{key:"updateHashCode",value:function(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}},{key:"equals",value:function(e){return this===e||e instanceof c&&this.passedThroughNonGreedyDecision===e.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(e.lexerActionExecutor):!e.lexerActionExecutor)&&r(l(c.prototype),"equals",this).call(this,e)}},{key:"checkNonGreedyDecision",value:function(e,t){return e.passedThroughNonGreedyDecision||t instanceof d&&t.nonGreedy}}]),c}(g);e.exports.ATNConfig=g,e.exports.LexerATNConfig=y},5327:function(e,t,n){function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n0&&(this.dipsIntoOuterContext=!0);var n=this.configLookup.add(e);if(n===e)return this.cachedHashCode=-1,this.configs.push(e),!0;var i=!this.fullCtx,r=d(n.context,e.context,i,t);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,e.reachesIntoOuterContext),e.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=r,!0}},{key:"getStates",value:function(){for(var e=new c.Set,t=0;t=n}},{key:"deserialize",value:function(e){this.reset(e),this.checkVersion(),this.checkUUID();var t=this.readATN();this.readStates(t),this.readRules(t),this.readModes(t);var n=[];return this.readSets(t,n,this.readInt.bind(this)),this.isFeatureSupported(K,this.uuid)&&this.readSets(t,n,this.readInt32.bind(this)),this.readEdges(t,n),this.readDecisions(t),this.readLexerActions(t),this.markPrecedenceDecisions(t),this.verifyATN(t),this.deserializationOptions.generateRuleBypassTransitions&&t.grammarType===a.PARSER&&(this.generateRuleBypassTransitions(t),this.verifyATN(t)),t}},{key:"reset",value:function(e){var t=e.split("").map((function(e){var t=e.charCodeAt(0);return t>1?t-2:t+65534}));t[0]=e.charCodeAt(0),this.data=t,this.pos=0}},{key:"checkVersion",value:function(){var e=this.readInt();if(3!==e)throw"Could not deserialize ATN with version "+e+" (expected 3)."}},{key:"checkUUID",value:function(){var e=this.readUUID();if(Q.indexOf(e)<0)throw J;this.uuid=e}},{key:"readATN",value:function(){var e=this.readInt(),t=this.readInt();return new o(e,t)}},{key:"readStates",value:function(e){for(var t,n,i,r=[],o=[],a=this.readInt(),s=0;s0;)r.addTransition(f.transitions[m-1]),f.transitions=f.transitions.slice(-1);e.ruleToStartState[t].addTransition(new I(r)),o.addTransition(new I(s));var p=new u;e.addState(p),p.addTransition(new A(o,e.ruleToTokenType[t])),r.addTransition(new I(p))}},{key:"stateIsEndStateFor",value:function(e,t){if(e.ruleIndex!==t)return null;if(!(e instanceof C))return null;var n=e.transitions[e.transitions.length-1].target;return n instanceof m&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof h?e:null}},{key:"markPrecedenceDecisions",value:function(e){for(var t=0;t=0):this.checkCondition(n.transitions.length<=1||n instanceof h)}}},{key:"checkCondition",value:function(e,t){if(!e)throw null==t&&(t="IllegalState"),t}},{key:"readInt",value:function(){return this.data[this.pos++]}},{key:"readInt32",value:function(){return this.readInt()|this.readInt()<<16}},{key:"readLong",value:function(){return 4294967295&this.readInt32()|this.readInt32()<<32}},{key:"readUUID",value:function(){for(var e=[],t=7;t>=0;t--){var n=this.readInt();e[2*t+1]=255&n,e[2*t]=n>>8&255}return $[e[0]]+$[e[1]]+$[e[2]]+$[e[3]]+"-"+$[e[4]]+$[e[5]]+"-"+$[e[6]]+$[e[7]]+"-"+$[e[8]]+$[e[9]]+"-"+$[e[10]]+$[e[11]]+$[e[12]]+$[e[13]]+$[e[14]]+$[e[15]]}},{key:"edgeFactory",value:function(e,t,n,i,o,a,s,l){var u=e.states[i];switch(t){case D.EPSILON:return new I(u);case D.RANGE:return new T(u,0!==s?r.EOF:o,a);case D.RULE:return new M(e.states[o],a,s,u);case D.PREDICATE:return new O(u,o,a,0!==s);case D.PRECEDENCE:return new _(u,o);case D.ATOM:return new A(u,0!==s?r.EOF:o);case D.ACTION:return new w(u,o,a,0!==s);case D.SET:return new R(u,l[o]);case D.NOT_SET:return new k(u,l[o]);case D.WILDCARD:return new P(u);default:throw"The specified transition type: "+t+" is not valid."}}},{key:"stateFactory",value:function(e,t){if(null===this.stateFactories){var n=[];n[l.INVALID_TYPE]=null,n[l.BASIC]=function(){return new u},n[l.RULE_START]=function(){return new p},n[l.BLOCK_START]=function(){return new E},n[l.PLUS_BLOCK_START]=function(){return new b},n[l.STAR_BLOCK_START]=function(){return new x},n[l.TOKEN_START]=function(){return new g},n[l.RULE_STOP]=function(){return new h},n[l.BLOCK_END]=function(){return new d},n[l.STAR_LOOP_BACK]=function(){return new v},n[l.STAR_LOOP_ENTRY]=function(){return new C},n[l.PLUS_LOOP_BACK]=function(){return new y},n[l.LOOP_END]=function(){return new m},this.stateFactories=n}if(e>this.stateFactories.length||null===this.stateFactories[e])throw"The specified state type "+e+" is not valid.";var i=this.stateFactories[e]();if(null!==i)return i.ruleIndex=t,i}},{key:"lexerActionFactory",value:function(e,t,n){if(null===this.actionFactories){var i=[];i[U.CHANNEL]=function(e,t){return new q(e)},i[U.CUSTOM]=function(e,t){return new z(e,t)},i[U.MODE]=function(e,t){return new W(e)},i[U.MORE]=function(e,t){return j.INSTANCE},i[U.POP_MODE]=function(e,t){return G.INSTANCE},i[U.PUSH_MODE]=function(e,t){return new V(e)},i[U.SKIP]=function(e,t){return F.INSTANCE},i[U.TYPE]=function(e,t){return new H(e)},this.actionFactories=i}if(e>this.actionFactories.length||null===this.actionFactories[e])throw"The specified lexer action type "+e+" is not valid.";return this.actionFactories[e](t,n)}}])&&function(e,t){for(var n=0;nE.MAX_DFA_EDGE)return null;var n=e.edges[t-E.MIN_DFA_EDGE];return void 0===n&&(n=null),E.debug&&null!==n&&console.log("reuse state "+e.stateNumber+" edge to "+n.stateNumber),n}},{key:"computeTargetState",value:function(e,t,n){var i=new p;return this.getReachableConfigSet(e,t.configs,i,n),0===i.items.length?(i.hasSemanticContext||this.addDFAEdge(t,n,d.ERROR),d.ERROR):this.addDFAEdge(t,n,null,i)}},{key:"failOrAccept",value:function(e,t,n,i){if(null!==this.prevAccept.dfaState){var r=e.dfaState.lexerActionExecutor;return this.accept(t,r,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}if(i===u.EOF&&t.index===this.startIndex)return u.EOF;throw new x(this.recog,t,this.startIndex,n)}},{key:"getReachableConfigSet",value:function(e,t,n,i){for(var r=f.INVALID_ALT_NUMBER,o=0;oE.MAX_DFA_EDGE||(E.debug&&console.log("EDGE "+e+" -> "+n+" upon "+t),null===e.edges&&(e.edges=[]),e.edges[t-E.MIN_DFA_EDGE]=n),n}},{key:"addDFAState",value:function(e){for(var t=new m(null,e),n=null,i=0;i0&&(o=this.getAltThatFinishedDecisionEntryRule(r))!==c.INVALID_ALT_NUMBER?o:c.INVALID_ALT_NUMBER}},{key:"getAltThatFinishedDecisionEntryRule",value:function(e){for(var t=[],n=0;n0||i.state instanceof m&&i.context.hasEmptyPath())&&t.indexOf(i.alt)<0&&t.push(i.alt)}return 0===t.length?c.INVALID_ALT_NUMBER:Math.min.apply(null,t)}},{key:"splitAccordingToSemanticValidity",value:function(e,t){for(var n=new h(e.fullCtx),i=new h(e.fullCtx),r=0;r50))throw"problem";if(e.state instanceof m){if(!e.context.isEmpty()){for(var s=0;s=0&&(d+=1)}this.closureCheckingStopState(f,t,n,c,r,d,a)}}}},{key:"canDropLoopEntryEdgeInLeftRecursiveRule",value:function(e){var t=e.state;if(t.stateType!==d.STAR_LOOP_ENTRY)return!1;if(t.stateType!==d.STAR_LOOP_ENTRY||!t.isPrecedenceDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;for(var n=e.context.length,i=0;i=0?this.parser.ruleNames[e]:""}},{key:"getEpsilonTarget",value:function(e,t,n,i,r,o){switch(t.serializationType){case k.RULE:return this.ruleTransition(e,t);case k.PRECEDENCE:return this.precedenceTransition(e,t,n,i,r);case k.PREDICATE:return this.predTransition(e,t,n,i,r);case k.ACTION:return this.actionTransition(e,t);case k.EPSILON:return new p({state:t.target},e);case k.ATOM:case k.RANGE:case k.SET:return o&&t.matches(g.EOF,0,1)?new p({state:t.target},e):null;default:return null}}},{key:"actionTransition",value:function(e,t){if(this.debug){var n=-1===t.actionIndex?65535:t.actionIndex;console.log("ACTION edge "+t.ruleIndex+":"+n)}return new p({state:t.target},e)}},{key:"precedenceTransition",value:function(e,t,n,i,r){this.debug&&(console.log("PRED (collectPredicates="+n+") "+t.precedence+">=_p, ctx dependent=true"),null!==this.parser&&console.log("context surrounding pred is "+a.arrayToString(this.parser.getRuleInvocationStack())));var o=null;if(n&&i)if(r){var s=this._input.index;this._input.seek(this._startIndex);var l=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(s),l&&(o=new p({state:t.target},e))}else{var u=S.andContext(e.semanticContext,t.getPredicate());o=new p({state:t.target,semanticContext:u},e)}else o=new p({state:t.target},e);return this.debug&&console.log("config from pred transition="+o),o}},{key:"predTransition",value:function(e,t,n,i,r){this.debug&&(console.log("PRED (collectPredicates="+n+") "+t.ruleIndex+":"+t.predIndex+", ctx dependent="+t.isCtxDependent),null!==this.parser&&console.log("context surrounding pred is "+a.arrayToString(this.parser.getRuleInvocationStack())));var o=null;if(n&&(t.isCtxDependent&&i||!t.isCtxDependent))if(r){var s=this._input.index;this._input.seek(this._startIndex);var l=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(s),l&&(o=new p({state:t.target},e))}else{var u=S.andContext(e.semanticContext,t.getPredicate());o=new p({state:t.target,semanticContext:u},e)}else o=new p({state:t.target},e);return this.debug&&console.log("config from pred transition="+o),o}},{key:"ruleTransition",value:function(e,t){this.debug&&console.log("CALL rule "+this.getRuleName(t.target.ruleIndex)+", ctx="+e.context);var n=t.followState,i=_.create(e.context,n.stateNumber);return new p({state:t.target,context:i},e)}},{key:"getConflictingAlts",value:function(e){var t=x.getConflictingAltSubsets(e);return x.getAlts(t)}},{key:"getConflictingAltsOrUniqueAlt",value:function(e){var t=null;return e.uniqueAlt!==c.INVALID_ALT_NUMBER?(t=new l).add(e.uniqueAlt):t=e.conflictingAlts,t}},{key:"getTokenName",value:function(e){if(e===g.EOF)return"EOF";if(null!==this.parser&&null!==this.parser.literalNames){if(!(e>=this.parser.literalNames.length&&e>=this.parser.symbolicNames.length))return(this.parser.literalNames[e]||this.parser.symbolicNames[e])+"<"+e+">";console.log(e+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens())}return""+e}},{key:"getLookaheadName",value:function(e){return this.getTokenName(e.LA(1))}},{key:"dumpDeadEndConfigs",value:function(e){console.log("dead end configs: ");for(var t=e.getDeadEndConfigs(),n=0;n0){var o=i.state.transitions[0];o instanceof AtomTransition?r="Atom "+this.getTokenName(o.label):o instanceof M&&(r=(o instanceof T?"~":"")+"Set "+o.set)}console.error(i.toString(this.parser,!0)+":"+r)}}},{key:"noViableAlt",value:function(e,t,n,i){return new P(this.parser,e,e.get(i),e.LT(1),n,t)}},{key:"getUniqueAlt",value:function(e){for(var t=c.INVALID_ALT_NUMBER,n=0;n "+i+" upon "+this.getTokenName(n)),null===i)return null;if(i=this.addDFAState(e,i),null===t||n<-1||n>this.atn.maxTokenType)return i;if(null===t.edges&&(t.edges=[]),t.edges[n+1]=i,this.debug){var r=null===this.parser?null:this.parser.literalNames,o=null===this.parser?null:this.parser.symbolicNames;console.log("DFA=\n"+e.toString(r,o))}return i}},{key:"addDFAState",value:function(e,t){if(t===b.ERROR)return t;var n=e.states.get(t);return null!==n?n:(t.stateNumber=e.states.length,t.configs.readOnly||(t.configs.optimizeConfigs(this),t.configs.setReadonly(!0)),e.states.add(t),this.debug&&console.log("adding new DFA state: "+t),t)}},{key:"reportAttemptingFullContext",value:function(e,t,n,i,r){if(this.debug||this.retry_debug){var o=new A(i,r+1);console.log("reportAttemptingFullContext decision="+e.decision+":"+n+", input="+this.parser.getTokenStream().getText(o))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,i,r,t,n)}},{key:"reportContextSensitivity",value:function(e,t,n,i,r){if(this.debug||this.retry_debug){var o=new A(i,r+1);console.log("reportContextSensitivity decision="+e.decision+":"+n+", input="+this.parser.getTokenStream().getText(o))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,i,r,t,n)}},{key:"reportAmbiguity",value:function(e,t,n,i,r,o,a){if(this.debug||this.retry_debug){var s=new A(n,i+1);console.log("reportAmbiguity "+o+":"+a+", input="+this.parser.getTokenStream().getText(s))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,n,i,r,o,a)}}])&&function(e,t){for(var n=0;n1)return!0;return!1},allSubsetsEqual:function(e){for(var t=null,n=0;n=prec}?"}}],[{key:"filterPrecedencePredicates",value:function(e){var t=[];return e.values().map((function(e){e instanceof n&&t.push(e)})),t}}]),n}(h),v=function(e){r(n,e);var t=a(n);function n(e,i){var r;l(this,n),r=t.call(this);var o=new d;e instanceof n?e.opnds.map((function(e){o.add(e)})):o.add(e),i instanceof n?i.opnds.map((function(e){o.add(e)})):o.add(i);var a=y.filterPrecedencePredicates(o);if(a.length>0){var s=null;a.map((function(e){(null===s||e.precedence3?e.slice(3):e).join("&&")}}]),n}(h),C=function(e){r(n,e);var t=a(n);function n(e,i){var r;l(this,n),r=t.call(this);var o=new d;e instanceof n?e.opnds.map((function(e){o.add(e)})):o.add(e),i instanceof n?i.opnds.map((function(e){o.add(e)})):o.add(i);var a=y.filterPrecedencePredicates(o);if(a.length>0){var s=a.sort((function(e,t){return e.compareTo(t)})),u=s[s.length-1];o.add(u)}return r.opnds=Array.from(o.values()),r}return c(n,[{key:"equals",value:function(e){return this===e||e instanceof n&&p(this.opnds,e.opnds)}},{key:"updateHashCode",value:function(e){e.update(this.opnds,"OR")}},{key:"evaluate",value:function(e,t){for(var n=0;n3?e.slice(3):e).join("||")}}]),n}(h);e.exports={SemanticContext:h,PrecedencePredicate:y,Predicate:g}},3412:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(){return r="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(arguments.length<3?e:n):r.value}},r.apply(this,arguments)}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&a(e,t)}function a(e,t){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},a(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l(e);if(t){var o=l(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function u(e,t){for(var n=0;n=this.start&&e<=this.stop}},{key:"toString",value:function(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}}]),n}(y),E=function(e){o(n,e);var t=s(n);function n(e){return f(this,n),t.call(this,e)}return c(n)}(y),S=function(e){o(n,e);var t=s(n);function n(e,i,r,o){var a;return f(this,n),(a=t.call(this,e)).serializationType=y.PREDICATE,a.ruleIndex=i,a.predIndex=r,a.isCtxDependent=o,a.isEpsilon=!0,a}return c(n,[{key:"matches",value:function(e,t,n){return!1}},{key:"getPredicate",value:function(){return new h(this.ruleIndex,this.predIndex,this.isCtxDependent)}},{key:"toString",value:function(){return"pred_"+this.ruleIndex+":"+this.predIndex}}]),n}(E),D=function(e){o(n,e);var t=s(n);function n(e,i,r,o){var a;return f(this,n),(a=t.call(this,e)).serializationType=y.ACTION,a.ruleIndex=i,a.actionIndex=void 0===r?-1:r,a.isCtxDependent=void 0!==o&&o,a.isEpsilon=!0,a}return c(n,[{key:"matches",value:function(e,t,n){return!1}},{key:"toString",value:function(){return"action_"+this.ruleIndex+":"+this.actionIndex}}]),n}(y),A=function(e){o(n,e);var t=s(n);function n(e,i){var r;return f(this,n),(r=t.call(this,e)).serializationType=y.SET,null!=i?r.label=i:(r.label=new m,r.label.addOne(d.INVALID_TYPE)),r}return c(n,[{key:"matches",value:function(e,t,n){return this.label.contains(e)}},{key:"toString",value:function(){return this.label.toString()}}]),n}(y),R=function(e){o(n,e);var t=s(n);function n(e,i){var r;return f(this,n),(r=t.call(this,e,i)).serializationType=y.NOT_SET,r}return c(n,[{key:"matches",value:function(e,t,i){return e>=t&&e<=i&&!r(l(n.prototype),"matches",this).call(this,e,t,i)}},{key:"toString",value:function(){return"~"+r(l(n.prototype),"toString",this).call(this)}}]),n}(A),k=function(e){o(n,e);var t=s(n);function n(e){var i;return f(this,n),(i=t.call(this,e)).serializationType=y.WILDCARD,i}return c(n,[{key:"matches",value:function(e,t,n){return e>=t&&e<=n}},{key:"toString",value:function(){return"."}}]),n}(y),M=function(e){o(n,e);var t=s(n);function n(e,i){var r;return f(this,n),(r=t.call(this,e)).serializationType=y.PRECEDENCE,r.precedence=i,r.isEpsilon=!0,r}return c(n,[{key:"matches",value:function(e,t,n){return!1}},{key:"getPredicate",value:function(){return new g(this.precedence)}},{key:"toString",value:function(){return this.precedence+" >= _p"}}]),n}(E);e.exports={Transition:y,AtomTransition:v,SetTransition:A,NotSetTransition:R,RuleTransition:C,ActionTransition:D,EpsilonTransition:b,RangeTransition:x,WildcardTransition:k,PredicateTransition:S,PrecedencePredicateTransition:M,AbstractPredicateTransition:E}},5212:function(e,t,n){t.ATN=n(7835),t.ATNDeserializer=n(2162),t.LexerATNSimulator=n(4549),t.ParserATNSimulator=n(8877),t.PredictionMode=n(2523)},8386:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(7090).Set,o=n(9324).DFAState,a=n(4).StarLoopEntryState,s=n(5327).ATNConfigSet,l=n(4815).DFASerializer,u=n(4815).LexerDFASerializer,c=function(){function e(t,n){if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),void 0===n&&(n=0),this.atnStartState=t,this.decision=n,this._states=new r,this.s0=null,this.precedenceDfa=!1,t instanceof a&&t.isPrecedenceDecision){this.precedenceDfa=!0;var i=new o(null,new s);i.edges=[],i.isAcceptState=!1,i.requiresFullContext=!1,this.s0=i}}var t,n;return t=e,(n=[{key:"getPrecedenceStartState",value:function(e){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return e<0||e>=this.s0.edges.length?null:this.s0.edges[e]||null}},{key:"setPrecedenceStartState",value:function(e,t){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";e<0||(this.s0.edges[e]=t)}},{key:"setPrecedenceDfa",value:function(e){if(this.precedenceDfa!==e){if(this._states=new r,e){var t=new o(null,new s);t.edges=[],t.isAcceptState=!1,t.requiresFullContext=!1,this.s0=t}else this.s0=null;this.precedenceDfa=e}}},{key:"sortedStates",value:function(){return this._states.values().sort((function(e,t){return e.stateNumber-t.stateNumber}))}},{key:"toString",value:function(e,t){return e=e||null,t=t||null,null===this.s0?"":new l(this,e,t).toString()}},{key:"toLexerString",value:function(){return null===this.s0?"":new u(this).toString()}},{key:"states",get:function(){return this._states}}])&&function(e,t){for(var n=0;n")).concat(this.getStateString(a))).concat("\n"))}}return 0===e.length?null:e}},{key:"getEdgeLabel",value:function(e){return 0===e?"EOF":null!==this.literalNames||null!==this.symbolicNames?this.literalNames[e-1]||this.symbolicNames[e-1]:String.fromCharCode(e-1)}},{key:"getStateString",value:function(e){var t=(e.isAcceptState?":":"")+"s"+e.stateNumber+(e.requiresFullContext?"^":"");return e.isAcceptState?null!==e.predicates?t+"=>"+u.arrayToString(e.predicates):t+"=>"+e.prediction.toString():t}}]),e}(),f=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&i(e,t)}(u,e);var t,n,s=(t=u,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,i=r(t);if(n){var a=r(this).constructor;e=Reflect.construct(i,arguments,a)}else e=i.apply(this,arguments);return function(e,t){if(t&&("object"===o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function u(e){return a(this,u),s.call(this,e,null)}return l(u,[{key:"getEdgeLabel",value:function(e){return"'"+String.fromCharCode(e)+"'"}}]),u}(c);e.exports={DFASerializer:c,LexerDFASerializer:f}},9324:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n=r.length)return""+n;var o=r[i]||null;return null===o||0===o.length?""+n:"".concat(n," (").concat(o,")")}},{key:"getConflictingAlts",value:function(e,t){if(null!==e)return e;for(var n=new a,i=0;i=0&&e.consume(),this.lastErrorIndex=e._input.index,null===this.lastErrorStates&&(this.lastErrorStates=[]),this.lastErrorStates.push(e.state);var n=this.getErrorRecoverySet(e);this.consumeUntil(e,n)}},{key:"sync",value:function(e){if(!this.inErrorRecoveryMode(e)){var t=e._interp.atn.states[e.state],n=e.getTokenStream().LA(1),i=e.atn.nextTokens(t);if(i.contains(n))return this.nextTokensContext=null,void(this.nextTokenState=y.INVALID_STATE_NUMBER);if(i.contains(f.EPSILON))null===this.nextTokensContext&&(this.nextTokensContext=e._ctx,this.nextTokensState=e._stateNumber);else switch(t.stateType){case y.BLOCK_START:case y.STAR_BLOCK_START:case y.PLUS_BLOCK_START:case y.STAR_LOOP_ENTRY:if(null!==this.singleTokenDeletion(e))return;throw new p(e);case y.PLUS_LOOP_BACK:case y.STAR_LOOP_BACK:this.reportUnwantedToken(e);var r=new b;r.addSet(e.getExpectedTokens());var o=r.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,o)}}}},{key:"reportNoViableAlternative",value:function(e,t){var n,i=e.getTokenStream();n=null!==i?t.startToken.type===f.EOF?"":i.getText(new C(t.startToken.tokenIndex,t.offendingToken.tokenIndex)):"";var r="no viable alternative at input "+this.escapeWSAndQuote(n);e.notifyErrorListeners(r,t.offendingToken,t)}},{key:"reportInputMismatch",value:function(e,t){var n="mismatched input "+this.getTokenErrorDisplay(t.offendingToken)+" expecting "+t.getExpectedTokens().toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t.offendingToken,t)}},{key:"reportFailedPredicate",value:function(e,t){var n="rule "+e.ruleNames[e._ctx.ruleIndex]+" "+t.message;e.notifyErrorListeners(n,t.offendingToken,t)}},{key:"reportUnwantedToken",value:function(e){if(!this.inErrorRecoveryMode(e)){this.beginErrorCondition(e);var t=e.getCurrentToken(),n="extraneous input "+this.getTokenErrorDisplay(t)+" expecting "+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t,null)}}},{key:"reportMissingToken",value:function(e){if(!this.inErrorRecoveryMode(e)){this.beginErrorCondition(e);var t=e.getCurrentToken(),n="missing "+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames)+" at "+this.getTokenErrorDisplay(t);e.notifyErrorListeners(n,t,null)}}},{key:"recoverInline",value:function(e){var t=this.singleTokenDeletion(e);if(null!==t)return e.consume(),t;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new p(e)}},{key:"singleTokenInsertion",value:function(e){var t=e.getTokenStream().LA(1),n=e._interp.atn,i=n.states[e.state].transitions[0].target;return!!n.nextTokens(i,e._ctx).contains(t)&&(this.reportMissingToken(e),!0)}},{key:"singleTokenDeletion",value:function(e){var t=e.getTokenStream().LA(2);if(this.getExpectedTokens(e).contains(t)){this.reportUnwantedToken(e),e.consume();var n=e.getCurrentToken();return this.reportMatch(e),n}return null}},{key:"getMissingSymbol",value:function(e){var t,n=e.getCurrentToken(),i=this.getExpectedTokens(e).first();t=i===f.EOF?"":"";var r=n,o=e.getTokenStream().LT(-1);return r.type===f.EOF&&null!==o&&(r=o),e.getTokenFactory().create(r.source,i,t,f.DEFAULT_CHANNEL,-1,-1,r.line,r.column)}},{key:"getExpectedTokens",value:function(e){return e.getExpectedTokens()}},{key:"getTokenErrorDisplay",value:function(e){if(null===e)return"";var t=e.text;return null===t&&(t=e.type===f.EOF?"":"<"+e.type+">"),this.escapeWSAndQuote(t)}},{key:"escapeWSAndQuote",value:function(e){return"'"+(e=(e=(e=e.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}},{key:"getErrorRecoverySet",value:function(e){for(var t=e._interp.atn,n=e._ctx,i=new b;null!==n&&n.invokingState>=0;){var r=t.states[n.invokingState].transitions[0],o=t.nextTokens(r.followState);i.addSet(o),n=n.parentCtx}return i.removeOne(f.EPSILON),i}},{key:"consumeUntil",value:function(e,t){for(var n=e.getTokenStream().LA(1);n!==f.EOF&&!t.contains(n);)e.consume(),n=e.getTokenStream().LA(1)}}]),n}(function(){function e(){l(this,e)}return c(e,[{key:"reset",value:function(e){}},{key:"recoverInline",value:function(e){}},{key:"recover",value:function(e,t){}},{key:"sync",value:function(e){}},{key:"inErrorRecoveryMode",value:function(e){}},{key:"reportError",value:function(e){}}]),e}()),E=function(e){r(n,e);var t=a(n);function n(){return l(this,n),t.call(this)}return c(n,[{key:"recover",value:function(e,t){for(var n=e._ctx;null!==n;)n.exception=t,n=n.parentCtx;throw new g(t)}},{key:"recoverInline",value:function(e){this.recover(e,new p(e))}},{key:"sync",value:function(e){}}]),n}(x);e.exports={BailErrorStrategy:E,DefaultErrorStrategy:x}},1162:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){for(var n=0;n=0&&this.startIndex=n)){var r,o=t.charCodeAt(i);return o>=55296&&o<=56319&&n>i+1&&(r=t.charCodeAt(i+1))>=56320&&r<=57343?1024*(o-55296)+r-56320+65536:o}};e?e(String.prototype,"codePointAt",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}()},7700:function(){var e,t,n,i;String.fromCodePoint||(e=function(){var e;try{var t={},n=Object.defineProperty;e=n(t,t,t)&&n}catch(e){}return e}(),t=String.fromCharCode,n=Math.floor,i=function(e){var i,r,o=[],a=-1,s=arguments.length;if(!s)return"";for(var l="";++a1114111||n(u)!==u)throw RangeError("Invalid code point: "+u);u<=65535?o.push(u):(i=55296+((u-=65536)>>10),r=u%1024+56320,o.push(i,r)),(a+1===s||o.length>16384)&&(l+=t.apply(null,o),o.length=0)}return l},e?e(String,"fromCodePoint",{value:i,configurable:!0,writable:!0}):String.fromCodePoint=i)},4524:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=s(e);if(t){var o=s(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}function l(e,t){for(var n=0;n":this.symbol.text}}]),n}(g),x=function(e){r(n,e);var t=a(n);function n(e){return c(this,n),t.call(this,e)}return u(n,[{key:"isErrorNode",value:function(){return!0}},{key:"accept",value:function(e){return e.visitErrorNode(this)}}]),n}(b),E=function(){function e(){c(this,e)}return u(e,[{key:"walk",value:function(e,t){if(t instanceof y||void 0!==t.isErrorNode&&t.isErrorNode())e.visitErrorNode(t);else if(t instanceof g)e.visitTerminal(t);else{this.enterRule(e,t);for(var n=0;n0&&(r=u.toStringTree(e.getChild(0),t),a=a.concat(r));for(var s=1;s1)throw new Error("Expected singleton on right side of contains, got "+JSON.stringify(t));return o(e,t)},r.in=function(e,t){if(0==e.length)return[];if(0==t.length)return!1;if(e.length>1)throw new Error("Expected singleton on right side of in, got "+JSON.stringify(t));return o(t,e)},e.exports=r},4461:function(e,t,n){var i={},r=n(968).distinctFn,o=n(7909),a=n(7567),s=a.deepEqual,l=a.maxCollSizeForDeepEqual;i.union=function(e,t){return r(e.concat(t))},i.combineFn=function(e,t){return e.concat(t)},i.intersect=function(e,t){var n=[],i=e.length,a=t.length;if(i&&a)if(i+a>l){var u={};t.forEach((function(e){var t=o(e);u[t]?a--:u[t]=!0}));for(var c=0;c0;++c){var f=e[c],d=o(f);u[d]&&(n.push(f),u[d]=!1,a--)}}else n=r(e).filter((function(e){return t.some((function(t){return s(e,t)}))}));return n},i.exclude=function(e,t){var n=[],i=e.length,r=t.length;if(!r)return e;if(i)if(i+r>l){var a={};t.forEach((function(e){var t=o(e);a[t]=!0})),n=e.filter((function(e){return!a[o(e)]}))}else n=e.filter((function(e){return!t.some((function(t){return s(e,t)}))}));return n},e.exports=i},5263:function(e){e.exports={reset:function(){this.nowDate=new Date,this.today=null,this.now=null,this.timeOfDay=null,this.localTimezoneOffset=null},today:null,now:null,timeOfDay:null}},3526:function(e,t,n){var i={},r=n(7028),o=n(5263),a=r.FP_Date,s=r.FP_DateTime,l=r.FP_Time;i.now=function(){if(!o.now){var e=o.nowDate,t=s.isoDateTime(e);o.now=new s(t)}return o.now},i.today=function(){if(!o.today){var e=o.nowDate,t=a.isoDate(e);o.today=new a(t)}return o.today},i.timeOfDay=function(){if(!o.timeOfDay){var e=o.nowDate,t=s.isoTime(e);o.timeOfDay=new l(t)}return o.timeOfDay},e.exports=i},7567:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(7028),o=r.FP_Type,a=r.FP_Quantity,s=n(1575),l=n(4497),u=Array.prototype.slice,c=Object.keys,f=function(e){return"[object Arguments]"==Object.prototype.toString.call(e)};function d(e){return"string"==typeof e||e instanceof String}function m(e){return!isNaN(parseFloat(e))&&isFinite(e)}function p(e){return e.toUpperCase().replace(/\s+/," ")}function h(e){return null==e}e.exports={deepEqual:function e(t,n,r){if(r||(r={}),(t=s.valDataConverted(t))===(n=s.valDataConverted(n)))return!0;if(r.fuzzy){if(d(t)&&d(n))return p(t)==p(n);if(m(t)&&m(n))return l.isEquivalent(t,n)}else if("number"==typeof t&&"number"==typeof n)return l.isEqual(t,n);if(t instanceof Date&&n instanceof Date)return t.getTime()===n.getTime();if(!t||!n||"object"!=i(t)&&"object"!=i(n))return t===n;var g=t instanceof o,y=n instanceof o;if(g&&y)return r.fuzzy?t.equivalentTo(n):t.equals(n);if(g||y){var v=!1;return"number"==typeof t&&(t=new a(t,"'1'"),v=!0),"number"==typeof n&&(n=new a(n,"'1'"),v=!0),!!v&&(r.fuzzy?t.equivalentTo(n):t.equals(n))}return function(t,n,r){var o,a;if(h(t)||h(n))return!1;if(t.prototype!==n.prototype)return!1;if(f(t)||f(n))return e(t=f(t)?u.call(t):t,n=f(n)?u.call(n):n,r);try{var s=c(t),l=c(n)}catch(e){return!1}if(s.length!=l.length)return!1;for(s.sort(),l.sort(),o=s.length-1;o>=0;o--)if(s[o]!=l[o])return!1;if(1===s.length)return e(t[a=s[0]],n[a],r);for(o=s.length-1;o>=0;o--)if(!e(t[a=s[o]],n[a],r))return!1;return i(t)===i(n)}(t,n,r)},maxCollSizeForDeepEqual:6}},3776:function(e,t,n){function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var i,r,o,a,s=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(i=o.call(n)).done)&&(s.push(i.value),s.length!==t);l=!0);}catch(e){u=!0,r=e}finally{try{if(!l&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw r}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0}return r>o},c.lte=function(e,t){var n=i(m(e,t),2),r=n[0],o=n[1];if(null==r||null==o)return[];if(r instanceof l){var a=r.compare(o);return null===a?[]:a<=0}return r<=o},c.gte=function(e,t){var n=i(m(e,t),2),r=n[0],o=n[1];if(null==r||null==o)return[];if(r instanceof l){var a=r.compare(o);return null===a?[]:a>=0}return r>=o},e.exports=c},4843:function(e,t,n){var i=n(1575),r=n(968),o=r.whereMacro,a=r.distinctFn,s=n(4230),l=n(7909),u=n(7567),c=u.deepEqual,f=u.maxCollSizeForDeepEqual,d={};function m(e,t){var n=e.length,r=t.length,o=n<=r;if(o)if(n+r>f){var a=t.reduce((function(e,t){return e[l(t)]=!0,e}),{});o=!e.some((function(e){return!a[l(e)]}))}else for(var s=function(n,r){var a=i.valData(e[n]);o=t.some((function(e){return c(a,i.valData(e))}))},u=0,d=e.length;ue.length)&&(t=e.length);for(var n=0,i=new Array(t);n":{fn:C.gt,arity:{2:["Any","Any"]},nullable:!0},"<=":{fn:C.lte,arity:{2:["Any","Any"]},nullable:!0},">=":{fn:C.gte,arity:{2:["Any","Any"]},nullable:!0},containsOp:{fn:b.contains,arity:{2:["Any","Any"]}},inOp:{fn:b.in,arity:{2:["Any","Any"]}},isOp:{fn:R.isFn,arity:{2:["Any","TypeSpecifier"]}},asOp:{fn:R.asFn,arity:{2:["Any","TypeSpecifier"]}},"&":{fn:x.amp,arity:{2:["String","String"]}},"+":{fn:x.plus,arity:{2:["Any","Any"]},nullable:!0},"-":{fn:x.minus,arity:{2:["Any","Any"]},nullable:!0},"*":{fn:x.mul,arity:{2:["Any","Any"]},nullable:!0},"/":{fn:x.div,arity:{2:["Any","Any"]},nullable:!0},mod:{fn:x.mod,arity:{2:["Number","Number"]},nullable:!0},div:{fn:x.intdiv,arity:{2:["Number","Number"]},nullable:!0},or:{fn:A.orOp,arity:{2:[["Boolean"],["Boolean"]]}},and:{fn:A.andOp,arity:{2:[["Boolean"],["Boolean"]]}},xor:{fn:A.xorOp,arity:{2:[["Boolean"],["Boolean"]]}},implies:{fn:A.impliesOp,arity:{2:[["Boolean"],["Boolean"]]}}},m.InvocationExpression=function(e,t,n){return n.children.reduce((function(t,n){return m.doEval(e,t,n)}),t)},m.TermExpression=function(e,t,n){return t&&(t=t.map((function(e){return e instanceof Object&&e.resourceType?_(e,e.resourceType):e}))),m.doEval(e,t,n.children[0])},m.PolarityExpression=function(e,t,n){var i=n.terminalNodeText[0],r=m.doEval(e,t,n.children[0]);if(1!==r.length)throw new Error("Unary "+i+" can only be applied to an individual number or Quantity.");if(r[0]instanceof w)"-"===i&&(r[0]=new w(-r[0].value,r[0].unit));else{if("number"!=typeof r[0]||isNaN(r[0]))throw new Error("Unary "+i+" can only be applied to a number or Quantity.");"-"===i&&(r[0]=-r[0])}return r},m.TypeSpecifier=function(e,t,n){var i,r,o=n.text.split(".").map((function(e){return e.replace(/(^`|`$)/g,"")}));switch(o.length){case 2:var a=s(o,2);i=a[0],r=a[1];break;case 1:r=s(o,1)[0];break;default:throw new Error("Expected TypeSpecifier node, got "+JSON.stringify(n))}var l=new O({namespace:i,name:r});if(!l.isValid())throw new Error('"'+l+'" cannot be resolved to a valid type identifier');return l},m.ExternalConstantTerm=function(e,t,n){var i=n.children[0].children[0],r=m.Identifier(e,t,i)[0],o=e.vars[r];if(!(r in e.vars))throw new Error("Attempting to access an undefined environment variable: "+r);return null==o?[]:o instanceof Array?o:[o]},m.LiteralTerm=function(e,t,n){var i=n.children[0];return i?m.doEval(e,t,i):[n.text]},m.StringLiteral=function(e,t,n){var i=n.text.replace(/(^'|'$)/g,"");return[i=i.replace(/\\(u\d{4}|.)/g,(function(e,t){switch(e){case"\\r":return"\r";case"\\n":return"\n";case"\\t":return"\t";case"\\f":return"\f";default:return t.length>1?String.fromCharCode("0x"+t.slice(1)):t}}))]},m.BooleanLiteral=function(e,t,n){return"true"===n.text?[!0]:[!1]},m.QuantityLiteral=function(e,t,n){var i=n.children[0],r=Number(i.terminalNodeText[0]),o=i.children[0],a=o.terminalNodeText[0];return!a&&o.children&&(a=o.children[0].terminalNodeText[0]),[new w(r,a)]},m.DateTimeLiteral=function(e,t,n){var i=n.text.slice(1);return[new M(i)]},m.TimeLiteral=function(e,t,n){var i=n.text.slice(1);return[new T(i)]},m.NumberLiteral=function(e,t,n){return[Number(n.text)]},m.Identifier=function(e,t,n){return[n.text.replace(/(^`|`$)/g,"")]},m.InvocationTerm=function(e,t,n){return m.doEval(e,t,n.children[0])},m.MemberInvocation=function(e,t,n){var i=m.doEval(e,t,n.children[0])[0],r=e.model;if(t){if(f.isCapitalized(i))return t.filter((function(e){return e instanceof P&&e.path===i}));var o=t.path||t.__path__;return t.reduce((function(e,t){return t=_(t,o),f.pushFn(e,f.makeChildResNodes(t,i,r)),e}),[])}return[]},m.IndexerExpression=function(e,t,n){var i=n.children[0],r=n.children[1],o=m.doEval(e,t,i),a=m.doEval(e,t,r);if(f.isEmpty(a))return[];var s=parseInt(a[0]);return o&&f.isSome(s)&&o.length>s&&s>=0?[o[s]]:[]},m.Functn=function(e,t,n){return n.children.map((function(n){return m.doEval(e,t,n)}))},m.realizeParams=function(e,t,n){return n&&n[0]&&n[0].children?n[0].children.map((function(n){return m.doEval(e,t,n)})):[]},m.FunctionInvocation=function(e,t,n){var i=m.doEval(e,t,n.children[0]),r=i[0];return i.shift(),function(e,t,n,i){var r,o,a,s=null!==(r=null===(o=e.userInvocationTable)||void 0===o?void 0:o[t])&&void 0!==r?r:m.invocationTable[t];if(s){if(s.arity){var l=i?i.length:0,u=s.arity[l];if(u){for(var c=[],d=0;d0)if(e.length>c)for(var n={},i=0,r=e.length;i1)throw new Error("Could not convert to quantity: input collection contains multiple items");if(1===e.length){if(t){var i=a._calendarDuration2Seconds[this.unit],o=a._calendarDuration2Seconds[t];if(!i!=!o&&(i>1||o>1))return null;a.mapTimeUnitsToUCUMCode[t]||(t="'".concat(t,"'"))}var s,l=r.valDataConverted(e[0]);if("number"==typeof l)n=new a(l,"'1'");else if(l instanceof a)n=l;else if("boolean"==typeof l)n=new a(l?1:0,"'1'");else if("string"==typeof l&&(s=c.exec(l))){var u=s[1],f=s[5],d=s[6];d&&!a.mapTimeUnitsToUCUMCode[d]||(n=new a(Number(u),f||d||"'1'"))}n&&t&&n.unit!==t&&(n=a.convUnitTo(n.unit,n.value,t))}return n||[]};var f=/^[+-]?\d+(\.\d+)?$/;function d(e){var t=e.slice(3);l["to"+t]=function(n){var i=[];if(n.length>1)throw Error("to "+t+" called for a collection of length "+n.length);if(1===n.length){var a=r.valData(n[0]);if("string"==typeof a){var s=o[e].checkString(a);s&&(i=s)}}return i}}l.toDecimal=function(e){if(1!==e.length)return[];var t=r.valData(e[0]);return!1===t?0:!0===t?1:"number"==typeof t?t:"string"==typeof t&&f.test(t)?parseFloat(t):[]},l.toString=function(e){if(1!==e.length)return[];var t=r.valDataConverted(e[0]);return null==t?[]:t.toString()},d("FP_Date"),d("FP_DateTime"),d("FP_Time");var m=["true","t","yes","y","1","1.0"].reduce((function(e,t){return e[t]=!0,e}),{}),p=["false","f","no","n","0","0.0"].reduce((function(e,t){return e[t]=!0,e}),{});l.toBoolean=function(e){if(1!==e.length)return[];var t=r.valData(e[0]);switch(i(t)){case"boolean":return t;case"number":if(1===t)return!0;if(0===t)return!1;break;case"string":var n=t.toLowerCase();if(m[n])return!0;if(p[n])return!1}return[]},l.createConvertsToFn=function(e,t){return"string"==typeof t?function(n){return 1!==n.length?[]:i(e(n))===t}:function(n){return 1!==n.length?[]:e(n)instanceof t}};var h={Integer:function(e){if(Number.isInteger(e))return e},Boolean:function(e){return!0!==e&&!1!==e||e},Number:function(e){if("number"==typeof e)return e},String:function(e){if("string"==typeof e)return e}};l.singleton=function(e,t){if(e.length>1)throw new Error("Unexpected collection"+JSON.stringify(e)+"; expected singleton of type "+t);if(0===e.length)return[];var n=r.valData(e[0]);if(null==n)return[];var i=h[t];if(i){var o=i(n);if(void 0!==o)return o;throw new Error("Expected ".concat(t.toLowerCase(),", but got: ").concat(JSON.stringify(e)))}throw new Error("Not supported type "+t)};var g=new Set;["instant","time","date","dateTime","base64Binary","decimal","integer64","boolean","string","code","markdown","id","integer","unsignedInt","positiveInt","uri","oid","uuid","canonical","url","Integer","Decimal","String","Date","DateTime","Time"].forEach((function(e){return g.add(e)})),l.hasValueFn=function(e){return 1===e.length&&null!=r.valData(e[0])&&g.has(s.fromValue(e[0]).name)},e.exports=l},6183:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var r=n(1575),o={children:function(e){var t=this.model;return e.reduce((function(e,n){var o=r.valData(n);if(null==o)return e;if("object"===i(o)){for(var a=0,s=Object.keys(o);a0;)r.pushFn(n,t),t=o.children.call(this,t);return n}};e.exports=o},4497:function(e){var t={};function n(e){var t=/(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/.exec(""+ +e);if(!t)return 0;var n=t[2],i=t[3];return Math.max(0,("0"===n?0:(n||"").length)-(i||0))}function i(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}var r=t.roundToMaxPrecision=function(e){return 1e-8*Math.round(e/1e-8)};t.isEquivalent=function(e,t){if(Number.isInteger(e)&&Number.isInteger(t))return e===t;var r=Math.min(n(e),n(t));return 0===r?Math.round(e)===Math.round(t):i(e,r)===i(t,r)},t.isEqual=function(e,t){return r(e)===r(t)},e.exports=t},2589:function(e,t,n){t.atn=n(5212),t.codepointat=n(2054),t.dfa=n(7853),t.fromcodepoint=n(7700),t.tree=n(703),t.error=n(1770),t.Token=n(9616).Token,t.CommonToken=n(9616).CommonToken,t.InputStream=n(3960),t.CommonTokenStream=n(8617),t.Lexer=n(4149),t.Parser=n(4680);var i=n(9699);t.PredictionContextCache=i.PredictionContextCache,t.ParserRuleContext=n(788),t.Interval=n(5062).Interval,t.IntervalSet=n(5062).IntervalSet,t.Utils=n(7090),t.LL1Analyzer=n(2894).LL1Analyzer},4081:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){for(var n=0;n\t>","?\t?@\t@A\tAB\tBC\tCD\tD","","\b","\b\t\t\t\t\n\n\n\n","\v\v\f\f\r\r\r","","","","","","","","",""," ",' !!!!!"""','"""##$$$$$',"$%%%%%%%&","&&&&&&''((","((())))))*","****++++,,",",,,-------",".......///","/////////0","0000011111","1122222233","3334444445","5555555666","6666677777","7777777788","8888888888","88ƃ\n88ƅ\n88Ƈ\n888Ɗ","\n89999:::::","::::::ƚ\n:\r::ƛ",":ƞ\n::Ơ\n::Ƣ\n::::",":::::ƫ\n:;;Ʈ\n;",";;Ʊ\n;\f;;ƴ\v;<<<","<ƹ\n<\f<<Ƽ\v<<<==","==ǃ\n=\f==dž\v===>",">Nj\n>\r>>nj>>>Ǒ\n>\r>>ǒ",">Ǖ\n>??ǘ\n?\r??Ǚ?","?@@@@@Ǣ\n@\f@@ǥ\v","@@@@@@AAAA","Aǰ\nA\fAAdz\vAAABB","BBǺ\nBCCCCCCD","DǣE\t\v","\r\b\t\n\v\f\r","!#%')+","-/13579;= ?!A","\"C#E$G%I&K'M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5i6k7m8o9q:su;w}","?@Aƒ…‡\f","2;--//C\\aac|2;C\\aac|",'^^bb))\v\f""',"\f\f\n))11^^bbhhppttvv2;CHchȔ","","\t","\v\r","","","","","!","#%","')+","-/","13","57","9;","=?A","CE","GI","KM","OQ","SUW","Y[","]_","ac","eg","ikm","oq","uw","y{","}","‰","‹","\t\v‘","\r“•","—›","Ÿ¡","£¦","¨ª","!­#°%³","'µ)·","+º-½","/À1É","3Í5Ð","7Ô9Ü;Þ","=à?â","AäCé","EïGñ","I÷Kþ","MąOćQČ","SĒUė","WěYĠ","[ħ]Į","_ĺaŀ","cŇeōgŒ","iŘkŠ","mŨoŵ","qƋsƏ","uƭwƵ","yƿ{NJ}Ǘ","ǝǫ","ƒǶ…ǻ","‡ȁ‰Š","0Š‹Œ","]ŒŽ","_Ž\b","-\n‘’/","’\f“”,","”•–1","–—˜f","˜™k™šxš","›œoœ","qžfž","Ÿ ( ","¡¢~¢","£¤>¤¥","?¥¦§",">§¨©","@©ª«","@«¬?¬ ","­®k®¯u",'¯"°±c',"±²u²$³","´?´&µ¶","€¶(·¸","#¸¹?¹*","º»#»¼€","¼,½¾k","¾¿p¿.","ÀÁeÁÂqÂ","ÃpÃÄvÄÅ","cÅÆkÆÇ","pÇÈuÈ0","ÉÊcÊËp","ËÌfÌ2Í","ÎqÎÏtÏ4","ÐÑzÑÒ","qÒÓtÓ6","ÔÕkÕÖo","Ö×r×ØnØ","ÙkÙÚgÚÛ","uÛ8ÜÝ","*Ý:Þß+","ß<àá}","á>âã","ã@äåvå","ætæçwçè","gèBéê","hêëcëìn","ìíuíîg","îDïð'ð","Fñò&òó","vóôjôõ","kõöuöH","÷ø&øùk","ùúpúûfû","ügüýzýJ","þÿ&ÿĀ","vĀāqāĂv","ĂăcăĄn","ĄLąĆ.Ć","NćĈ{Ĉĉ","gĉĊcĊċ","tċPČčo","čĎqĎďp","ďĐvĐđjđ","RĒēyēĔ","gĔĕgĕĖ","mĖTėĘf","ĘęcęĚ{","ĚVěĜjĜ","ĝqĝĞwĞğ","tğXĠġ","oġĢkĢģp","ģĤwĤĥv","ĥĦgĦZħ","ĨuĨĩgĩĪ","eĪīqīĬ","pĬĭfĭ\\","Įįoįİk","İınıIJnIJ","ijkijĴuĴĵ","gĵĶeĶķ","qķĸpĸĹf","Ĺ^ĺĻ{","ĻļgļĽcĽ","ľtľĿuĿ`","ŀŁoŁł","qłŃpŃńv","ńŅjŅņu","ņbŇňyň","ʼngʼnŊgŊŋ","mŋŌuŌd","ōŎfŎŏc","ŏŐ{Őőu","őfŒœjœ","ŔqŔŕwŕŖ","tŖŗuŗh","ŘřořŚk","ŚśpśŜw","ŜŝvŝŞgŞ","şuşjŠš","ušŢgŢţ","eţŤqŤťp","ťŦfŦŧu","ŧlŨũoũ","ŪkŪūnūŬ","nŬŭkŭŮ","uŮůgůŰe","ŰűqűŲp","ŲųfųŴuŴ","nŵŶBŶŷ","\tŷŸ\tŸŹ\t","ŹƆ\tźŻ/","Żż\tżƄ\t","Žž/žſ\tſ","Ƃ\tƀƁVƁƃ","s:ƂƀƂƃ","ƃƅƄŽ","ƄƅƅƇ","ƆźƆƇ","ƇƉƈƊ","\\ƉƈƉƊ","ƊpƋƌ","BƌƍVƍƎs:","ƎrƏƐ\tƐ","ơ\tƑƒ<ƒƓ","\tƓƟ\tƔƕ","<ƕƖ\tƖƝ\t","Ɨƙ0Ƙƚ\t","ƙƘƚƛ","ƛƙƛƜ","ƜƞƝƗ","ƝƞƞƠ","ƟƔƟƠ","ƠƢơƑ","ơƢƢƪ","ƣƫ\\Ƥƥ\tƥ","Ʀ\tƦƧ\tƧƨ","<ƨƩ\tƩƫ\t","ƪƣƪƤ","ƪƫƫt","ƬƮ\tƭƬ","ƮƲƯƱ\t","ưƯƱƴ","ƲưƲƳ","ƳvƴƲ","Ƶƺbƶƹƒ","BƷƹ\nƸƶ","ƸƷƹƼ","ƺƸƺƻ","ƻƽƼƺ","ƽƾbƾx","ƿDŽ)ǀǃƒBǁ","ǃ\nǂǀǂ","ǁǃdžDŽ","ǂDŽDžDž","LJdžDŽLJ","Lj)LjzljNj","\tNJljNjnj","njNJnjǍ","Ǎǔǎǐ","0ǏǑ\tǐǏ","Ǒǒǒǐ","ǒǓǓǕ","ǔǎǔǕ","Ǖ|ǖǘ\t\b","ǗǖǘǙ","ǙǗǙǚ","ǚǛǛǜ\b?","ǜ~ǝǞ1Ǟ","ǟ,ǟǣǠ","Ǣ\vǡǠǢ","ǥǣǤǣ","ǡǤǦǥ","ǣǦǧ,ǧ","Ǩ1Ǩǩǩ","Ǫ\b@Ǫ€ǫǬ","1Ǭǭ1ǭDZ","Ǯǰ\n\tǯǮ","ǰdzDZǯ","DZDzDzǴ","dzDZǴǵ\bA","ǵ‚Ƕǹ^","ǷǺ\t\nǸǺ…Cǹ","ǷǹǸǺ","„ǻǼwǼ","ǽ‡DǽǾ‡DǾǿ","‡DǿȀ‡DȀ†","ȁȂ\t\vȂˆ","ƂƄƆƉƛƝƟ","ơƪƭưƲƸƺǂDŽnjǒǔ","ǙǣDZǹ"].join(""),d=(new c.atn.ATNDeserializer).deserialize(f),m=d.decisionToState.map((function(e,t){return new c.dfa.DFA(e,t)})),p=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}(p,e);var t,n,l,u,f=(l=p,u=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=s(l);if(u){var n=s(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return a(e)}(this,e)});function p(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),(t=f.call(this,e))._interp=new c.atn.LexerATNSimulator(a(t),d,m,new c.PredictionContextCache),t}return t=p,(n=[{key:"atn",get:function(){return d}}])&&r(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),p}(c.Lexer);l(p,"grammarFileName","FHIRPath.g4"),l(p,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN"]),l(p,"modeNames",["DEFAULT_MODE"]),l(p,"literalNames",[null,"'.'","'['","']'","'+'","'-'","'*'","'/'","'div'","'mod'","'&'","'|'","'<='","'<'","'>'","'>='","'is'","'as'","'='","'~'","'!='","'!~'","'in'","'contains'","'and'","'or'","'xor'","'implies'","'('","')'","'{'","'}'","'true'","'false'","'%'","'$this'","'$index'","'$total'","','","'year'","'month'","'week'","'day'","'hour'","'minute'","'second'","'millisecond'","'years'","'months'","'weeks'","'days'","'hours'","'minutes'","'seconds'","'milliseconds'"]),l(p,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"DATETIME","TIME","IDENTIFIER","DELIMITEDIDENTIFIER","STRING","NUMBER","WS","COMMENT","LINE_COMMENT"]),l(p,"ruleNames",["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","T__34","T__35","T__36","T__37","T__38","T__39","T__40","T__41","T__42","T__43","T__44","T__45","T__46","T__47","T__48","T__49","T__50","T__51","T__52","T__53","DATETIME","TIME","TIMEFORMAT","IDENTIFIER","DELIMITEDIDENTIFIER","STRING","NUMBER","WS","COMMENT","LINE_COMMENT","ESC","UNICODE","HEX"]),p.EOF=c.Token.EOF,p.T__0=1,p.T__1=2,p.T__2=3,p.T__3=4,p.T__4=5,p.T__5=6,p.T__6=7,p.T__7=8,p.T__8=9,p.T__9=10,p.T__10=11,p.T__11=12,p.T__12=13,p.T__13=14,p.T__14=15,p.T__15=16,p.T__16=17,p.T__17=18,p.T__18=19,p.T__19=20,p.T__20=21,p.T__21=22,p.T__22=23,p.T__23=24,p.T__24=25,p.T__25=26,p.T__26=27,p.T__27=28,p.T__28=29,p.T__29=30,p.T__30=31,p.T__31=32,p.T__32=33,p.T__33=34,p.T__34=35,p.T__35=36,p.T__36=37,p.T__37=38,p.T__38=39,p.T__39=40,p.T__40=41,p.T__41=42,p.T__42=43,p.T__43=44,p.T__44=45,p.T__45=46,p.T__46=47,p.T__47=48,p.T__48=49,p.T__49=50,p.T__50=51,p.T__51=52,p.T__52=53,p.T__53=54,p.DATETIME=55,p.TIME=56,p.IDENTIFIER=57,p.DELIMITEDIDENTIFIER=58,p.STRING=59,p.NUMBER=60,p.WS=61,p.COMMENT=62,p.LINE_COMMENT=63,e.exports=p},4454:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}var a=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)}(u,e);var t,n,a,s,l=(a=u,s=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=o(a);if(s){var n=o(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function u(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),l.apply(this,arguments)}return t=u,(n=[{key:"enterEntireExpression",value:function(e){}},{key:"exitEntireExpression",value:function(e){}},{key:"enterIndexerExpression",value:function(e){}},{key:"exitIndexerExpression",value:function(e){}},{key:"enterPolarityExpression",value:function(e){}},{key:"exitPolarityExpression",value:function(e){}},{key:"enterAdditiveExpression",value:function(e){}},{key:"exitAdditiveExpression",value:function(e){}},{key:"enterMultiplicativeExpression",value:function(e){}},{key:"exitMultiplicativeExpression",value:function(e){}},{key:"enterUnionExpression",value:function(e){}},{key:"exitUnionExpression",value:function(e){}},{key:"enterOrExpression",value:function(e){}},{key:"exitOrExpression",value:function(e){}},{key:"enterAndExpression",value:function(e){}},{key:"exitAndExpression",value:function(e){}},{key:"enterMembershipExpression",value:function(e){}},{key:"exitMembershipExpression",value:function(e){}},{key:"enterInequalityExpression",value:function(e){}},{key:"exitInequalityExpression",value:function(e){}},{key:"enterInvocationExpression",value:function(e){}},{key:"exitInvocationExpression",value:function(e){}},{key:"enterEqualityExpression",value:function(e){}},{key:"exitEqualityExpression",value:function(e){}},{key:"enterImpliesExpression",value:function(e){}},{key:"exitImpliesExpression",value:function(e){}},{key:"enterTermExpression",value:function(e){}},{key:"exitTermExpression",value:function(e){}},{key:"enterTypeExpression",value:function(e){}},{key:"exitTypeExpression",value:function(e){}},{key:"enterInvocationTerm",value:function(e){}},{key:"exitInvocationTerm",value:function(e){}},{key:"enterLiteralTerm",value:function(e){}},{key:"exitLiteralTerm",value:function(e){}},{key:"enterExternalConstantTerm",value:function(e){}},{key:"exitExternalConstantTerm",value:function(e){}},{key:"enterParenthesizedTerm",value:function(e){}},{key:"exitParenthesizedTerm",value:function(e){}},{key:"enterNullLiteral",value:function(e){}},{key:"exitNullLiteral",value:function(e){}},{key:"enterBooleanLiteral",value:function(e){}},{key:"exitBooleanLiteral",value:function(e){}},{key:"enterStringLiteral",value:function(e){}},{key:"exitStringLiteral",value:function(e){}},{key:"enterNumberLiteral",value:function(e){}},{key:"exitNumberLiteral",value:function(e){}},{key:"enterDateTimeLiteral",value:function(e){}},{key:"exitDateTimeLiteral",value:function(e){}},{key:"enterTimeLiteral",value:function(e){}},{key:"exitTimeLiteral",value:function(e){}},{key:"enterQuantityLiteral",value:function(e){}},{key:"exitQuantityLiteral",value:function(e){}},{key:"enterExternalConstant",value:function(e){}},{key:"exitExternalConstant",value:function(e){}},{key:"enterMemberInvocation",value:function(e){}},{key:"exitMemberInvocation",value:function(e){}},{key:"enterFunctionInvocation",value:function(e){}},{key:"exitFunctionInvocation",value:function(e){}},{key:"enterThisInvocation",value:function(e){}},{key:"exitThisInvocation",value:function(e){}},{key:"enterIndexInvocation",value:function(e){}},{key:"exitIndexInvocation",value:function(e){}},{key:"enterTotalInvocation",value:function(e){}},{key:"exitTotalInvocation",value:function(e){}},{key:"enterFunctn",value:function(e){}},{key:"exitFunctn",value:function(e){}},{key:"enterParamList",value:function(e){}},{key:"exitParamList",value:function(e){}},{key:"enterQuantity",value:function(e){}},{key:"exitQuantity",value:function(e){}},{key:"enterUnit",value:function(e){}},{key:"exitUnit",value:function(e){}},{key:"enterDateTimePrecision",value:function(e){}},{key:"exitDateTimePrecision",value:function(e){}},{key:"enterPluralDateTimePrecision",value:function(e){}},{key:"exitPluralDateTimePrecision",value:function(e){}},{key:"enterTypeSpecifier",value:function(e){}},{key:"exitTypeSpecifier",value:function(e){}},{key:"enterQualifiedIdentifier",value:function(e){}},{key:"exitQualifiedIdentifier",value:function(e){}},{key:"enterIdentifier",value:function(e){}},{key:"exitIdentifier",value:function(e){}}])&&function(e,t){for(var n=0;n?\f","?@\t\b@PAB\f","BCCPDE\f","EFFP\fGH\f","HIIJJK","KPLM\f\bMN\t\t","NPO)O,","O/O2O5","O8O;","O>OAOD","OGOLPS","QOQRR","SQT\\\f","U\\\bV\\\nWX","XYYZZ\\","[T[U","[V[W\\","]^ ^f!_f\t\n","`f=af>bf9cf",":df\ne]e_","e`ea","ebeced","f\tgj$hk","ik=jhji","k\vlr","mr\bnr%or&","pr'qlqm","qnqoqp","r\rsttv","uw\tvu","vwwxxy","yz","{|(|~}{","~}","€€","‚„>","ƒ…\v„ƒ","„……","†Š\f‡Š\rˆ","Š=‰†‰","‡‰ˆŠ","‹Œ\t\vŒ","Ž\t\fŽ","","‘–’“","“•”’","•˜–”","–——","˜–™š","\t\rš'OQ[ejqv","„‰–"].join(""),v=(new h.atn.ATNDeserializer).deserialize(y),C=v.decisionToState.map((function(e,t){return new h.dfa.DFA(e,t)})),b=new h.PredictionContextCache,x=function(e){l(n,e);var t=c(n);function n(e){var i;return o(this,n),(i=t.call(this,e))._interp=new h.atn.ParserATNSimulator(f(i),v,C,b),i.ruleNames=n.ruleNames,i.literalNames=n.literalNames,i.symbolicNames=n.symbolicNames,i}return s(n,[{key:"atn",get:function(){return v}},{key:"sempred",value:function(e,t,n){if(1===t)return this.expression_sempred(e,n);throw"No predicate with index:"+t}},{key:"expression_sempred",value:function(e,t){switch(t){case 0:return this.precpred(this._ctx,10);case 1:return this.precpred(this._ctx,9);case 2:return this.precpred(this._ctx,8);case 3:return this.precpred(this._ctx,7);case 4:return this.precpred(this._ctx,5);case 5:return this.precpred(this._ctx,4);case 6:return this.precpred(this._ctx,3);case 7:return this.precpred(this._ctx,2);case 8:return this.precpred(this._ctx,1);case 9:return this.precpred(this._ctx,13);case 10:return this.precpred(this._ctx,12);case 11:return this.precpred(this._ctx,6);default:throw"No predicate with index:"+t}}},{key:"entireExpression",value:function(){var e=new E(this,this._ctx,this.state);this.enterRule(e,0,n.RULE_entireExpression);try{this.enterOuterAlt(e,1),this.state=30,this.expression(0),this.state=31,this.match(n.EOF)}catch(t){if(!(t instanceof h.error.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}},{key:"expression",value:function(e){void 0===e&&(e=0);var t=this._ctx,i=this.state,r=new S(this,this._ctx,i);this.enterRecursionRule(r,2,n.RULE_expression,e);var o=0;try{switch(this.enterOuterAlt(r,1),this.state=37,this._errHandler.sync(this),this._input.LA(1)){case n.T__15:case n.T__16:case n.T__21:case n.T__22:case n.T__27:case n.T__29:case n.T__31:case n.T__32:case n.T__33:case n.T__34:case n.T__35:case n.T__36:case n.DATETIME:case n.TIME:case n.IDENTIFIER:case n.DELIMITEDIDENTIFIER:case n.STRING:case n.NUMBER:r=new N(this,r),this._ctx=r,this.state=34,this.term();break;case n.T__3:case n.T__4:r=new A(this,r),this._ctx=r,this.state=35,(o=this._input.LA(1))!==n.T__3&&o!==n.T__4?this._errHandler.recoverInline(this):(this._errHandler.reportMatch(this),this.consume()),this.state=36,this.expression(11);break;default:throw new h.error.NoViableAltException(this)}this._ctx.stop=this._input.LT(-1),this.state=79,this._errHandler.sync(this);for(var a=this._interp.adaptivePredict(this._input,2,this._ctx);2!=a&&a!=h.atn.ATN.INVALID_ALT_NUMBER;){if(1===a)switch(null!==this._parseListeners&&this.triggerExitRuleEvent(),this.state=77,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,1,this._ctx)){case 1:if(r=new k(this,new S(this,t,i)),this.pushNewRecursionContext(r,2,n.RULE_expression),this.state=39,!this.precpred(this._ctx,10))throw new h.error.FailedPredicateException(this,"this.precpred(this._ctx, 10)");this.state=40,0!=(-32&(o=this._input.LA(1)))||0==(1<'","'>='","'is'","'as'","'='","'~'","'!='","'!~'","'in'","'contains'","'and'","'or'","'xor'","'implies'","'('","')'","'{'","'}'","'true'","'false'","'%'","'$this'","'$index'","'$total'","','","'year'","'month'","'week'","'day'","'hour'","'minute'","'second'","'millisecond'","'years'","'months'","'weeks'","'days'","'hours'","'minutes'","'seconds'","'milliseconds'"]),m(x,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"DATETIME","TIME","IDENTIFIER","DELIMITEDIDENTIFIER","STRING","NUMBER","WS","COMMENT","LINE_COMMENT"]),m(x,"ruleNames",["entireExpression","expression","term","literal","externalConstant","invocation","functn","paramList","quantity","unit","dateTimePrecision","pluralDateTimePrecision","typeSpecifier","qualifiedIdentifier","identifier"]),x.EOF=h.Token.EOF,x.T__0=1,x.T__1=2,x.T__2=3,x.T__3=4,x.T__4=5,x.T__5=6,x.T__6=7,x.T__7=8,x.T__8=9,x.T__9=10,x.T__10=11,x.T__11=12,x.T__12=13,x.T__13=14,x.T__14=15,x.T__15=16,x.T__16=17,x.T__17=18,x.T__18=19,x.T__19=20,x.T__20=21,x.T__21=22,x.T__22=23,x.T__23=24,x.T__24=25,x.T__25=26,x.T__26=27,x.T__27=28,x.T__28=29,x.T__29=30,x.T__30=31,x.T__31=32,x.T__32=33,x.T__33=34,x.T__34=35,x.T__35=36,x.T__36=37,x.T__37=38,x.T__38=39,x.T__39=40,x.T__40=41,x.T__41=42,x.T__42=43,x.T__43=44,x.T__44=45,x.T__45=46,x.T__46=47,x.T__47=48,x.T__48=49,x.T__49=50,x.T__50=51,x.T__51=52,x.T__52=53,x.T__53=54,x.DATETIME=55,x.TIME=56,x.IDENTIFIER=57,x.DELIMITEDIDENTIFIER=58,x.STRING=59,x.NUMBER=60,x.WS=61,x.COMMENT=62,x.LINE_COMMENT=63,x.RULE_entireExpression=0,x.RULE_expression=1,x.RULE_term=2,x.RULE_literal=3,x.RULE_externalConstant=4,x.RULE_invocation=5,x.RULE_functn=6,x.RULE_paramList=7,x.RULE_quantity=8,x.RULE_unit=9,x.RULE_dateTimePrecision=10,x.RULE_pluralDateTimePrecision=11,x.RULE_typeSpecifier=12,x.RULE_qualifiedIdentifier=13,x.RULE_identifier=14;var E=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_entireExpression,a}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(S,0)}},{key:"EOF",value:function(){return this.getToken(x.EOF,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterEntireExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitEntireExpression(this)}}]),n}(h.ParserRuleContext),S=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_expression,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),D=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterIndexerExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitIndexerExpression(this)}}]),n}(S);x.IndexerExpressionContext=D;var A=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(S,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterPolarityExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitPolarityExpression(this)}}]),n}(S);x.PolarityExpressionContext=A;var R=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterAdditiveExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitAdditiveExpression(this)}}]),n}(S);x.AdditiveExpressionContext=R;var k=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterMultiplicativeExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitMultiplicativeExpression(this)}}]),n}(S);x.MultiplicativeExpressionContext=k;var M=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterUnionExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitUnionExpression(this)}}]),n}(S);x.UnionExpressionContext=M;var T=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterOrExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitOrExpression(this)}}]),n}(S);x.OrExpressionContext=T;var w=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterAndExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitAndExpression(this)}}]),n}(S);x.AndExpressionContext=w;var I=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterMembershipExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitMembershipExpression(this)}}]),n}(S);x.MembershipExpressionContext=I;var P=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterInequalityExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitInequalityExpression(this)}}]),n}(S);x.InequalityExpressionContext=P;var O=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(S,0)}},{key:"invocation",value:function(){return this.getTypedRuleContext($,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterInvocationExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitInvocationExpression(this)}}]),n}(S);x.InvocationExpressionContext=O;var _=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterEqualityExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitEqualityExpression(this)}}]),n}(S);x.EqualityExpressionContext=_;var L=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),m(f(s=t.call(this,e)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),r((a=f(s),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterImpliesExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitImpliesExpression(this)}}]),n}(S);x.ImpliesExpressionContext=L;var N=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"term",value:function(){return this.getTypedRuleContext(U,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTermExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTermExpression(this)}}]),n}(S);x.TermExpressionContext=N;var B=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(S,0)}},{key:"typeSpecifier",value:function(){return this.getTypedRuleContext(ce,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTypeExpression(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTypeExpression(this)}}]),n}(S);x.TypeExpressionContext=B;var U=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_term,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),F=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"externalConstant",value:function(){return this.getTypedRuleContext(Y,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterExternalConstantTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitExternalConstantTerm(this)}}]),n}(U);x.ExternalConstantTermContext=F;var q=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"literal",value:function(){return this.getTypedRuleContext(H,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterLiteralTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitLiteralTerm(this)}}]),n}(U);x.LiteralTermContext=q;var z=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"expression",value:function(){return this.getTypedRuleContext(S,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterParenthesizedTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitParenthesizedTerm(this)}}]),n}(U);x.ParenthesizedTermContext=z;var j=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"invocation",value:function(){return this.getTypedRuleContext($,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterInvocationTerm(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitInvocationTerm(this)}}]),n}(U);x.InvocationTermContext=j;var H=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_literal,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),V=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"TIME",value:function(){return this.getToken(x.TIME,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTimeLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTimeLiteral(this)}}]),n}(H);x.TimeLiteralContext=V;var G=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterNullLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitNullLiteral(this)}}]),n}(H);x.NullLiteralContext=G;var W=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"DATETIME",value:function(){return this.getToken(x.DATETIME,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterDateTimeLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitDateTimeLiteral(this)}}]),n}(H);x.DateTimeLiteralContext=W;var K=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"STRING",value:function(){return this.getToken(x.STRING,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterStringLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitStringLiteral(this)}}]),n}(H);x.StringLiteralContext=K;var Q=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterBooleanLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitBooleanLiteral(this)}}]),n}(H);x.BooleanLiteralContext=Q;var J=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"NUMBER",value:function(){return this.getToken(x.NUMBER,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterNumberLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitNumberLiteral(this)}}]),n}(H);x.NumberLiteralContext=J;var X=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"quantity",value:function(){return this.getTypedRuleContext(ae,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterQuantityLiteral(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitQuantityLiteral(this)}}]),n}(H);x.QuantityLiteralContext=X;var Y=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_externalConstant,a}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"STRING",value:function(){return this.getToken(x.STRING,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterExternalConstant(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitExternalConstant(this)}}]),n}(h.ParserRuleContext),$=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_invocation,a}return s(n,[{key:"copyFrom",value:function(e){r(d(n.prototype),"copyFrom",this).call(this,e)}}]),n}(h.ParserRuleContext),Z=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterTotalInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTotalInvocation(this)}}]),n}($);x.TotalInvocationContext=Z;var ee=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterThisInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitThisInvocation(this)}}]),n}($);x.ThisInvocationContext=ee;var te=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterIndexInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitIndexInvocation(this)}}]),n}($);x.IndexInvocationContext=te;var ne=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"functn",value:function(){return this.getTypedRuleContext(re,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterFunctionInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitFunctionInvocation(this)}}]),n}($);x.FunctionInvocationContext=ne;var ie=function(e){l(n,e);var t=c(n);function n(e,i){var a,s;return o(this,n),r((a=f(s=t.call(this,e)),d(n.prototype)),"copyFrom",a).call(a,i),s}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterMemberInvocation(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitMemberInvocation(this)}}]),n}($);x.MemberInvocationContext=ie;var re=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_functn,a}return s(n,[{key:"identifier",value:function(){return this.getTypedRuleContext(de,0)}},{key:"paramList",value:function(){return this.getTypedRuleContext(oe,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterFunctn(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitFunctn(this)}}]),n}(h.ParserRuleContext),oe=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),m(f(a=t.call(this,i,r)),"expression",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),a.parser=e,a.ruleIndex=x.RULE_paramList,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterParamList(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitParamList(this)}}]),n}(h.ParserRuleContext),ae=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_quantity,a}return s(n,[{key:"NUMBER",value:function(){return this.getToken(x.NUMBER,0)}},{key:"unit",value:function(){return this.getTypedRuleContext(se,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterQuantity(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitQuantity(this)}}]),n}(h.ParserRuleContext),se=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_unit,a}return s(n,[{key:"dateTimePrecision",value:function(){return this.getTypedRuleContext(le,0)}},{key:"pluralDateTimePrecision",value:function(){return this.getTypedRuleContext(ue,0)}},{key:"STRING",value:function(){return this.getToken(x.STRING,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterUnit(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitUnit(this)}}]),n}(h.ParserRuleContext),le=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_dateTimePrecision,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterDateTimePrecision(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitDateTimePrecision(this)}}]),n}(h.ParserRuleContext),ue=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_pluralDateTimePrecision,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterPluralDateTimePrecision(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitPluralDateTimePrecision(this)}}]),n}(h.ParserRuleContext),ce=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_typeSpecifier,a}return s(n,[{key:"qualifiedIdentifier",value:function(){return this.getTypedRuleContext(fe,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterTypeSpecifier(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitTypeSpecifier(this)}}]),n}(h.ParserRuleContext),fe=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),m(f(a=t.call(this,i,r)),"identifier",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(de):this.getTypedRuleContext(de,e)})),a.parser=e,a.ruleIndex=x.RULE_qualifiedIdentifier,a}return s(n,[{key:"enterRule",value:function(e){e instanceof g&&e.enterQualifiedIdentifier(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitQualifiedIdentifier(this)}}]),n}(h.ParserRuleContext),de=function(e){l(n,e);var t=c(n);function n(e,i,r){var a;return o(this,n),void 0===i&&(i=null),null==r&&(r=-1),(a=t.call(this,i,r)).parser=e,a.ruleIndex=x.RULE_identifier,a}return s(n,[{key:"IDENTIFIER",value:function(){return this.getToken(x.IDENTIFIER,0)}},{key:"DELIMITEDIDENTIFIER",value:function(){return this.getToken(x.DELIMITEDIDENTIFIER,0)}},{key:"enterRule",value:function(e){e instanceof g&&e.enterIdentifier(this)}},{key:"exitRule",value:function(e){e instanceof g&&e.exitIdentifier(this)}}]),n}(h.ParserRuleContext);x.EntireExpressionContext=E,x.ExpressionContext=S,x.TermContext=U,x.LiteralContext=H,x.ExternalConstantContext=Y,x.InvocationContext=$,x.FunctnContext=re,x.ParamListContext=oe,x.QuantityContext=ae,x.UnitContext=se,x.DateTimePrecisionContext=le,x.PluralDateTimePrecisionContext=ue,x.TypeSpecifierContext=ce,x.QualifiedIdentifierContext=fe,x.IdentifierContext=de,e.exports=x},8168:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){l=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n0){for(var R=[],k=0,M=s.length;kn.length)&&(t=n.length),t-=e.length;var i=n.indexOf(e,t);return-1!==i&&i===t}}),String.prototype.includes||Object.defineProperty(String.prototype,"includes",{value:function(){return-1!==this.indexOf.apply(this,arguments)}}),Object.assign||Object.defineProperty(Object,"assign",{value:function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");return i(arguments,1).reduce((function(e,t){return Object.keys(Object(t)).forEach((function(n){e[n]=t[n]})),e}),Object(e))}}),"undefined"==typeof btoa&&(n.g.btoa=function(e){return new Buffer.from(e,"binary").toString("base64")}),"undefined"==typeof atob&&(n.g.atob=function(e){return new Buffer.from(e,"base64").toString("binary")})},2705:function(e,t,n){var i=n(1575),r=n(4230),o={},a={};o.indexOf=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.indexOf(t)},o.substring=function(e,t,n){var o=r.singleton(e,"String");return i.isEmpty(o)||i.isEmpty(t)||t<0||t>=o.length?[]:void 0===n||i.isEmpty(n)?o.substring(t):o.substring(t,t+n)},o.startsWith=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.startsWith(t)},o.endsWith=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.endsWith(t)},o.containsFn=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:n.includes(t)},o.upper=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.toUpperCase()},o.lower=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.toLowerCase()},o.joinFn=function(e,t){var n=[];return e.forEach((function(e){var t=i.valData(e);if("string"==typeof t)n.push(t);else if(null!=t)throw new Error("Join requires a collection of strings.")})),i.isEmpty(n)?[]:(void 0===t&&(t=""),n.join(t))},o.splitFn=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(n)?[]:n.split(t)},o.trimFn=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.trim()},o.encodeFn=function(e,t){var n=r.singleton(e,"String");return i.isEmpty(n)?[]:"urlbase64"===t||"base64url"===t?btoa(n).replace(/\+/g,"-").replace(/\//g,"_"):"base64"===t?btoa(n):"hex"===t?Array.from(n).map((function(e){return e.charCodeAt(0)<128?e.charCodeAt(0).toString(16):encodeURIComponent(e).replace(/%/g,"")})).join(""):[]},o.decodeFn=function(e,t){var n=r.singleton(e,"String");if(i.isEmpty(n))return[];if("urlbase64"===t||"base64url"===t)return atob(n.replace(/-/g,"+").replace(/_/g,"/"));if("base64"===t)return atob(n);if("hex"===t){if(n.length%2!=0)throw new Error("Decode 'hex' requires an even number of characters.");return decodeURIComponent("%"+n.match(/.{2}/g).join("%"))}return[]};var s=!1===new RegExp("").dotAll;o.matches=s?function(e,t){var n=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(n)?[]:new RegExp(t,"s").test(n)}:function(e,t){var n,o=r.singleton(e,"String");return i.isEmpty(t)||i.isEmpty(o)?[]:new RegExp((a[n=t]||(a[n]=n.replace(/\./g,(function(e,t,n){var i=n.substr(0,t).replace(/\\\\/g,"").replace(/\\[\][]/g,""),r="\\"===i[i.length-1],o=i.lastIndexOf("["),a=i.lastIndexOf("]");return r||o>a?".":"[^]"}))),a[n])).test(o)},o.replace=function(e,t,n){var o=r.singleton(e,"String");if(i.isEmpty(t)||i.isEmpty(n)||i.isEmpty(o))return[];var a=new RegExp(i.escapeStringForRegExp(t),"g");return o.replace(a,n)},o.replaceMatches=function(e,t,n){var o=r.singleton(e,"String");if(i.isEmpty(t)||i.isEmpty(n)||i.isEmpty(o))return[];var a=new RegExp(t,"g");return o.replace(a,n)},o.length=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.length},o.toChars=function(e){var t=r.singleton(e,"String");return i.isEmpty(t)?[]:t.split("")},e.exports=o},7028:function(e,t,n){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function a(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=d(e);if(t){var o=d(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var n=0;n1||i>1))return null;if(this.unit===e.unit)return h.isEqual(this.value,e.value);var r=this._compareYearsAndMonths(e);if(r)return r.isEqual;var o=n.toUcumQuantity(this.value,this.unit),a=n.toUcumQuantity(e.value,e.unit),s=p.convertUnitTo(a.unit,a.value,o.unit);return"succeeded"===s.status&&h.isEqual(o.value,s.toVal)}},{key:"equivalentTo",value:function(e){if(!(e instanceof this.constructor))return!1;if(this.unit===e.unit)return h.isEquivalent(this.value,e.value);var t=n.getEquivalentUcumUnitCode(this.unit),i=n.getEquivalentUcumUnitCode(e.unit),r=p.convertUnitTo(i,e.value,t);return"succeeded"===r.status&&h.isEquivalent(this.value,r.toVal)}},{key:"compare",value:function(e){if(this.unit===e.unit)return this.value-e.value;var t=n._calendarDuration2Seconds[this.unit],i=n._calendarDuration2Seconds[e.unit];if(!t!=!i&&(t>1||i>1))return null;var r=n.getEquivalentUcumUnitCode(this.unit),o=n.getEquivalentUcumUnitCode(e.unit),a=p.convertUnitTo(o,e.value,r);return"succeeded"!==a.status?null:this.value-a.toVal}},{key:"plus",value:function(e){var t=n._yearMonthConversionFactor[this.unit],i=n._yearMonthConversionFactor[e.unit];if(t&&i)return new n(this.value+e.value*i/t,this.unit);var r=n._calendarDuration2Seconds[this.unit],o=n._calendarDuration2Seconds[e.unit];if(!r!=!o&&(r>1||o>1))return null;var a=r?"s":this.unit.replace(S,""),s=(r||1)*this.value,l=o?"s":e.unit.replace(S,""),u=(o||1)*e.value,c=p.convertUnitTo(l,u,a);return"succeeded"!==c.status||c.fromUnit.isSpecial_||c.toUnit.isSpecial_?null:new n(s+c.toVal,a)}},{key:"mul",value:function(e){var t=n._calendarDuration2Seconds[this.unit],i=n._calendarDuration2Seconds[e.unit];if(t>1&&"'1'"!==e.unit||i>1&&"'1'"!==this.unit)return null;var r=this.convToUcumUnits(this,t);if(!r)return null;var o=this.convToUcumUnits(e,i);return o?"'1'"===this.unit?new n(this.value*e.value,e.unit):"'1'"===e.unit?new n(this.value*e.value,this.unit):new n(r.value*o.value,"'(".concat(r.unit,").(").concat(o.unit,")'")):null}},{key:"div",value:function(e){if(0===e.value)return null;var t=n._calendarDuration2Seconds[this.unit],i=n._calendarDuration2Seconds[e.unit];if(t)if(i){var r=n._yearMonthConversionFactor[this.unit],o=n._yearMonthConversionFactor[e.unit];if(r&&o)return new n(this.value*r/(e.value*o),"'1'")}else{if("'1'"===e.unit)return new n(this.value/e.value,this.unit);if(t>1)return null}else if(i>1)return null;var a=this.convToUcumUnits(this,t);if(!a)return null;var s=this.convToUcumUnits(e,i);if(!s)return null;var l="1"===s.unit?a.unit:"(".concat(a.unit,")/(").concat(s.unit,")"),u=p.convertToBaseUnits(l,a.value/s.value);return"succeeded"!==u.status?null:new n(u.magnitude,"'".concat(Object.keys(u.unitToExp).map((function(e){return e+u.unitToExp[e]})).join(".")||"1","'"))}},{key:"convToUcumUnits",value:function(e,t){if(t)return{value:t*e.value,unit:"s"};var n=e.unit.replace(S,""),i=p.convertToBaseUnits(n,e.value);return"succeeded"!==i.status||i.fromUnitIsSpecial?null:{value:i.magnitude,unit:Object.keys(i.unitToExp).map((function(e){return e+i.unitToExp[e]})).join(".")||"1"}}},{key:"_compareYearsAndMonths",value:function(e){var t=n._yearMonthConversionFactor[this.unit],i=n._yearMonthConversionFactor[e.unit];return t&&i?{isEqual:h.isEqual(this.value*t,e.value*i)}:null}}]),n}(x),S=/^'|'$/g;E.getEquivalentUcumUnitCode=function(e){return E.mapTimeUnitsToUCUMCode[e]||e.replace(S,"")},E.toUcumQuantity=function(e,t){var n=E._calendarDuration2Seconds[t];return n?{value:n*e,unit:"s"}:{value:e,unit:t.replace(S,"")}},E.convUnitTo=function(e,t,n){var i=E._yearMonthConversionFactor[e],r=E._yearMonthConversionFactor[n];if(i&&r)return new E(i*t/r,n);var o=E._calendarDuration2Seconds[e],a=E._calendarDuration2Seconds[n];if(a){if(o)return new E(o*t/a,n);var s=p.convertUnitTo(e.replace(/^'|'$/g,""),t,"s");if("succeeded"===s.status)return new E(s.toVal/a,n)}else{var l=o?p.convertUnitTo("s",o*t,n.replace(/^'|'$/g,"")):p.convertUnitTo(e.replace(/^'|'$/g,""),t,n.replace(/^'|'$/g,""));if("succeeded"===l.status)return new E(l.toVal,n)}return null},E._calendarDuration2Seconds={years:31536e3,months:2592e3,weeks:604800,days:86400,hours:3600,minutes:60,seconds:1,milliseconds:.001,year:31536e3,month:2592e3,week:604800,day:86400,hour:3600,minute:60,second:1,millisecond:.001},E._yearMonthConversionFactor={years:12,months:1,year:12,month:1},E.dateTimeArithmeticDurationUnits={years:"year",months:"month",weeks:"week",days:"day",hours:"hour",minutes:"minute",seconds:"second",milliseconds:"millisecond",year:"year",month:"month",week:"week",day:"day",hour:"hour",minute:"minute",second:"second",millisecond:"millisecond","'s'":"second","'ms'":"millisecond"},E.mapUCUMCodeToTimeUnits={a:"year",mo:"month",wk:"week",d:"day",h:"hour",min:"minute",s:"second",ms:"millisecond"},E.mapTimeUnitsToUCUMCode=Object.keys(E.mapUCUMCodeToTimeUnits).reduce((function(e,t){return e[E.mapUCUMCodeToTimeUnits[t]]=t,e[E.mapUCUMCodeToTimeUnits[t]+"s"]=t,e}),{});var D=function(e){r(n,e);var t=a(n);function n(e){var i;return s(this,n),(i=t.call(this)).asStr=e,i}return u(n,[{key:"plus",value:function(e){var t=e.unit,i=E.dateTimeArithmeticDurationUnits[t];if(!i)throw new Error("For date/time arithmetic, the unit of the quantity must be one of the following time-based units: "+Object.keys(E.dateTimeArithmeticDurationUnits));var r=this.constructor,o=r._timeUnitToDatePrecision[i];if(void 0===o)throw new Error("Unsupported unit for +. The unit should be one of "+Object.keys(r._timeUnitToDatePrecision).join(", ")+".");var a=e.value,s=r===R;if((s?o<2:o<5)&&(a=Math.trunc(a)),this._getPrecision()2?new A(o)._getTimeParts():this._getTimeParts(),l=i>2?new A(a)._getTimeParts():e._getTimeParts(),u=0;u<=r&&!1!==t;++u)t=s[u]==l[u];t&&(t=void 0)}}else t=!1;return t}},{key:"equivalentTo",value:function(e){var t=e instanceof this.constructor;return t&&(t=this._getPrecision()==e._getPrecision())&&(t=this._getDateObj().getTime()==e._getDateObj().getTime()),t}},{key:"compare",value:function(e){var t=this._getPrecision(),n=e._getPrecision(),i=t<=n?this._getDateObj().getTime():this._dateAtPrecision(n).getTime(),r=n<=t?e._getDateObj().getTime():e._dateAtPrecision(t).getTime();return t!==n&&i===r?null:i-r}},{key:"_getPrecision",value:function(){return void 0===this.precision&&this._getMatchData(),this.precision}},{key:"_getMatchData",value:function(e,t){if(void 0===this.timeMatchData&&(this.timeMatchData=this.asStr.match(e),this.timeMatchData))for(var n=t;n>=0&&void 0===this.precision;--n)this.timeMatchData[n]&&(this.precision=n);return this.timeMatchData}},{key:"_getTimeParts",value:function(e){var t=[];t=[e[0]];var n=e[4];if(n){var i=t[0];t[0]=i.slice(0,i.length-n.length)}var r=e[1];if(r){var o=t[0];t[0]=o.slice(0,o.length-r.length),t[1]=r;var a=e[2];if(a){t[1]=r.slice(0,r.length-a.length),t[2]=a;var s=e[3];s&&(t[2]=a.slice(0,a.length-s.length),t[3]=s)}}return t}},{key:"_getDateObj",value:function(){if(!this.dateObj){var e=this._getPrecision();this.dateObj=this._dateAtPrecision(e)}return this.dateObj}},{key:"_createDate",value:function(e,t,n,i,r,o,a,s){var l=new Date(e,t,n,i,r,o,a);if(s){var u=l.getTimezoneOffset(),c=0;if("Z"!=s){var f=s.split(":"),d=parseInt(f[0]);c=parseInt(f[1]),d<0&&(c=-c),c+=60*d}l=m(l,-u-c)}return l}}]),n}(x);D.timeUnitToAddFn={year:n(8303),month:n(8459),week:n(8998),day:n(7929),hour:n(1973),minute:n(9829),second:n(7492),millisecond:n(3936)};var A=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:"compare",value:function(e){if(!(e instanceof n))throw"Invalid comparison of a DateTime with something else";return f(d(n.prototype),"compare",this).call(this,e)}},{key:"_getMatchData",value:function(){return f(d(n.prototype),"_getMatchData",this).call(this,v,5)}},{key:"_getTimeParts",value:function(){if(!this.timeParts){var e=this._getMatchData(),t=e[0];this.timeParts=[t];var i=e[1];if(i){this.timeParts[0]=t.slice(0,t.length-i.length),this.timeParts[1]=i;var r=e[2];if(r){this.timeParts[1]=i.slice(0,i.length-r.length),this.timeParts[2]=r;var o=e[3];o&&(this.timeParts[2]=r.slice(0,r.length-o.length),"T"===o[0]&&(e[3]=o.slice(1)),this.timeParts=this.timeParts.concat(f(d(n.prototype),"_getTimeParts",this).call(this,e.slice(3))))}}}return this.timeParts}},{key:"_dateAtPrecision",value:function(e){var t=this._getTimeParts(),n=this._getMatchData()[7],i=this._getPrecision(),r=parseInt(t[0]),o=i>0?parseInt(t[1].slice(1))-1:0,a=i>1?parseInt(t[2].slice(1)):1,s=i>2?parseInt(t[3]):0,l=i>3?parseInt(t[4].slice(1)):0,u=i>4?parseInt(t[5].slice(1)):0,c=t.length>6?parseInt(t[6].slice(1)):0,f=this._createDate(r,o,a,s,l,u,c,n);return e0?f.getMonth():0,a=e>1?f.getDate():1,s=e>2?f.getHours():0,l=e>3?f.getMinutes():0,f=new Date(r,o,a,s,l)),f}}]),n}(D);A.checkString=function(e){var t=new A(e);return t._getMatchData()||(t=null),t},A._timeUnitToDatePrecision={year:0,month:1,week:2,day:2,hour:3,minute:4,second:5,millisecond:6},A._datePrecisionToTimeUnit=["year","month","day","hour","minute","second","millisecond"];var R=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),"T"==e[0]&&(e=e.slice(1)),t.call(this,e)}return u(n,[{key:"compare",value:function(e){if(!(e instanceof n))throw"Invalid comparison of a time with something else";return f(d(n.prototype),"compare",this).call(this,e)}},{key:"_dateAtPrecision",value:function(e){var t=this._getTimeParts(),n=this._getMatchData()[4],i=this._getPrecision(),r=2010,o=parseInt(t[0]),a=i>0?parseInt(t[1].slice(1)):0,s=i>1?parseInt(t[2].slice(1)):0,l=t.length>3?parseInt(t[3].slice(1)):0,u=this._createDate(r,0,1,o,a,s,l,n);return n&&(u.setYear(r),u.setMonth(0),u.setDate(1)),e0?u.getMinutes():0,u=new Date(r,0,1,o,a)),u}},{key:"_getMatchData",value:function(){return f(d(n.prototype),"_getMatchData",this).call(this,y,2)}},{key:"_getTimeParts",value:function(){return this.timeParts||(this.timeParts=f(d(n.prototype),"_getTimeParts",this).call(this,this._getMatchData())),this.timeParts}}]),n}(D);function k(e,t){var n=e;return 3===t&&e<100&&(n="0"+e),e<10&&(n="0"+n),n}R.checkString=function(e){var t=new R(e);return t._getMatchData()||(t=null),t},R._timeUnitToDatePrecision={hour:0,minute:1,second:2,millisecond:3},R._datePrecisionToTimeUnit=["hour","minute","second","millisecond"],A.isoDateTime=function(e,t){void 0===t&&(t=5);var n=""+e.getFullYear();if(t>0&&(n+="-"+k(e.getMonth()+1),t>1&&(n+="-"+k(e.getDate()),t>2&&(n+="T"+A.isoTime(e,t-3)))),t>2){var i=e.getTimezoneOffset(),r=i<0?"+":"-",o=(i=Math.abs(i))%60;n+=r+k((i-o)/60)+":"+k(o)}return n},A.isoTime=function(e,t){void 0===t&&(t=2);var n=""+k(e.getHours());return t>0&&(n+=":"+k(e.getMinutes()),t>1&&(n+=":"+k(e.getSeconds()),e.getMilliseconds()&&(n+="."+k(e.getMilliseconds(),3)))),n};var M=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:"_getMatchData",value:function(){return D.prototype._getMatchData.apply(this,[C,2])}}]),n}(A);M.checkString=function(e){var t=new M(e);return t._getMatchData()||(t=null),t},M.isoDate=function(e,t){return(void 0===t||t>2)&&(t=2),A.isoDateTime(e,t)};var T=function(e){r(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:"_getMatchData",value:function(){return D.prototype._getMatchData.apply(this,[b,5])}}]),n}(A);T.checkString=function(e){var t=new T(e);return t._getMatchData()||(t=null),t};var w=function(){function e(t,n,i,r){s(this,e),null!=t&&t.resourceType&&(n=t.resourceType),this.path=n,this.data=t,this._data=i||{},this.isBackbone=r}return u(e,[{key:"getTypeInfo",value:function(){var e;return _.model?this.isBackbone?e=new _({namespace:_.FHIR,name:"BackboneElement"}):/^System\.(.*)$/.test(this.path)?e=new _({namespace:_.System,name:RegExp.$1}):-1===this.path.indexOf(".")&&(e=new _({namespace:_.FHIR,name:this.path})):e=_.createByValueInSystemNamespace(this.data),e||_.createByValueInSystemNamespace(this.data)}},{key:"toJSON",value:function(){return JSON.stringify(this.data)}},{key:"convertData",value:function(){var e=this.data,t=_.typeToClassWithCheckString[this.path];if(t)e=t.checkString(e)||e;else if(_.isType(this.path,"Quantity")){var n;if("http://unitsofmeasure.org"===(null===(n=e)||void 0===n?void 0:n.system)&&"number"==typeof e.value&&"string"==typeof e.code){if(void 0!==e.comparator)throw new Error("Cannot convert a FHIR.Quantity that has a comparator");e=new E(e.value,E.mapUCUMCodeToTimeUnits[e.code]||"'"+e.code+"'")}}return e}}]),e}();w.makeResNode=function(e,t,n){return e instanceof w?e:new w(e,t,n,arguments.length>3&&void 0!==arguments[3]&&arguments[3])};var I=new Set;["Boolean","String","Integer","Decimal","Date","DateTime","Time","Quantity"].forEach((function(e){return I.add(e)}));var P,O,_=function(){function e(t){var n=t.name,i=t.namespace;s(this,e),this.name=n,this.namespace=i}return u(e,[{key:"is",value:function(t){return t instanceof e&&(!this.namespace||!t.namespace||this.namespace===t.namespace)&&(!e.model||this.namespace&&this.namespace!==e.FHIR?this.name===t.name:e.isType(this.name,t.name))}},{key:"toString",value:function(){return(this.namespace?this.namespace+".":"")+this.name}},{key:"isValid",value:function(){var t=!1;if("System"===this.namespace)t=I.has(this.name);else if("FHIR"===this.namespace){var n;t=null===(n=e.model)||void 0===n?void 0:n.availableTypes.has(this.name)}else if(!this.namespace){var i;t=I.has(this.name)||(null===(i=e.model)||void 0===i?void 0:i.availableTypes.has(this.name))}return t}}]),e}();P=_,(O=c(O="model"))in P?Object.defineProperty(P,O,{value:null,enumerable:!0,configurable:!0,writable:!0}):P[O]=null,_.typeToClassWithCheckString={date:M,dateTime:A,instant:T,time:R},_.isType=function(e,t){do{var n;if(e===t)return!0}while(e=null===(n=_.model)||void 0===n?void 0:n.type2Parent[e]);return!1},_.System="System",_.FHIR="FHIR",_.createByValueInSystemNamespace=function(e){var t=i(e);return Number.isInteger(e)?t="integer":"number"===t?t="decimal":e instanceof M?t="date":e instanceof A?t="dateTime":e instanceof R?t="time":e instanceof E&&(t="Quantity"),t=t.replace(/^\w/,(function(e){return e.toUpperCase()})),new _({namespace:_.System,name:t})},_.fromValue=function(e){return e instanceof w?e.getTypeInfo():_.createByValueInSystemNamespace(e)},e.exports={FP_Type:x,FP_TimeBase:D,FP_Date:M,FP_DateTime:A,FP_Instant:T,FP_Time:R,FP_Quantity:E,timeRE:y,dateTimeRE:v,ResourceNode:w,TypeInfo:_,typeFn:function(e){return e.map((function(e){return _.fromValue(e)}))},isFn:function(e,t){if(0===e.length)return[];if(e.length>1)throw new Error("Expected singleton on left side of 'is', got "+JSON.stringify(e));return _.fromValue(e[0]).is(t)},asFn:function(e,t){if(0===e.length)return[];if(e.length>1)throw new Error("Expected singleton on left side of 'as', got "+JSON.stringify(e));return _.fromValue(e[0]).is(t)?e:[]}}},1575:function(e,t,n){function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n1?"one of "+t.join(", "):t[0];o.raiseError("Found type '"+r(e)+"' but was expecting "+a,n)}return i},o.isEmpty=function(e){return Array.isArray(e)&&0==e.length},o.isSome=function(e){return null!=e&&!o.isEmpty(e)},o.isTrue=function(e){return null!=e&&(!0===e||1==e.length&&!0===o.valData(e[0]))},o.isCapitalized=function(e){return e&&e[0]===e[0].toUpperCase()},o.flatten=function(e){return e.reduce((function(e,t){return Array.isArray(t)?e=e.concat(t):e.push(t),e}),[])},o.arraify=function(e){return Array.isArray(e)?e:o.isSome(e)?[e]:[]},o.valData=function(e){return e instanceof a?e.data:e},o.valDataConverted=function(e){return e instanceof a&&(e=e.convertData()),e},o.escapeStringForRegExp=function(e){return e.replace(/[-[\]{}()*+?.,\\/^$|#\s]/g,"\\$&")},o.pushFn=Function.prototype.apply.bind(Array.prototype.push),o.makeChildResNodes=function(e,t,n){var r,s,l=e.path+"."+t;if(n){var u=n.pathsDefinedElsewhere[l];u&&(l=u)}var c=n&&n.choiceTypePaths[l];if(c){var f,d=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e))){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){l=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw a}}}}(c);try{for(d.s();!(f=d.n()).done;){var m,p,h=f.value,g=t+h;if(r=null===(m=e.data)||void 0===m?void 0:m[g],s=null===(p=e.data)||void 0===p?void 0:p["_"+g],void 0!==r||void 0!==s){l+=h;break}}}catch(e){d.e(e)}finally{d.f()}}else{var y,v;r=null===(y=e.data)||void 0===y?void 0:y[t],s=null===(v=e.data)||void 0===v?void 0:v["_"+t],void 0===r&&void 0===s&&(r=e._data[t]),"extension"===t&&(l="Extension")}var C,b=n&&n.path2Type[l],x="BackboneElement"===b;if(l=x?l:b||l,o.isSome(r)||o.isSome(s))if(Array.isArray(r)){var E;C=r.map((function(e,t){return a.makeResNode(e,l,s&&s[t],x)}));for(var S=(null===(E=s)||void 0===E?void 0:E.length)||0,D=r.length;D0&&(O+=F)}return new Date(_+L+O)}return new Date(e)}},7643:function(e){"use strict";e.exports=Number.isFinite||function(e){return!("number"!=typeof e||e!=e||e===1/0||e===-1/0)}},1781:function(e,t,n){var i=n(7643);e.exports=Number.isInteger||function(e){return"number"==typeof e&&i(e)&&Math.floor(e)===e}},4557:function(e){"use strict";e.exports={version:"3.10.5"}},7698:function(e){"use strict";e.exports=JSON.parse('{"license":"The following data (prefixes and units) was generated by the UCUM LHC code from the UCUM data and selected LOINC combinations of UCUM units. The license for the UCUM LHC code (demo and library code as well as the combined units) is located at https://github.com/lhncbc/ucum-lhc/blob/LICENSE.md.","prefixes":{"config":["code_","ciCode_","name_","printSymbol_","value_","exp_"],"data":[["E","EX","exa","E",1000000000000000000,"18"],["G","GA","giga","G",1000000000,"9"],["Gi","GIB","gibi","Gi",1073741824,null],["Ki","KIB","kibi","Ki",1024,null],["M","MA","mega","M",1000000,"6"],["Mi","MIB","mebi","Mi",1048576,null],["P","PT","peta","P",1000000000000000,"15"],["T","TR","tera","T",1000000000000,"12"],["Ti","TIB","tebi","Ti",1099511627776,null],["Y","YA","yotta","Y",1e+24,"24"],["Z","ZA","zetta","Z",1e+21,"21"],["a","A","atto","a",1e-18,"-18"],["c","C","centi","c",0.01,"-2"],["d","D","deci","d",0.1,"-1"],["da","DA","deka","da",10,"1"],["f","F","femto","f",1e-15,"-15"],["h","H","hecto","h",100,"2"],["k","K","kilo","k",1000,"3"],["m","M","milli","m",0.001,"-3"],["n","N","nano","n",1e-9,"-9"],["p","P","pico","p",1e-12,"-12"],["u","U","micro","μ",0.000001,"-6"],["y","YO","yocto","y",1.0000000000000001e-24,"-24"],["z","ZO","zepto","z",1e-21,"-21"]]},"units":{"config":["isBase_","name_","csCode_","ciCode_","property_","magnitude_",["dim_","dimVec_"],"printSymbol_","class_","isMetric_","variable_","cnv_","cnvPfx_","isSpecial_","isArbitrary_","moleExp_","synonyms_","source_","loincProperty_","category_","guidance_","csUnitString_","ciUnitString_","baseFactorStr_","baseFactor_","defError_"],"data":[[true,"meter","m","M","length",1,[1,0,0,0,0,0,0],"m",null,false,"L",null,1,false,false,0,"meters; metres; distance","UCUM","Len","Clinical","unit of length = 1.09361 yards",null,null,null,null,false],[true,"second - time","s","S","time",1,[0,1,0,0,0,0,0],"s",null,false,"T",null,1,false,false,0,"seconds","UCUM","Time","Clinical","",null,null,null,null,false],[true,"gram","g","G","mass",1,[0,0,1,0,0,0,0],"g",null,false,"M",null,1,false,false,0,"grams; gm","UCUM","Mass","Clinical","",null,null,null,null,false],[true,"radian","rad","RAD","plane angle",1,[0,0,0,1,0,0,0],"rad",null,false,"A",null,1,false,false,0,"radians","UCUM","Angle","Clinical","unit of angular measure where 1 radian = 1/2π turn = 57.296 degrees. ",null,null,null,null,false],[true,"degree Kelvin","K","K","temperature",1,[0,0,0,0,1,0,0],"K",null,false,"C",null,1,false,false,0,"Kelvin; degrees","UCUM","Temp","Clinical","absolute, thermodynamic temperature scale ",null,null,null,null,false],[true,"coulomb","C","C","electric charge",1,[0,0,0,0,0,1,0],"C",null,false,"Q",null,1,false,false,0,"coulombs","UCUM","","Clinical","defined as amount of 1 electron charge = 6.2415093×10^18 e, and equivalent to 1 Ampere-second",null,null,null,null,false],[true,"candela","cd","CD","luminous intensity",1,[0,0,0,0,0,0,1],"cd",null,false,"F",null,1,false,false,0,"candelas","UCUM","","Clinical","SI base unit of luminous intensity",null,null,null,null,false],[false,"the number ten for arbitrary powers","10*","10*","number",10,[0,0,0,0,0,0,0],"10","dimless",false,null,null,1,false,false,0,"10^; 10 to the arbitrary powers","UCUM","Num","Clinical","10* by itself is the same as 10, but users can add digits after the *. For example, 10*3 = 1000.","1","1","10",10,false],[false,"the number ten for arbitrary powers","10^","10^","number",10,[0,0,0,0,0,0,0],"10","dimless",false,null,null,1,false,false,0,"10*; 10 to the arbitrary power","UCUM","Num","Clinical","10* by itself is the same as 10, but users can add digits after the *. For example, 10*3 = 1000.","1","1","10",10,false],[false,"the number pi","[pi]","[PI]","number",3.141592653589793,[0,0,0,0,0,0,0],"π","dimless",false,null,null,1,false,false,0,"π","UCUM","","Constant","a mathematical constant; the ratio of a circle\'s circumference to its diameter ≈ 3.14159","1","1","3.1415926535897932384626433832795028841971693993751058209749445923",3.141592653589793,false],[false,"","%","%","fraction",0.01,[0,0,0,0,0,0,0],"%","dimless",false,null,null,1,false,false,0,"percents","UCUM","FR; NFR; MFR; CFR; SFR Rto; etc. ","Clinical","","10*-2","10*-2","1",1,false],[false,"parts per thousand","[ppth]","[PPTH]","fraction",0.001,[0,0,0,0,0,0,0],"ppth","dimless",false,null,null,1,false,false,0,"ppth; 10^-3","UCUM","MCnc; MCnt","Clinical","[ppth] is often used in solution concentrations as 1 g/L or 1 g/kg.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-3","10*-3","1",1,false],[false,"parts per million","[ppm]","[PPM]","fraction",0.000001,[0,0,0,0,0,0,0],"ppm","dimless",false,null,null,1,false,false,0,"ppm; 10^-6","UCUM","MCnt; MCnc; SFr","Clinical","[ppm] is often used in solution concentrations as 1 mg/L or 1 mg/kg. Also used to express mole fractions as 1 mmol/mol.\\n\\n[ppm] is also used in nuclear magnetic resonance (NMR) to represent chemical shift - the difference of a measured frequency in parts per million from the reference frequency.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-6","10*-6","1",1,false],[false,"parts per billion","[ppb]","[PPB]","fraction",1e-9,[0,0,0,0,0,0,0],"ppb","dimless",false,null,null,1,false,false,0,"ppb; 10^-9","UCUM","MCnt; MCnc; SFr","Clinical","[ppb] is often used in solution concentrations as 1 ug/L or 1 ug/kg. Also used to express mole fractions as 1 umol/mol.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-9","10*-9","1",1,false],[false,"parts per trillion","[pptr]","[PPTR]","fraction",1e-12,[0,0,0,0,0,0,0],"pptr","dimless",false,null,null,1,false,false,0,"pptr; 10^-12","UCUM","MCnt; MCnc; SFr","Clinical","[pptr] is often used in solution concentrations as 1 ng/L or 1 ng/kg. Also used to express mole fractions as 1 nmol/mol.\\n\\nCan be ambigous and would be better if the metric units was used directly. ","10*-12","10*-12","1",1,false],[false,"mole","mol","MOL","amount of substance",6.0221367e+23,[0,0,0,0,0,0,0],"mol","si",true,null,null,1,false,false,1,"moles","UCUM","Sub","Clinical","Measure the number of molecules ","10*23","10*23","6.0221367",6.0221367,false],[false,"steradian - solid angle","sr","SR","solid angle",1,[0,0,0,2,0,0,0],"sr","si",true,null,null,1,false,false,0,"square radian; rad2; rad^2","UCUM","Angle","Clinical","unit of solid angle in three-dimensional geometry analagous to radian; used in photometry which measures the perceived brightness of object by human eye (e.g. radiant intensity = watt/steradian)","rad2","RAD2","1",1,false],[false,"hertz","Hz","HZ","frequency",1,[0,-1,0,0,0,0,0],"Hz","si",true,null,null,1,false,false,0,"Herz; frequency; frequencies","UCUM","Freq; Num","Clinical","equal to one cycle per second","s-1","S-1","1",1,false],[false,"newton","N","N","force",1000,[1,-2,1,0,0,0,0],"N","si",true,null,null,1,false,false,0,"Newtons","UCUM","Force","Clinical","unit of force with base units kg.m/s2","kg.m/s2","KG.M/S2","1",1,false],[false,"pascal","Pa","PAL","pressure",1000,[-1,-2,1,0,0,0,0],"Pa","si",true,null,null,1,false,false,0,"pascals","UCUM","Pres","Clinical","standard unit of pressure equal to 1 newton per square meter (N/m2)","N/m2","N/M2","1",1,false],[false,"joule","J","J","energy",1000,[2,-2,1,0,0,0,0],"J","si",true,null,null,1,false,false,0,"joules","UCUM","Enrg","Clinical","unit of energy defined as the work required to move an object 1 m with a force of 1 N (N.m) or an electric charge of 1 C through 1 V (C.V), or to produce 1 W for 1 s (W.s) ","N.m","N.M","1",1,false],[false,"watt","W","W","power",1000,[2,-3,1,0,0,0,0],"W","si",true,null,null,1,false,false,0,"watts","UCUM","EngRat","Clinical","unit of power equal to 1 Joule per second (J/s) = kg⋅m2⋅s−3","J/s","J/S","1",1,false],[false,"Ampere","A","A","electric current",1,[0,-1,0,0,0,1,0],"A","si",true,null,null,1,false,false,0,"Amperes","UCUM","ElpotRat","Clinical","unit of electric current equal to flow rate of electrons equal to 16.2415×10^18 elementary charges moving past a boundary in one second or 1 Coulomb/second","C/s","C/S","1",1,false],[false,"volt","V","V","electric potential",1000,[2,-2,1,0,0,-1,0],"V","si",true,null,null,1,false,false,0,"volts","UCUM","Elpot","Clinical","unit of electric potential (voltage) = 1 Joule per Coulomb (J/C)","J/C","J/C","1",1,false],[false,"farad","F","F","electric capacitance",0.001,[-2,2,-1,0,0,2,0],"F","si",true,null,null,1,false,false,0,"farads; electric capacitance","UCUM","","Clinical","CGS unit of electric capacitance with base units C/V (Coulomb per Volt)","C/V","C/V","1",1,false],[false,"ohm","Ohm","OHM","electric resistance",1000,[2,-1,1,0,0,-2,0],"Ω","si",true,null,null,1,false,false,0,"Ω; resistance; ohms","UCUM","","Clinical","unit of electrical resistance with units of Volt per Ampere","V/A","V/A","1",1,false],[false,"siemens","S","SIE","electric conductance",0.001,[-2,1,-1,0,0,2,0],"S","si",true,null,null,1,false,false,0,"Reciprocal ohm; mho; Ω−1; conductance","UCUM","","Clinical","unit of electric conductance (the inverse of electrical resistance) equal to ohm^-1","Ohm-1","OHM-1","1",1,false],[false,"weber","Wb","WB","magnetic flux",1000,[2,-1,1,0,0,-1,0],"Wb","si",true,null,null,1,false,false,0,"magnetic flux; webers","UCUM","","Clinical","unit of magnetic flux equal to Volt second","V.s","V.S","1",1,false],[false,"degree Celsius","Cel","CEL","temperature",1,[0,0,0,0,1,0,0],"°C","si",true,null,"Cel",1,true,false,0,"°C; degrees","UCUM","Temp","Clinical","","K",null,null,1,false],[false,"tesla","T","T","magnetic flux density",1000,[0,-1,1,0,0,-1,0],"T","si",true,null,null,1,false,false,0,"Teslas; magnetic field","UCUM","","Clinical","SI unit of magnetic field strength for magnetic field B equal to 1 Weber/square meter = 1 kg/(s2*A)","Wb/m2","WB/M2","1",1,false],[false,"henry","H","H","inductance",1000,[2,0,1,0,0,-2,0],"H","si",true,null,null,1,false,false,0,"henries; inductance","UCUM","","Clinical","unit of electrical inductance; usually expressed in millihenrys (mH) or microhenrys (uH).","Wb/A","WB/A","1",1,false],[false,"lumen","lm","LM","luminous flux",1,[0,0,0,2,0,0,1],"lm","si",true,null,null,1,false,false,0,"luminous flux; lumens","UCUM","","Clinical","unit of luminous flux defined as 1 lm = 1 cd⋅sr (candela times sphere)","cd.sr","CD.SR","1",1,false],[false,"lux","lx","LX","illuminance",1,[-2,0,0,2,0,0,1],"lx","si",true,null,null,1,false,false,0,"illuminance; luxes","UCUM","","Clinical","unit of illuminance equal to one lumen per square meter. ","lm/m2","LM/M2","1",1,false],[false,"becquerel","Bq","BQ","radioactivity",1,[0,-1,0,0,0,0,0],"Bq","si",true,null,null,1,false,false,0,"activity; radiation; becquerels","UCUM","","Clinical","measure of the atomic radiation rate with units s^-1","s-1","S-1","1",1,false],[false,"gray","Gy","GY","energy dose",1,[2,-2,0,0,0,0,0],"Gy","si",true,null,null,1,false,false,0,"absorbed doses; ionizing radiation doses; kerma; grays","UCUM","EngCnt","Clinical","unit of ionizing radiation dose with base units of 1 joule of radiation energy per kilogram of matter","J/kg","J/KG","1",1,false],[false,"sievert","Sv","SV","dose equivalent",1,[2,-2,0,0,0,0,0],"Sv","si",true,null,null,1,false,false,0,"sieverts; radiation dose quantities; equivalent doses; effective dose; operational dose; committed dose","UCUM","","Clinical","SI unit for radiation dose equivalent equal to 1 Joule/kilogram.","J/kg","J/KG","1",1,false],[false,"degree - plane angle","deg","DEG","plane angle",0.017453292519943295,[0,0,0,1,0,0,0],"°","iso1000",false,null,null,1,false,false,0,"°; degree of arc; arc degree; arcdegree; angle","UCUM","Angle","Clinical","one degree is equivalent to π/180 radians.","[pi].rad/360","[PI].RAD/360","2",2,false],[false,"gon","gon","GON","plane angle",0.015707963267948967,[0,0,0,1,0,0,0],"□g","iso1000",false,null,null,1,false,false,0,"gon (grade); gons","UCUM","Angle","Nonclinical","unit of plane angle measurement equal to 1/400 circle","deg","DEG","0.9",0.9,false],[false,"arc minute","\'","\'","plane angle",0.0002908882086657216,[0,0,0,1,0,0,0],"\'","iso1000",false,null,null,1,false,false,0,"arcminutes; arcmin; arc minutes; arc mins","UCUM","Angle","Clinical","equal to 1/60 degree; used in optometry and opthamology (e.g. visual acuity tests)","deg/60","DEG/60","1",1,false],[false,"arc second","\'\'","\'\'","plane angle",0.00000484813681109536,[0,0,0,1,0,0,0],"\'\'","iso1000",false,null,null,1,false,false,0,"arcseconds; arcsecs","UCUM","Angle","Clinical","equal to 1/60 arcminute = 1/3600 degree; used in optometry and opthamology (e.g. visual acuity tests)","\'/60","\'/60","1",1,false],[false,"Liters","l","L","volume",0.001,[3,0,0,0,0,0,0],"l","iso1000",true,null,null,1,false,false,0,"cubic decimeters; decimeters cubed; decimetres; dm3; dm^3; litres; liters, LT ","UCUM","Vol","Clinical","Because lower case \\"l\\" can be read as the number \\"1\\", though this is a valid UCUM units. UCUM strongly reccomends using \\"L\\"","dm3","DM3","1",1,false],[false,"Liters","L","L","volume",0.001,[3,0,0,0,0,0,0],"L","iso1000",true,null,null,1,false,false,0,"cubic decimeters; decimeters cubed; decimetres; dm3; dm^3; litres; liters, LT ","UCUM","Vol","Clinical","Because lower case \\"l\\" can be read as the number \\"1\\", though this is a valid UCUM units. UCUM strongly reccomends using \\"L\\"","l",null,"1",1,false],[false,"are","ar","AR","area",100,[2,0,0,0,0,0,0],"a","iso1000",true,null,null,1,false,false,0,"100 m2; 100 m^2; 100 square meter; meters squared; metres","UCUM","Area","Clinical","metric base unit for area defined as 100 m^2","m2","M2","100",100,false],[false,"minute","min","MIN","time",60,[0,1,0,0,0,0,0],"min","iso1000",false,null,null,1,false,false,0,"minutes","UCUM","Time","Clinical","","s","S","60",60,false],[false,"hour","h","HR","time",3600,[0,1,0,0,0,0,0],"h","iso1000",false,null,null,1,false,false,0,"hours; hrs; age","UCUM","Time","Clinical","","min","MIN","60",60,false],[false,"day","d","D","time",86400,[0,1,0,0,0,0,0],"d","iso1000",false,null,null,1,false,false,0,"days; age; dy; 24 hours; 24 hrs","UCUM","Time","Clinical","","h","HR","24",24,false],[false,"tropical year","a_t","ANN_T","time",31556925.216,[0,1,0,0,0,0,0],"at","iso1000",false,null,null,1,false,false,0,"solar years; a tropical; years","UCUM","Time","Clinical","has an average of 365.242181 days but is constantly changing.","d","D","365.24219",365.24219,false],[false,"mean Julian year","a_j","ANN_J","time",31557600,[0,1,0,0,0,0,0],"aj","iso1000",false,null,null,1,false,false,0,"mean Julian yr; a julian; years","UCUM","Time","Clinical","has an average of 365.25 days, and in everyday use, has been replaced by the Gregorian year. However, this unit is used in astronomy to calculate light year. ","d","D","365.25",365.25,false],[false,"mean Gregorian year","a_g","ANN_G","time",31556952,[0,1,0,0,0,0,0],"ag","iso1000",false,null,null,1,false,false,0,"mean Gregorian yr; a gregorian; years","UCUM","Time","Clinical","has an average of 365.2425 days and is the most internationally used civil calendar.","d","D","365.2425",365.2425,false],[false,"year","a","ANN","time",31557600,[0,1,0,0,0,0,0],"a","iso1000",false,null,null,1,false,false,0,"years; a; yr, yrs; annum","UCUM","Time","Clinical","","a_j","ANN_J","1",1,false],[false,"week","wk","WK","time",604800,[0,1,0,0,0,0,0],"wk","iso1000",false,null,null,1,false,false,0,"weeks; wks","UCUM","Time","Clinical","","d","D","7",7,false],[false,"synodal month","mo_s","MO_S","time",2551442.976,[0,1,0,0,0,0,0],"mos","iso1000",false,null,null,1,false,false,0,"Moon; synodic month; lunar month; mo-s; mo s; months; moons","UCUM","Time","Nonclinical","has an average of 29.53 days per month, unit used in astronomy","d","D","29.53059",29.53059,false],[false,"mean Julian month","mo_j","MO_J","time",2629800,[0,1,0,0,0,0,0],"moj","iso1000",false,null,null,1,false,false,0,"mo-julian; mo Julian; months","UCUM","Time","Clinical","has an average of 30.435 days per month","a_j/12","ANN_J/12","1",1,false],[false,"mean Gregorian month","mo_g","MO_G","time",2629746,[0,1,0,0,0,0,0],"mog","iso1000",false,null,null,1,false,false,0,"months; month-gregorian; mo-gregorian","UCUM","Time","Clinical","has an average 30.436875 days per month and is from the most internationally used civil calendar.","a_g/12","ANN_G/12","1",1,false],[false,"month","mo","MO","time",2629800,[0,1,0,0,0,0,0],"mo","iso1000",false,null,null,1,false,false,0,"months; duration","UCUM","Time","Clinical","based on Julian calendar which has an average of 30.435 days per month (this unit is used in astronomy but not in everyday life - see mo_g)","mo_j","MO_J","1",1,false],[false,"metric ton","t","TNE","mass",1000000,[0,0,1,0,0,0,0],"t","iso1000",true,null,null,1,false,false,0,"tonnes; megagrams; tons","UCUM","Mass","Nonclinical","equal to 1000 kg used in the US (recognized by NIST as metric ton), and internationally (recognized as tonne)","kg","KG","1e3",1000,false],[false,"bar","bar","BAR","pressure",100000000,[-1,-2,1,0,0,0,0],"bar","iso1000",true,null,null,1,false,false,0,"bars","UCUM","Pres","Nonclinical","unit of pressure equal to 10^5 Pascals, primarily used by meteorologists and in weather forecasting","Pa","PAL","1e5",100000,false],[false,"unified atomic mass unit","u","AMU","mass",1.6605402e-24,[0,0,1,0,0,0,0],"u","iso1000",true,null,null,1,false,false,0,"unified atomic mass units; amu; Dalton; Da","UCUM","Mass","Clinical","the mass of 1/12 of an unbound Carbon-12 atom nuclide equal to 1.6606x10^-27 kg ","g","G","1.6605402e-24",1.6605402e-24,false],[false,"astronomic unit","AU","ASU","length",149597870691,[1,0,0,0,0,0,0],"AU","iso1000",false,null,null,1,false,false,0,"AU; units","UCUM","Len","Clinical","unit of length used in astronomy for measuring distance in Solar system","Mm","MAM","149597.870691",149597.870691,false],[false,"parsec","pc","PRS","length",30856780000000000,[1,0,0,0,0,0,0],"pc","iso1000",true,null,null,1,false,false,0,"parsecs","UCUM","Len","Clinical","unit of length equal to 3.26 light years, nad used to measure large distances to objects outside our Solar System","m","M","3.085678e16",30856780000000000,false],[false,"velocity of light in a vacuum","[c]","[C]","velocity",299792458,[1,-1,0,0,0,0,0],"c","const",true,null,null,1,false,false,0,"speed of light","UCUM","Vel","Constant","equal to 299792458 m/s (approximately 3 x 10^8 m/s)","m/s","M/S","299792458",299792458,false],[false,"Planck constant","[h]","[H]","action",6.6260755e-31,[2,-1,1,0,0,0,0],"h","const",true,null,null,1,false,false,0,"Planck\'s constant","UCUM","","Constant","constant = 6.62607004 × 10-34 m2.kg/s; defined as quantum of action","J.s","J.S","6.6260755e-34",6.6260755e-34,false],[false,"Boltzmann constant","[k]","[K]","(unclassified)",1.380658e-20,[2,-2,1,0,-1,0,0],"k","const",true,null,null,1,false,false,0,"k; kB","UCUM","","Constant","physical constant relating energy at the individual particle level with temperature = 1.38064852 ×10^−23 J/K","J/K","J/K","1.380658e-23",1.380658e-23,false],[false,"permittivity of vacuum - electric","[eps_0]","[EPS_0]","electric permittivity",8.854187817000001e-15,[-3,2,-1,0,0,2,0],"ε0","const",true,null,null,1,false,false,0,"ε0; Electric Constant; vacuum permittivity; permittivity of free space ","UCUM","","Constant","approximately equal to 8.854 × 10^−12 F/m (farads per meter)","F/m","F/M","8.854187817e-12",8.854187817e-12,false],[false,"permeability of vacuum - magnetic","[mu_0]","[MU_0]","magnetic permeability",0.0012566370614359172,[1,0,1,0,0,-2,0],"μ0","const",true,null,null,1,false,false,0,"μ0; vacuum permeability; permeability of free space; magnetic constant","UCUM","","Constant","equal to 4π×10^−7 N/A2 (Newtons per square ampere) ≈ 1.2566×10^−6 H/m (Henry per meter)","N/A2","4.[PI].10*-7.N/A2","1",0.0000012566370614359173,false],[false,"elementary charge","[e]","[E]","electric charge",1.60217733e-19,[0,0,0,0,0,1,0],"e","const",true,null,null,1,false,false,0,"e; q; electric charges","UCUM","","Constant","the magnitude of the electric charge carried by a single electron or proton ≈ 1.60217×10^-19 Coulombs","C","C","1.60217733e-19",1.60217733e-19,false],[false,"electronvolt","eV","EV","energy",1.60217733e-16,[2,-2,1,0,0,0,0],"eV","iso1000",true,null,null,1,false,false,0,"Electron Volts; electronvolts","UCUM","Eng","Clinical","unit of kinetic energy = 1 V * 1.602×10^−19 C = 1.6×10−19 Joules","[e].V","[E].V","1",1,false],[false,"electron mass","[m_e]","[M_E]","mass",9.1093897e-28,[0,0,1,0,0,0,0],"me","const",true,null,null,1,false,false,0,"electron rest mass; me","UCUM","Mass","Constant","approximately equal to 9.10938356 × 10-31 kg; defined as the mass of a stationary electron","g","g","9.1093897e-28",9.1093897e-28,false],[false,"proton mass","[m_p]","[M_P]","mass",1.6726231e-24,[0,0,1,0,0,0,0],"mp","const",true,null,null,1,false,false,0,"mp; masses","UCUM","Mass","Constant","approximately equal to 1.672622×10−27 kg","g","g","1.6726231e-24",1.6726231e-24,false],[false,"Newtonian constant of gravitation","[G]","[GC]","(unclassified)",6.67259e-14,[3,-2,-1,0,0,0,0],"G","const",true,null,null,1,false,false,0,"G; gravitational constant; Newton\'s constant","UCUM","","Constant","gravitational constant = 6.674×10−11 N⋅m2/kg2","m3.kg-1.s-2","M3.KG-1.S-2","6.67259e-11",6.67259e-11,false],[false,"standard acceleration of free fall","[g]","[G]","acceleration",9.80665,[1,-2,0,0,0,0,0],"gn","const",true,null,null,1,false,false,0,"standard gravity; g; ɡ0; ɡn","UCUM","Accel","Constant","defined by standard = 9.80665 m/s2","m/s2","M/S2","980665e-5",9.80665,false],[false,"Torr","Torr","Torr","pressure",133322,[-1,-2,1,0,0,0,0],"Torr","const",false,null,null,1,false,false,0,"torrs","UCUM","Pres","Clinical","1 torr = 1 mmHg; unit used to measure blood pressure","Pa","PAL","133.322",133.322,false],[false,"standard atmosphere","atm","ATM","pressure",101325000,[-1,-2,1,0,0,0,0],"atm","const",false,null,null,1,false,false,0,"reference pressure; atmos; std atmosphere","UCUM","Pres","Clinical","defined as being precisely equal to 101,325 Pa","Pa","PAL","101325",101325,false],[false,"light-year","[ly]","[LY]","length",9460730472580800,[1,0,0,0,0,0,0],"l.y.","const",true,null,null,1,false,false,0,"light years; ly","UCUM","Len","Constant","unit of astronomal distance = 5.88×10^12 mi","[c].a_j","[C].ANN_J","1",1,false],[false,"gram-force","gf","GF","force",9.80665,[1,-2,1,0,0,0,0],"gf","const",true,null,null,1,false,false,0,"Newtons; gram forces","UCUM","Force","Clinical","May be specific to unit related to cardiac output","g.[g]","G.[G]","1",1,false],[false,"Kayser","Ky","KY","lineic number",100,[-1,0,0,0,0,0,0],"K","cgs",true,null,null,1,false,false,0,"wavenumbers; kaysers","UCUM","InvLen","Clinical","unit of wavelength equal to cm^-1","cm-1","CM-1","1",1,false],[false,"Gal","Gal","GL","acceleration",0.01,[1,-2,0,0,0,0,0],"Gal","cgs",true,null,null,1,false,false,0,"galileos; Gals","UCUM","Accel","Clinical","unit of acceleration used in gravimetry; equivalent to cm/s2 ","cm/s2","CM/S2","1",1,false],[false,"dyne","dyn","DYN","force",0.01,[1,-2,1,0,0,0,0],"dyn","cgs",true,null,null,1,false,false,0,"dynes","UCUM","Force","Clinical","unit of force equal to 10^-5 Newtons","g.cm/s2","G.CM/S2","1",1,false],[false,"erg","erg","ERG","energy",0.0001,[2,-2,1,0,0,0,0],"erg","cgs",true,null,null,1,false,false,0,"10^-7 Joules, 10-7 Joules; 100 nJ; 100 nanoJoules; 1 dyne cm; 1 g.cm2/s2","UCUM","Eng","Clinical","unit of energy = 1 dyne centimeter = 10^-7 Joules","dyn.cm","DYN.CM","1",1,false],[false,"Poise","P","P","dynamic viscosity",100,[-1,-1,1,0,0,0,0],"P","cgs",true,null,null,1,false,false,0,"dynamic viscosity; poises","UCUM","Visc","Clinical","unit of dynamic viscosity where 1 Poise = 1/10 Pascal second","dyn.s/cm2","DYN.S/CM2","1",1,false],[false,"Biot","Bi","BI","electric current",10,[0,-1,0,0,0,1,0],"Bi","cgs",true,null,null,1,false,false,0,"Bi; abamperes; abA","UCUM","ElpotRat","Clinical","equal to 10 amperes","A","A","10",10,false],[false,"Stokes","St","ST","kinematic viscosity",0.0001,[2,-1,0,0,0,0,0],"St","cgs",true,null,null,1,false,false,0,"kinematic viscosity","UCUM","Visc","Clinical","unit of kimematic viscosity with units cm2/s","cm2/s","CM2/S","1",1,false],[false,"Maxwell","Mx","MX","flux of magnetic induction",0.00001,[2,-1,1,0,0,-1,0],"Mx","cgs",true,null,null,1,false,false,0,"magnetix flux; Maxwells","UCUM","","Clinical","unit of magnetic flux","Wb","WB","1e-8",1e-8,false],[false,"Gauss","G","GS","magnetic flux density",0.1,[0,-1,1,0,0,-1,0],"Gs","cgs",true,null,null,1,false,false,0,"magnetic fields; magnetic flux density; induction; B","UCUM","magnetic","Clinical","CGS unit of magnetic flux density, known as magnetic field B; defined as one maxwell unit per square centimeter (see Oersted for CGS unit for H field)","T","T","1e-4",0.0001,false],[false,"Oersted","Oe","OE","magnetic field intensity",79.57747154594767,[-1,-1,0,0,0,1,0],"Oe","cgs",true,null,null,1,false,false,0,"H magnetic B field; Oersteds","UCUM","","Clinical","CGS unit of the auxiliary magnetic field H defined as 1 dyne per unit pole = 1000/4π amperes per meter (see Gauss for CGS unit for B field)","A/m","/[PI].A/M","250",79.57747154594767,false],[false,"Gilbert","Gb","GB","magnetic tension",0.7957747154594768,[0,-1,0,0,0,1,0],"Gb","cgs",true,null,null,1,false,false,0,"Gi; magnetomotive force; Gilberts","UCUM","","Clinical","unit of magnetomotive force (magnetic potential)","Oe.cm","OE.CM","1",1,false],[false,"stilb","sb","SB","lum. intensity density",10000,[-2,0,0,0,0,0,1],"sb","cgs",true,null,null,1,false,false,0,"stilbs","UCUM","","Obsolete","unit of luminance; equal to and replaced by unit candela per square centimeter (cd/cm2)","cd/cm2","CD/CM2","1",1,false],[false,"Lambert","Lmb","LMB","brightness",3183.098861837907,[-2,0,0,0,0,0,1],"L","cgs",true,null,null,1,false,false,0,"luminance; lamberts","UCUM","","Clinical","unit of luminance defined as 1 lambert = 1/ π candela per square meter","cd/cm2/[pi]","CD/CM2/[PI]","1",1,false],[false,"phot","ph","PHT","illuminance",0.0001,[-2,0,0,2,0,0,1],"ph","cgs",true,null,null,1,false,false,0,"phots","UCUM","","Clinical","CGS photometric unit of illuminance, or luminous flux through an area equal to 10000 lumens per square meter = 10000 lux","lx","LX","1e-4",0.0001,false],[false,"Curie","Ci","CI","radioactivity",37000000000,[0,-1,0,0,0,0,0],"Ci","cgs",true,null,null,1,false,false,0,"curies","UCUM","","Obsolete","unit for measuring atomic disintegration rate; replaced by the Bequerel (Bq) unit","Bq","BQ","37e9",37000000000,false],[false,"Roentgen","R","ROE","ion dose",2.58e-7,[0,0,-1,0,0,1,0],"R","cgs",true,null,null,1,false,false,0,"röntgen; Roentgens","UCUM","","Clinical","unit of exposure of X-rays and gamma rays in air; unit used primarily in the US but strongly discouraged by NIST","C/kg","C/KG","2.58e-4",0.000258,false],[false,"radiation absorbed dose","RAD","[RAD]","energy dose",0.01,[2,-2,0,0,0,0,0],"RAD","cgs",true,null,null,1,false,false,0,"doses","UCUM","","Clinical","unit of radiation absorbed dose used primarily in the US with base units 100 ergs per gram of material. Also see the SI unit Gray (Gy).","erg/g","ERG/G","100",100,false],[false,"radiation equivalent man","REM","[REM]","dose equivalent",0.01,[2,-2,0,0,0,0,0],"REM","cgs",true,null,null,1,false,false,0,"Roentgen Equivalent in Man; rems; dose equivalents","UCUM","","Clinical","unit of equivalent dose which measures the effect of radiation on humans equal to 0.01 sievert. Used primarily in the US. Also see SI unit Sievert (Sv)","RAD","[RAD]","1",1,false],[false,"inch","[in_i]","[IN_I]","length",0.025400000000000002,[1,0,0,0,0,0,0],"in","intcust",false,null,null,1,false,false,0,"inches; in; international inch; body height","UCUM","Len","Clinical","standard unit for inch in the US and internationally","cm","CM","254e-2",2.54,false],[false,"foot","[ft_i]","[FT_I]","length",0.3048,[1,0,0,0,0,0,0],"ft","intcust",false,null,null,1,false,false,0,"ft; fts; foot; international foot; feet; international feet; height","UCUM","Len","Clinical","unit used in the US and internationally","[in_i]","[IN_I]","12",12,false],[false,"yard","[yd_i]","[YD_I]","length",0.9144000000000001,[1,0,0,0,0,0,0],"yd","intcust",false,null,null,1,false,false,0,"international yards; yds; distance","UCUM","Len","Clinical","standard unit used in the US and internationally","[ft_i]","[FT_I]","3",3,false],[false,"mile","[mi_i]","[MI_I]","length",1609.344,[1,0,0,0,0,0,0],"mi","intcust",false,null,null,1,false,false,0,"international miles; mi I; statute mile","UCUM","Len","Clinical","standard unit used in the US and internationally","[ft_i]","[FT_I]","5280",5280,false],[false,"fathom","[fth_i]","[FTH_I]","depth of water",1.8288000000000002,[1,0,0,0,0,0,0],"fth","intcust",false,null,null,1,false,false,0,"international fathoms","UCUM","Len","Nonclinical","unit used in the US and internationally to measure depth of water; same length as the US fathom","[ft_i]","[FT_I]","6",6,false],[false,"nautical mile","[nmi_i]","[NMI_I]","length",1852,[1,0,0,0,0,0,0],"n.mi","intcust",false,null,null,1,false,false,0,"nautical mile; nautical miles; international nautical mile; international nautical miles; nm; n.m.; nmi","UCUM","Len","Nonclinical","standard unit used in the US and internationally","m","M","1852",1852,false],[false,"knot","[kn_i]","[KN_I]","velocity",0.5144444444444445,[1,-1,0,0,0,0,0],"knot","intcust",false,null,null,1,false,false,0,"kn; kt; international knots","UCUM","Vel","Nonclinical","defined as equal to one nautical mile (1.852 km) per hour","[nmi_i]/h","[NMI_I]/H","1",1,false],[false,"square inch","[sin_i]","[SIN_I]","area",0.0006451600000000001,[2,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"in2; in^2; inches squared; sq inch; inches squared; international","UCUM","Area","Clinical","standard unit used in the US and internationally","[in_i]2","[IN_I]2","1",1,false],[false,"square foot","[sft_i]","[SFT_I]","area",0.09290304,[2,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"ft2; ft^2; ft squared; sq ft; feet; international","UCUM","Area","Clinical","standard unit used in the US and internationally","[ft_i]2","[FT_I]2","1",1,false],[false,"square yard","[syd_i]","[SYD_I]","area",0.8361273600000002,[2,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"yd2; yd^2; sq. yds; yards squared; international","UCUM","Area","Clinical","standard unit used in the US and internationally","[yd_i]2","[YD_I]2","1",1,false],[false,"cubic inch","[cin_i]","[CIN_I]","volume",0.000016387064000000003,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"in3; in^3; in*3; inches^3; inches*3; cu. in; cu in; cubic inches; inches cubed; cin","UCUM","Vol","Clinical","standard unit used in the US and internationally","[in_i]3","[IN_I]3","1",1,false],[false,"cubic foot","[cft_i]","[CFT_I]","volume",0.028316846592000004,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"ft3; ft^3; ft*3; cu. ft; cubic feet; cubed; [ft_i]3; international","UCUM","Vol","Clinical","","[ft_i]3","[FT_I]3","1",1,false],[false,"cubic yard","[cyd_i]","[CYD_I]","volume",0.7645548579840002,[3,0,0,0,0,0,0],"cu.yd","intcust",false,null,null,1,false,false,0,"cubic yards; cubic yds; cu yards; CYs; yards^3; yd^3; yds^3; yd3; yds3","UCUM","Vol","Nonclinical","standard unit used in the US and internationally","[yd_i]3","[YD_I]3","1",1,false],[false,"board foot","[bf_i]","[BF_I]","volume",0.002359737216,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"BDFT; FBM; BF; board feet; international","UCUM","Vol","Nonclinical","unit of volume used to measure lumber","[in_i]3","[IN_I]3","144",144,false],[false,"cord","[cr_i]","[CR_I]","volume",3.6245563637760005,[3,0,0,0,0,0,0],null,"intcust",false,null,null,1,false,false,0,"crd I; international cords","UCUM","Vol","Nonclinical","unit of measure of dry volume used to measure firewood equal 128 ft3","[ft_i]3","[FT_I]3","128",128,false],[false,"mil","[mil_i]","[MIL_I]","length",0.000025400000000000004,[1,0,0,0,0,0,0],"mil","intcust",false,null,null,1,false,false,0,"thou, thousandth; mils; international","UCUM","Len","Clinical","equal to 0.001 international inch","[in_i]","[IN_I]","1e-3",0.001,false],[false,"circular mil","[cml_i]","[CML_I]","area",5.067074790974979e-10,[2,0,0,0,0,0,0],"circ.mil","intcust",false,null,null,1,false,false,0,"circular mils; cml I; international","UCUM","Area","Clinical","","[pi]/4.[mil_i]2","[PI]/4.[MIL_I]2","1",1,false],[false,"hand","[hd_i]","[HD_I]","height of horses",0.10160000000000001,[1,0,0,0,0,0,0],"hd","intcust",false,null,null,1,false,false,0,"hands; international","UCUM","Len","Nonclinical","used to measure horse height","[in_i]","[IN_I]","4",4,false],[false,"foot - US","[ft_us]","[FT_US]","length",0.3048006096012192,[1,0,0,0,0,0,0],"ftus","us-lengths",false,null,null,1,false,false,0,"US foot; foot US; us ft; ft us; height; visual distance; feet","UCUM","Len","Obsolete","Better to use [ft_i] which refers to the length used worldwide, including in the US; [ft_us] may be confused with land survey units. ","m/3937","M/3937","1200",1200,false],[false,"yard - US","[yd_us]","[YD_US]","length",0.9144018288036575,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US yards; us yds; distance","UCUM","Len; Nrat","Obsolete","Better to use [yd_i] which refers to the length used worldwide, including in the US; [yd_us] refers to unit used in land surveys in the US","[ft_us]","[FT_US]","3",3,false],[false,"inch - US","[in_us]","[IN_US]","length",0.0254000508001016,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US inches; in us; us in; inch US","UCUM","Len","Obsolete","Better to use [in_i] which refers to the length used worldwide, including in the US","[ft_us]/12","[FT_US]/12","1",1,false],[false,"rod - US","[rd_us]","[RD_US]","length",5.029210058420117,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US rod; US rods; rd US; US rd","UCUM","Len","Obsolete","","[ft_us]","[FT_US]","16.5",16.5,false],[false,"Gunter\'s chain - US","[ch_us]","[CH_US]","length",20.116840233680467,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"surveyor\'s chain; Surveyor\'s chain USA; Gunter’s measurement; surveyor’s measurement; Gunter\'s Chain USA","UCUM","Len","Obsolete","historical unit used for land survey used only in the US","[rd_us]","[RD_US]","4",4,false],[false,"link for Gunter\'s chain - US","[lk_us]","[LK_US]","length",0.20116840233680466,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"Links for Gunter\'s Chain USA","UCUM","Len","Obsolete","","[ch_us]/100","[CH_US]/100","1",1,false],[false,"Ramden\'s chain - US","[rch_us]","[RCH_US]","length",30.480060960121918,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"Ramsden\'s chain; engineer\'s chains","UCUM","Len","Obsolete","distance measuring device used for land survey","[ft_us]","[FT_US]","100",100,false],[false,"link for Ramden\'s chain - US","[rlk_us]","[RLK_US]","length",0.3048006096012192,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"links for Ramsden\'s chain","UCUM","Len","Obsolete","","[rch_us]/100","[RCH_US]/100","1",1,false],[false,"fathom - US","[fth_us]","[FTH_US]","length",1.828803657607315,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US fathoms; fathom USA; fth us","UCUM","Len","Obsolete","same length as the international fathom - better to use international fathom ([fth_i])","[ft_us]","[FT_US]","6",6,false],[false,"furlong - US","[fur_us]","[FUR_US]","length",201.16840233680466,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"US furlongs; fur us","UCUM","Len","Nonclinical","distance unit in horse racing","[rd_us]","[RD_US]","40",40,false],[false,"mile - US","[mi_us]","[MI_US]","length",1609.3472186944373,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"U.S. Survey Miles; US statute miles; survey mi; US mi; distance","UCUM","Len","Nonclinical","Better to use [mi_i] which refers to the length used worldwide, including in the US","[fur_us]","[FUR_US]","8",8,false],[false,"acre - US","[acr_us]","[ACR_US]","area",4046.872609874252,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"Acre USA Survey; Acre USA; survey acres","UCUM","Area","Nonclinical","an older unit based on pre 1959 US statute lengths that is still sometimes used in the US only for land survey purposes. ","[rd_us]2","[RD_US]2","160",160,false],[false,"square rod - US","[srd_us]","[SRD_US]","area",25.292953811714074,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"rod2; rod^2; sq. rod; rods squared","UCUM","Area","Nonclinical","Used only in the US to measure land area, based on US statute land survey length units","[rd_us]2","[RD_US]2","1",1,false],[false,"square mile - US","[smi_us]","[SMI_US]","area",2589998.470319521,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"mi2; mi^2; sq mi; miles squared","UCUM","Area","Nonclinical","historical unit used only in the US for land survey purposes (based on the US survey mile), not the internationally recognized [mi_i]","[mi_us]2","[MI_US]2","1",1,false],[false,"section","[sct]","[SCT]","area",2589998.470319521,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"sct; sections","UCUM","Area","Nonclinical","tract of land approximately equal to 1 mile square containing 640 acres","[mi_us]2","[MI_US]2","1",1,false],[false,"township","[twp]","[TWP]","area",93239944.93150276,[2,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"twp; townships","UCUM","Area","Nonclinical","land measurement equal to 6 mile square","[sct]","[SCT]","36",36,false],[false,"mil - US","[mil_us]","[MIL_US]","length",0.0000254000508001016,[1,0,0,0,0,0,0],null,"us-lengths",false,null,null,1,false,false,0,"thou, thousandth; mils","UCUM","Len","Obsolete","better to use [mil_i] which is based on the internationally recognized inch","[in_us]","[IN_US]","1e-3",0.001,false],[false,"inch - British","[in_br]","[IN_BR]","length",0.025399980000000003,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"imperial inches; imp in; br in; british inches","UCUM","Len","Obsolete","","cm","CM","2.539998",2.539998,false],[false,"foot - British","[ft_br]","[FT_BR]","length",0.30479976000000003,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British Foot; Imperial Foot; feet; imp fts; br fts","UCUM","Len","Obsolete","","[in_br]","[IN_BR]","12",12,false],[false,"rod - British","[rd_br]","[RD_BR]","length",5.02919604,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British rods; br rd","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","16.5",16.5,false],[false,"Gunter\'s chain - British","[ch_br]","[CH_BR]","length",20.11678416,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"Gunter\'s Chain British; Gunters Chain British; Surveyor\'s Chain British","UCUM","Len","Obsolete","historical unit used for land survey used only in Great Britain","[rd_br]","[RD_BR]","4",4,false],[false,"link for Gunter\'s chain - British","[lk_br]","[LK_BR]","length",0.2011678416,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"Links for Gunter\'s Chain British","UCUM","Len","Obsolete","","[ch_br]/100","[CH_BR]/100","1",1,false],[false,"fathom - British","[fth_br]","[FTH_BR]","length",1.82879856,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British fathoms; imperial fathoms; br fth; imp fth","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","6",6,false],[false,"pace - British","[pc_br]","[PC_BR]","length",0.7619994000000001,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British paces; br pc","UCUM","Len","Nonclinical","traditional unit of length equal to 152.4 centimeters, or 1.52 meter. ","[ft_br]","[FT_BR]","2.5",2.5,false],[false,"yard - British","[yd_br]","[YD_BR]","length",0.91439928,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British yards; Br yds; distance","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","3",3,false],[false,"mile - British","[mi_br]","[MI_BR]","length",1609.3427328000002,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"imperial miles; British miles; English statute miles; imp mi, br mi","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","5280",5280,false],[false,"nautical mile - British","[nmi_br]","[NMI_BR]","length",1853.1825408000002,[1,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British nautical miles; Imperial nautical miles; Admiralty miles; n.m. br; imp nm","UCUM","Len","Obsolete","","[ft_br]","[FT_BR]","6080",6080,false],[false,"knot - British","[kn_br]","[KN_BR]","velocity",0.5147729280000001,[1,-1,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"British knots; kn br; kt","UCUM","Vel","Obsolete","based on obsolete British nautical mile ","[nmi_br]/h","[NMI_BR]/H","1",1,false],[false,"acre","[acr_br]","[ACR_BR]","area",4046.850049400269,[2,0,0,0,0,0,0],null,"brit-length",false,null,null,1,false,false,0,"Imperial acres; British; a; ac; ar; acr","UCUM","Area","Nonclinical","the standard unit for acre used in the US and internationally","[yd_br]2","[YD_BR]2","4840",4840,false],[false,"gallon - US","[gal_us]","[GAL_US]","fluid volume",0.0037854117840000006,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US gallons; US liquid gallon; gal us; Queen Anne\'s wine gallon","UCUM","Vol","Nonclinical","only gallon unit used in the US; [gal_us] is only used in some other countries in South American and Africa to measure gasoline volume","[in_i]3","[IN_I]3","231",231,false],[false,"barrel - US","[bbl_us]","[BBL_US]","fluid volume",0.158987294928,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"bbl","UCUM","Vol","Nonclinical","[bbl_us] is the standard unit for oil barrel, which is a unit only used in the US to measure the volume oil. ","[gal_us]","[GAL_US]","42",42,false],[false,"quart - US","[qt_us]","[QT_US]","fluid volume",0.0009463529460000001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US quarts; us qts","UCUM","Vol","Clinical","Used only in the US","[gal_us]/4","[GAL_US]/4","1",1,false],[false,"pint - US","[pt_us]","[PT_US]","fluid volume",0.00047317647300000007,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US pints; pint US; liquid pint; pt us; us pt","UCUM","Vol","Clinical","Used only in the US","[qt_us]/2","[QT_US]/2","1",1,false],[false,"gill - US","[gil_us]","[GIL_US]","fluid volume",0.00011829411825000002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US gills; gil us","UCUM","Vol","Nonclinical","only used in the context of alcohol volume in the US","[pt_us]/4","[PT_US]/4","1",1,false],[false,"fluid ounce - US","[foz_us]","[FOZ_US]","fluid volume",0.000029573529562500005,[3,0,0,0,0,0,0],"oz fl","us-volumes",false,null,null,1,false,false,0,"US fluid ounces; fl ozs; FO; fl. oz.; foz us","UCUM","Vol","Clinical","unit used only in the US","[gil_us]/4","[GIL_US]/4","1",1,false],[false,"fluid dram - US","[fdr_us]","[FDR_US]","fluid volume",0.0000036966911953125006,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US fluid drams; fdr us","UCUM","Vol","Nonclinical","equal to 1/8 US fluid ounce = 3.69 mL; used informally to mean small amount of liquor, especially Scotch whiskey","[foz_us]/8","[FOZ_US]/8","1",1,false],[false,"minim - US","[min_us]","[MIN_US]","fluid volume",6.1611519921875e-8,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"min US; US min; ♏ US","UCUM","Vol","Obsolete","","[fdr_us]/60","[FDR_US]/60","1",1,false],[false,"cord - US","[crd_us]","[CRD_US]","fluid volume",3.6245563637760005,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US cord; US cords; crd us; us crd","UCUM","Vol","Nonclinical","unit of measure of dry volume used to measure firewood equal 128 ft3 (the same as international cord [cr_i])","[ft_i]3","[FT_I]3","128",128,false],[false,"bushel - US","[bu_us]","[BU_US]","dry volume",0.03523907016688001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US bushels; US bsh; US bu","UCUM","Vol","Obsolete","Historical unit of dry volume that is rarely used today","[in_i]3","[IN_I]3","2150.42",2150.42,false],[false,"gallon - historical","[gal_wi]","[GAL_WI]","dry volume",0.004404883770860001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"Corn Gallon British; Dry Gallon US; Gallons Historical; Grain Gallon British; Winchester Corn Gallon; historical winchester gallons; wi gal","UCUM","Vol","Obsolete","historical unit of dry volume no longer used","[bu_us]/8","[BU_US]/8","1",1,false],[false,"peck - US","[pk_us]","[PK_US]","dry volume",0.008809767541720002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"US pecks; US pk","UCUM","Vol","Nonclinical","unit of dry volume rarely used today (can be used to measure volume of apples)","[bu_us]/4","[BU_US]/4","1",1,false],[false,"dry quart - US","[dqt_us]","[DQT_US]","dry volume",0.0011012209427150002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"dry quarts; dry quart US; US dry quart; dry qt; us dry qt; dqt; dqt us","UCUM","Vol","Nonclinical","historical unit of dry volume only in the US, but is rarely used today","[pk_us]/8","[PK_US]/8","1",1,false],[false,"dry pint - US","[dpt_us]","[DPT_US]","dry volume",0.0005506104713575001,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"dry pints; dry pint US; US dry pint; dry pt; dpt; dpt us","UCUM","Vol","Nonclinical","historical unit of dry volume only in the US, but is rarely used today","[dqt_us]/2","[DQT_US]/2","1",1,false],[false,"tablespoon - US","[tbs_us]","[TBS_US]","volume",0.000014786764781250002,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"Tbs; tbsp; tbs us; US tablespoons","UCUM","Vol","Clinical","unit defined as 0.5 US fluid ounces or 3 teaspoons - used only in the US. See [tbs_m] for the unit used internationally and in the US for nutrional labelling. ","[foz_us]/2","[FOZ_US]/2","1",1,false],[false,"teaspoon - US","[tsp_us]","[TSP_US]","volume",0.0000049289215937500005,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"tsp; t; US teaspoons","UCUM","Vol","Nonclinical","unit defined as 1/6 US fluid ounces - used only in the US. See [tsp_m] for the unit used internationally and in the US for nutrional labelling. ","[tbs_us]/3","[TBS_US]/3","1",1,false],[false,"cup - US customary","[cup_us]","[CUP_US]","volume",0.00023658823650000004,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"cup us; us cups","UCUM","Vol","Nonclinical","Unit defined as 1/2 US pint or 16 US tablespoons ≈ 236.59 mL, which is not the standard unit defined by the FDA of 240 mL - see [cup_m] (metric cup)","[tbs_us]","[TBS_US]","16",16,false],[false,"fluid ounce - metric","[foz_m]","[FOZ_M]","fluid volume",0.000029999999999999997,[3,0,0,0,0,0,0],"oz fl","us-volumes",false,null,null,1,false,false,0,"metric fluid ounces; fozs m; fl ozs m","UCUM","Vol","Clinical","unit used only in the US for nutritional labelling, as set by the FDA","mL","ML","30",30,false],[false,"cup - US legal","[cup_m]","[CUP_M]","volume",0.00023999999999999998,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"cup m; metric cups","UCUM","Vol","Clinical","standard unit equal to 240 mL used in the US for nutritional labelling, as defined by the FDA. Note that this is different from the US customary cup (236.59 mL) and the metric cup used in Commonwealth nations (250 mL).","mL","ML","240",240,false],[false,"teaspoon - metric","[tsp_m]","[TSP_M]","volume",0.0000049999999999999996,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"tsp; t; metric teaspoons","UCUM","Vol","Clinical","standard unit used in the US and internationally","mL","mL","5",5,false],[false,"tablespoon - metric","[tbs_m]","[TBS_M]","volume",0.000014999999999999999,[3,0,0,0,0,0,0],null,"us-volumes",false,null,null,1,false,false,0,"metric tablespoons; Tbs; tbsp; T; tbs m","UCUM","Vol","Clinical","standard unit used in the US and internationally","mL","mL","15",15,false],[false,"gallon- British","[gal_br]","[GAL_BR]","volume",0.004546090000000001,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"imperial gallons, UK gallons; British gallons; br gal; imp gal","UCUM","Vol","Nonclinical","Used only in Great Britain and other Commonwealth countries","l","L","4.54609",4.54609,false],[false,"peck - British","[pk_br]","[PK_BR]","volume",0.009092180000000002,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"imperial pecks; British pecks; br pk; imp pk","UCUM","Vol","Nonclinical","unit of dry volume rarely used today (can be used to measure volume of apples)","[gal_br]","[GAL_BR]","2",2,false],[false,"bushel - British","[bu_br]","[BU_BR]","volume",0.03636872000000001,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British bushels; imperial; br bsh; br bu; imp","UCUM","Vol","Obsolete","Historical unit of dry volume that is rarely used today","[pk_br]","[PK_BR]","4",4,false],[false,"quart - British","[qt_br]","[QT_BR]","volume",0.0011365225000000002,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British quarts; imperial quarts; br qts","UCUM","Vol","Clinical","Used only in Great Britain and other Commonwealth countries","[gal_br]/4","[GAL_BR]/4","1",1,false],[false,"pint - British","[pt_br]","[PT_BR]","volume",0.0005682612500000001,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British pints; imperial pints; pt br; br pt; imp pt; pt imp","UCUM","Vol","Clinical","Used only in Great Britain and other Commonwealth countries","[qt_br]/2","[QT_BR]/2","1",1,false],[false,"gill - British","[gil_br]","[GIL_BR]","volume",0.00014206531250000003,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"imperial gills; British gills; imp gill, br gill","UCUM","Vol","Nonclinical","only used in the context of alcohol volume in Great Britain","[pt_br]/4","[PT_BR]/4","1",1,false],[false,"fluid ounce - British","[foz_br]","[FOZ_BR]","volume",0.000028413062500000005,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British fluid ounces; Imperial fluid ounces; br fozs; imp fozs; br fl ozs","UCUM","Vol","Clinical","Used only in Great Britain and other Commonwealth countries","[gil_br]/5","[GIL_BR]/5","1",1,false],[false,"fluid dram - British","[fdr_br]","[FDR_BR]","volume",0.0000035516328125000006,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"British fluid drams; fdr br","UCUM","Vol","Nonclinical","equal to 1/8 Imperial fluid ounce = 3.55 mL; used informally to mean small amount of liquor, especially Scotch whiskey","[foz_br]/8","[FOZ_BR]/8","1",1,false],[false,"minim - British","[min_br]","[MIN_BR]","volume",5.919388020833334e-8,[3,0,0,0,0,0,0],null,"brit-volumes",false,null,null,1,false,false,0,"min br; br min; ♏ br","UCUM","Vol","Obsolete","","[fdr_br]/60","[FDR_BR]/60","1",1,false],[false,"grain","[gr]","[GR]","mass",0.06479891,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"gr; grains","UCUM","Mass","Nonclinical","an apothecary measure of mass rarely used today","mg","MG","64.79891",64.79891,false],[false,"pound","[lb_av]","[LB_AV]","mass",453.59237,[0,0,1,0,0,0,0],"lb","avoirdupois",false,null,null,1,false,false,0,"avoirdupois pounds, international pounds; av lbs; pounds","UCUM","Mass","Clinical","standard unit used in the US and internationally","[gr]","[GR]","7000",7000,false],[false,"pound force - US","[lbf_av]","[LBF_AV]","force",4448.2216152605,[1,-2,1,0,0,0,0],"lbf","const",false,null,null,1,false,false,0,"lbfs; US lbf; US pound forces","UCUM","Force","Clinical","only rarely needed in health care - see [lb_av] which is the more common unit to express weight","[lb_av].[g]","[LB_AV].[G]","1",1,false],[false,"ounce","[oz_av]","[OZ_AV]","mass",28.349523125,[0,0,1,0,0,0,0],"oz","avoirdupois",false,null,null,1,false,false,0,"ounces; international ounces; avoirdupois ounces; av ozs","UCUM","Mass","Clinical","standard unit used in the US and internationally","[lb_av]/16","[LB_AV]/16","1",1,false],[false,"Dram mass unit","[dr_av]","[DR_AV]","mass",1.7718451953125,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"Dram; drams avoirdupois; avoidupois dram; international dram","UCUM","Mass","Clinical","unit from the avoirdupois system, which is used in the US and internationally","[oz_av]/16","[OZ_AV]/16","1",1,false],[false,"short hundredweight","[scwt_av]","[SCWT_AV]","mass",45359.237,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"hundredweights; s cwt; scwt; avoirdupois","UCUM","Mass","Nonclinical","Used only in the US to equal 100 pounds","[lb_av]","[LB_AV]","100",100,false],[false,"long hundredweight","[lcwt_av]","[LCWT_AV]","mass",50802.345440000005,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"imperial hundredweights; imp cwt; lcwt; avoirdupois","UCUM","Mass","Obsolete","","[lb_av]","[LB_AV]","112",112,false],[false,"short ton - US","[ston_av]","[STON_AV]","mass",907184.74,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"ton; US tons; avoirdupois tons","UCUM","Mass","Clinical","Used only in the US","[scwt_av]","[SCWT_AV]","20",20,false],[false,"long ton - British","[lton_av]","[LTON_AV]","mass",1016046.9088000001,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"imperial tons; weight tons; British long tons; long ton avoirdupois","UCUM","Mass","Nonclinical","Used only in Great Britain and other Commonwealth countries","[lcwt_av]","[LCWT_AV]","20",20,false],[false,"stone - British","[stone_av]","[STONE_AV]","mass",6350.293180000001,[0,0,1,0,0,0,0],null,"avoirdupois",false,null,null,1,false,false,0,"British stones; avoirdupois","UCUM","Mass","Nonclinical","Used primarily in the UK and Ireland to measure body weight","[lb_av]","[LB_AV]","14",14,false],[false,"pennyweight - troy","[pwt_tr]","[PWT_TR]","mass",1.5551738400000001,[0,0,1,0,0,0,0],null,"troy",false,null,null,1,false,false,0,"dwt; denarius weights","UCUM","Mass","Obsolete","historical unit used to measure mass and cost of precious metals","[gr]","[GR]","24",24,false],[false,"ounce - troy","[oz_tr]","[OZ_TR]","mass",31.103476800000003,[0,0,1,0,0,0,0],null,"troy",false,null,null,1,false,false,0,"troy ounces; tr ozs","UCUM","Mass","Nonclinical","unit of mass for precious metals and gemstones only","[pwt_tr]","[PWT_TR]","20",20,false],[false,"pound - troy","[lb_tr]","[LB_TR]","mass",373.2417216,[0,0,1,0,0,0,0],null,"troy",false,null,null,1,false,false,0,"troy pounds; tr lbs","UCUM","Mass","Nonclinical","only used for weighing precious metals","[oz_tr]","[OZ_TR]","12",12,false],[false,"scruple","[sc_ap]","[SC_AP]","mass",1.2959782,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"scruples; sc ap","UCUM","Mass","Obsolete","","[gr]","[GR]","20",20,false],[false,"dram - apothecary","[dr_ap]","[DR_AP]","mass",3.8879346,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"ʒ; drachm; apothecaries drams; dr ap; dram ap","UCUM","Mass","Nonclinical","unit still used in the US occasionally to measure amount of drugs in pharmacies","[sc_ap]","[SC_AP]","3",3,false],[false,"ounce - apothecary","[oz_ap]","[OZ_AP]","mass",31.1034768,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"apothecary ounces; oz ap; ap ozs; ozs ap","UCUM","Mass","Obsolete","","[dr_ap]","[DR_AP]","8",8,false],[false,"pound - apothecary","[lb_ap]","[LB_AP]","mass",373.2417216,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"apothecary pounds; apothecaries pounds; ap lb; lb ap; ap lbs; lbs ap","UCUM","Mass","Obsolete","","[oz_ap]","[OZ_AP]","12",12,false],[false,"ounce - metric","[oz_m]","[OZ_M]","mass",28,[0,0,1,0,0,0,0],null,"apoth",false,null,null,1,false,false,0,"metric ounces; m ozs","UCUM","Mass","Clinical","see [oz_av] (the avoirdupois ounce) for the standard ounce used internationally; [oz_m] is equal to 28 grams and is based on the apothecaries\' system of mass units which is used in some US pharmacies. ","g","g","28",28,false],[false,"line","[lne]","[LNE]","length",0.002116666666666667,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"British lines; br L; L; l","UCUM","Len","Obsolete","","[in_i]/12","[IN_I]/12","1",1,false],[false,"point (typography)","[pnt]","[PNT]","length",0.0003527777777777778,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"DTP points; desktop publishing point; pt; pnt","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[lne]/6","[LNE]/6","1",1,false],[false,"pica (typography)","[pca]","[PCA]","length",0.004233333333333334,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"picas","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[pnt]","[PNT]","12",12,false],[false,"Printer\'s point (typography)","[pnt_pr]","[PNT_PR]","length",0.00035145980000000004,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"pnt pr","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[in_i]","[IN_I]","0.013837",0.013837,false],[false,"Printer\'s pica (typography)","[pca_pr]","[PCA_PR]","length",0.004217517600000001,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"pca pr; Printer\'s picas","UCUM","Len","Nonclinical","typography unit for typesetter\'s length","[pnt_pr]","[PNT_PR]","12",12,false],[false,"pied","[pied]","[PIED]","length",0.3248,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"pieds du roi; Paris foot; royal; French; feet","UCUM","Len","Obsolete","","cm","CM","32.48",32.48,false],[false,"pouce","[pouce]","[POUCE]","length",0.027066666666666666,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"historical French inches; French royal inches","UCUM","Len","Obsolete","","[pied]/12","[PIED]/12","1",1,false],[false,"ligne","[ligne]","[LIGNE]","length",0.0022555555555555554,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"Paris lines; lignes","UCUM","Len","Obsolete","","[pouce]/12","[POUCE]/12","1",1,false],[false,"didot","[didot]","[DIDOT]","length",0.0003759259259259259,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"Didot point; dd; Didots Point; didots; points","UCUM","Len","Obsolete","typography unit for typesetter\'s length","[ligne]/6","[LIGNE]/6","1",1,false],[false,"cicero","[cicero]","[CICERO]","length",0.004511111111111111,[1,0,0,0,0,0,0],null,"typeset",false,null,null,1,false,false,0,"Didot\'s pica; ciceros; picas","UCUM","Len","Obsolete","typography unit for typesetter\'s length","[didot]","[DIDOT]","12",12,false],[false,"degrees Fahrenheit","[degF]","[DEGF]","temperature",0.5555555555555556,[0,0,0,0,1,0,0],"°F","heat",false,null,"degF",1,true,false,0,"°F; deg F","UCUM","Temp","Clinical","","K",null,null,0.5555555555555556,false],[false,"degrees Rankine","[degR]","[degR]","temperature",0.5555555555555556,[0,0,0,0,1,0,0],"°R","heat",false,null,null,1,false,false,0,"°R; °Ra; Rankine","UCUM","Temp","Obsolete","Replaced by Kelvin","K/9","K/9","5",5,false],[false,"degrees Réaumur","[degRe]","[degRe]","temperature",1.25,[0,0,0,0,1,0,0],"°Ré","heat",false,null,"degRe",1,true,false,0,"°Ré, °Re, °r; Réaumur; degree Reaumur; Reaumur","UCUM","Temp","Obsolete","replaced by Celsius","K",null,null,1.25,false],[false,"calorie at 15°C","cal_[15]","CAL_[15]","energy",4185.8,[2,-2,1,0,0,0,0],"cal15°C","heat",true,null,null,1,false,false,0,"calorie 15 C; cals 15 C; calories at 15 C","UCUM","Enrg","Nonclinical","equal to 4.1855 joules; calorie most often used in engineering","J","J","4.18580",4.1858,false],[false,"calorie at 20°C","cal_[20]","CAL_[20]","energy",4181.9,[2,-2,1,0,0,0,0],"cal20°C","heat",true,null,null,1,false,false,0,"calorie 20 C; cal 20 C; calories at 20 C","UCUM","Enrg","Clinical","equal to 4.18190 joules. ","J","J","4.18190",4.1819,false],[false,"mean calorie","cal_m","CAL_M","energy",4190.0199999999995,[2,-2,1,0,0,0,0],"calm","heat",true,null,null,1,false,false,0,"mean cals; mean calories","UCUM","Enrg","Clinical","equal to 4.19002 joules. ","J","J","4.19002",4.19002,false],[false,"international table calorie","cal_IT","CAL_IT","energy",4186.8,[2,-2,1,0,0,0,0],"calIT","heat",true,null,null,1,false,false,0,"calories IT; IT cals; international steam table calories","UCUM","Enrg","Nonclinical","used in engineering steam tables and defined as 1/860 international watt-hour; equal to 4.1868 joules","J","J","4.1868",4.1868,false],[false,"thermochemical calorie","cal_th","CAL_TH","energy",4184,[2,-2,1,0,0,0,0],"calth","heat",true,null,null,1,false,false,0,"thermochemical calories; th cals","UCUM","Enrg","Clinical","equal to 4.184 joules; used as the unit in medicine and biochemistry (equal to cal)","J","J","4.184",4.184,false],[false,"calorie","cal","CAL","energy",4184,[2,-2,1,0,0,0,0],"cal","heat",true,null,null,1,false,false,0,"gram calories; small calories","UCUM","Enrg","Clinical","equal to 4.184 joules (the same value as the thermochemical calorie, which is the most common calorie used in medicine and biochemistry)","cal_th","CAL_TH","1",1,false],[false,"nutrition label Calories","[Cal]","[CAL]","energy",4184000,[2,-2,1,0,0,0,0],"Cal","heat",false,null,null,1,false,false,0,"food calories; Cal; kcal","UCUM","Eng","Clinical","","kcal_th","KCAL_TH","1",1,false],[false,"British thermal unit at 39°F","[Btu_39]","[BTU_39]","energy",1059670,[2,-2,1,0,0,0,0],"Btu39°F","heat",false,null,null,1,false,false,0,"BTU 39F; BTU 39 F; B.T.U. 39 F; B.Th.U. 39 F; BThU 39 F; British thermal units","UCUM","Eng","Nonclinical","equal to 1.05967 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05967",1.05967,false],[false,"British thermal unit at 59°F","[Btu_59]","[BTU_59]","energy",1054800,[2,-2,1,0,0,0,0],"Btu59°F","heat",false,null,null,1,false,false,0,"BTU 59 F; BTU 59F; B.T.U. 59 F; B.Th.U. 59 F; BThU 59F; British thermal units","UCUM","Eng","Nonclinical","equal to 1.05480 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05480",1.0548,false],[false,"British thermal unit at 60°F","[Btu_60]","[BTU_60]","energy",1054680,[2,-2,1,0,0,0,0],"Btu60°F","heat",false,null,null,1,false,false,0,"BTU 60 F; BTU 60F; B.T.U. 60 F; B.Th.U. 60 F; BThU 60 F; British thermal units 60 F","UCUM","Eng","Nonclinical","equal to 1.05468 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05468",1.05468,false],[false,"mean British thermal unit","[Btu_m]","[BTU_M]","energy",1055870,[2,-2,1,0,0,0,0],"Btum","heat",false,null,null,1,false,false,0,"BTU mean; B.T.U. mean; B.Th.U. mean; BThU mean; British thermal units mean; ","UCUM","Eng","Nonclinical","equal to 1.05587 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05587",1.05587,false],[false,"international table British thermal unit","[Btu_IT]","[BTU_IT]","energy",1055055.85262,[2,-2,1,0,0,0,0],"BtuIT","heat",false,null,null,1,false,false,0,"BTU IT; B.T.U. IT; B.Th.U. IT; BThU IT; British thermal units IT","UCUM","Eng","Nonclinical","equal to 1.055 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.05505585262",1.05505585262,false],[false,"thermochemical British thermal unit","[Btu_th]","[BTU_TH]","energy",1054350,[2,-2,1,0,0,0,0],"Btuth","heat",false,null,null,1,false,false,0,"BTU Th; B.T.U. Th; B.Th.U. Th; BThU Th; thermochemical British thermal units","UCUM","Eng","Nonclinical","equal to 1.054350 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","kJ","kJ","1.054350",1.05435,false],[false,"British thermal unit","[Btu]","[BTU]","energy",1054350,[2,-2,1,0,0,0,0],"btu","heat",false,null,null,1,false,false,0,"BTU; B.T.U. ; B.Th.U.; BThU; British thermal units","UCUM","Eng","Nonclinical","equal to the thermochemical British thermal unit equal to 1.054350 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries","[Btu_th]","[BTU_TH]","1",1,false],[false,"horsepower - mechanical","[HP]","[HP]","power",745699.8715822703,[2,-3,1,0,0,0,0],null,"heat",false,null,null,1,false,false,0,"imperial horsepowers","UCUM","EngRat","Nonclinical","refers to mechanical horsepower, which is unit used to measure engine power primarily in the US. ","[ft_i].[lbf_av]/s","[FT_I].[LBF_AV]/S","550",550,false],[false,"tex","tex","TEX","linear mass density (of textile thread)",0.001,[-1,0,1,0,0,0,0],"tex","heat",true,null,null,1,false,false,0,"linear mass density; texes","UCUM","","Clinical","unit of linear mass density for fibers equal to gram per 1000 meters","g/km","G/KM","1",1,false],[false,"Denier (linear mass density)","[den]","[DEN]","linear mass density (of textile thread)",0.0001111111111111111,[-1,0,1,0,0,0,0],"den","heat",false,null,null,1,false,false,0,"den; deniers","UCUM","","Nonclinical","equal to the mass in grams per 9000 meters of the fiber (1 denier = 1 strand of silk)","g/9/km","G/9/KM","1",1,false],[false,"meter of water column","m[H2O]","M[H2O]","pressure",9806650,[-1,-2,1,0,0,0,0],"m HO2","clinical",true,null,null,1,false,false,0,"mH2O; m H2O; meters of water column; metres; pressure","UCUM","Pres","Clinical","","kPa","KPAL","980665e-5",9.80665,false],[false,"meter of mercury column","m[Hg]","M[HG]","pressure",133322000,[-1,-2,1,0,0,0,0],"m Hg","clinical",true,null,null,1,false,false,0,"mHg; m Hg; meters of mercury column; metres; pressure","UCUM","Pres","Clinical","","kPa","KPAL","133.3220",133.322,false],[false,"inch of water column","[in_i\'H2O]","[IN_I\'H2O]","pressure",249088.91000000003,[-1,-2,1,0,0,0,0],"in HO2","clinical",false,null,null,1,false,false,0,"inches WC; inAq; in H2O; inch of water gauge; iwg; pressure","UCUM","Pres","Clinical","unit of pressure, especially in respiratory and ventilation care","m[H2O].[in_i]/m","M[H2O].[IN_I]/M","1",1,false],[false,"inch of mercury column","[in_i\'Hg]","[IN_I\'HG]","pressure",3386378.8000000003,[-1,-2,1,0,0,0,0],"in Hg","clinical",false,null,null,1,false,false,0,"inHg; in Hg; pressure; inches","UCUM","Pres","Clinical","unit of pressure used in US to measure barometric pressure and occasionally blood pressure (see mm[Hg] for unit used internationally)","m[Hg].[in_i]/m","M[HG].[IN_I]/M","1",1,false],[false,"peripheral vascular resistance unit","[PRU]","[PRU]","fluid resistance",133322000000,[-4,-1,1,0,0,0,0],"P.R.U.","clinical",false,null,null,1,false,false,0,"peripheral vascular resistance units; peripheral resistance unit; peripheral resistance units; PRU","UCUM","FldResist","Clinical","used to assess blood flow in the capillaries; equal to 1 mmH.min/mL = 133.3 Pa·min/mL","mm[Hg].s/ml","MM[HG].S/ML","1",1,false],[false,"Wood unit","[wood\'U]","[WOOD\'U]","fluid resistance",7999320000,[-4,-1,1,0,0,0,0],"Wood U.","clinical",false,null,null,1,false,false,0,"hybrid reference units; HRU; mmHg.min/L; vascular resistance","UCUM","Pres","Clinical","simplified unit of measurement for for measuring pulmonary vascular resistance that uses pressure; equal to mmHg.min/L","mm[Hg].min/L","MM[HG].MIN/L","1",1,false],[false,"diopter (lens)","[diop]","[DIOP]","refraction of a lens",1,[1,0,0,0,0,0,0],"dpt","clinical",false,null,"inv",1,false,false,0,"diopters; diop; dioptre; dpt; refractive power","UCUM","InvLen","Clinical","unit of optical power of lens represented by inverse meters (m^-1)","m","/M","1",1,false],[false,"prism diopter (magnifying power)","[p\'diop]","[P\'DIOP]","refraction of a prism",1,[0,0,0,1,0,0,0],"PD","clinical",false,null,"tanTimes100",1,true,false,0,"diopters; dioptres; p diops; pdiop; dpt; pdptr; Δ; cm/m; centimeter per meter; centimetre; metre","UCUM","Angle","Clinical","unit for prism correction in eyeglass prescriptions","rad",null,null,1,false],[false,"percent of slope","%[slope]","%[SLOPE]","slope",0.017453292519943295,[0,0,0,1,0,0,0],"%","clinical",false,null,"100tan",1,true,false,0,"% slope; %slope; percents slopes","UCUM","VelFr; ElpotRatFr; VelRtoFr; AccelFr","Clinical","","deg",null,null,1,false],[false,"mesh","[mesh_i]","[MESH_I]","lineic number",0.025400000000000002,[1,0,0,0,0,0,0],null,"clinical",false,null,"inv",1,false,false,0,"meshes","UCUM","NLen (lineic number)","Clinical","traditional unit of length defined as the number of strands or particles per inch","[in_i]","/[IN_I]","1",1,false],[false,"French (catheter gauge) ","[Ch]","[CH]","gauge of catheters",0.0003333333333333333,[1,0,0,0,0,0,0],"Ch","clinical",false,null,null,1,false,false,0,"Charrières, French scales; French gauges; Fr, Fg, Ga, FR, Ch","UCUM","Len; Circ; Diam","Clinical","","mm/3","MM/3","1",1,false],[false,"drop - metric (1/20 mL)","[drp]","[DRP]","volume",5e-8,[3,0,0,0,0,0,0],"drp","clinical",false,null,null,1,false,false,0,"drop dosing units; metric drops; gtt","UCUM","Vol","Clinical","standard unit used in the US and internationally for clinical medicine but note that although [drp] is defined as 1/20 milliliter, in practice, drop sizes will vary due to external factors","ml/20","ML/20","1",1,false],[false,"Hounsfield unit","[hnsf\'U]","[HNSF\'U]","x-ray attenuation",1,[0,0,0,0,0,0,0],"HF","clinical",false,null,null,1,false,false,0,"HU; units","UCUM","","Clinical","used to measure X-ray attenuation, especially in CT scans.","1","1","1",1,false],[false,"Metabolic Equivalent of Task ","[MET]","[MET]","metabolic cost of physical activity",5.833333333333334e-11,[3,-1,-1,0,0,0,0],"MET","clinical",false,null,null,1,false,false,0,"metabolic equivalents","UCUM","RelEngRat","Clinical","unit used to measure rate of energy expenditure per power in treadmill and other functional tests","mL/min/kg","ML/MIN/KG","3.5",3.5,false],[false,"homeopathic potency of decimal series (retired)","[hp\'_X]","[HP\'_X]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"X","clinical",false,null,"hpX",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of centesimal series (retired)","[hp\'_C]","[HP\'_C]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"C","clinical",false,null,"hpC",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of millesimal series (retired)","[hp\'_M]","[HP\'_M]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"M","clinical",false,null,"hpM",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of quintamillesimal series (retired)","[hp\'_Q]","[HP\'_Q]","homeopathic potency (retired)",1,[0,0,0,0,0,0,0],"Q","clinical",false,null,"hpQ",1,true,false,0,null,"UCUM",null,null,null,"1",null,null,1,false],[false,"homeopathic potency of decimal hahnemannian series","[hp_X]","[HP_X]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"X","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of centesimal hahnemannian series","[hp_C]","[HP_C]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"C","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of millesimal hahnemannian series","[hp_M]","[HP_M]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"M","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of quintamillesimal hahnemannian series","[hp_Q]","[HP_Q]","homeopathic potency (Hahnemann)",1,[0,0,0,0,0,0,0],"Q","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of decimal korsakovian series","[kp_X]","[KP_X]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"X","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of centesimal korsakovian series","[kp_C]","[KP_C]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"C","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of millesimal korsakovian series","[kp_M]","[KP_M]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"M","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"homeopathic potency of quintamillesimal korsakovian series","[kp_Q]","[KP_Q]","homeopathic potency (Korsakov)",1,[0,0,0,0,0,0,0],"Q","clinical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"equivalent","eq","EQ","amount of substance",6.0221367e+23,[0,0,0,0,0,0,0],"eq","chemical",true,null,null,1,false,false,1,"equivalents","UCUM","Sub","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"osmole","osm","OSM","amount of substance (dissolved particles)",6.0221367e+23,[0,0,0,0,0,0,0],"osm","chemical",true,null,null,1,false,false,1,"osmoles; osmols","UCUM","Osmol","Clinical","the number of moles of solute that contribute to the osmotic pressure of a solution","mol","MOL","1",1,false],[false,"pH","[pH]","[PH]","acidity",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"pH","chemical",false,null,"pH",1,true,false,0,"pH scale","UCUM","LogCnc","Clinical","Log concentration of H+","mol/l",null,null,1,false],[false,"gram percent","g%","G%","mass concentration",10000,[-3,0,1,0,0,0,0],"g%","chemical",true,null,null,1,false,false,0,"gram %; gram%; grams per deciliter; g/dL; gm per dL; gram percents","UCUM","MCnc","Clinical","equivalent to unit gram per deciliter (g/dL), a unit often used in medical tests to represent solution concentrations","g/dl","G/DL","1",1,false],[false,"Svedberg unit","[S]","[S]","sedimentation coefficient",1e-13,[0,1,0,0,0,0,0],"S","chemical",false,null,null,1,false,false,0,"Sv; 10^-13 seconds; 100 fs; 100 femtoseconds","UCUM","Time","Clinical","unit of time used in measuring particle\'s sedimentation rate, usually after centrifugation. ","s","10*-13.S","1",1e-13,false],[false,"high power field (microscope)","[HPF]","[HPF]","view area in microscope",1,[0,0,0,0,0,0,0],"HPF","chemical",false,null,null,1,false,false,0,"HPF","UCUM","Area","Clinical","area visible under the maximum magnification power of the objective in microscopy (usually 400x)\\n","1","1","1",1,false],[false,"low power field (microscope)","[LPF]","[LPF]","view area in microscope",1,[0,0,0,0,0,0,0],"LPF","chemical",false,null,null,1,false,false,0,"LPF; fields","UCUM","Area","Clinical","area visible under the low magnification of the objective in microscopy (usually 100 x)\\n","1","1","100",100,false],[false,"katal","kat","KAT","catalytic activity",6.0221367e+23,[0,-1,0,0,0,0,0],"kat","chemical",true,null,null,1,false,false,1,"mol/secs; moles per second; mol*sec-1; mol*s-1; mol.s-1; katals; catalytic activity; enzymatic; enzyme units; activities","UCUM","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"enzyme unit","U","U","catalytic activity",10036894500000000,[0,-1,0,0,0,0,0],"U","chemical",true,null,null,1,false,false,1,"micromoles per minute; umol/min; umol per minute; umol min-1; enzymatic activity; enzyme activity","UCUM","CAct","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"international unit - arbitrary","[iU]","[IU]","arbitrary",1,[0,0,0,0,0,0,0],"IU","chemical",true,null,null,1,false,true,0,"international units; IE; F2","UCUM","Arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","1","1","1",1,false],[false,"international unit - arbitrary","[IU]","[IU]","arbitrary",1,[0,0,0,0,0,0,0],"i.U.","chemical",true,null,null,1,false,true,0,"international units; IE; F2","UCUM","Arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"arbitary unit","[arb\'U]","[ARB\'U]","arbitrary",1,[0,0,0,0,0,0,0],"arb. U","chemical",false,null,null,1,false,true,0,"arbitary units; arb units; arbU","UCUM","Arb","Clinical","relative unit of measurement to show the ratio of test measurement to reference measurement","1","1","1",1,false],[false,"United States Pharmacopeia unit","[USP\'U]","[USP\'U]","arbitrary",1,[0,0,0,0,0,0,0],"U.S.P.","chemical",false,null,null,1,false,true,0,"USP U; USP\'U","UCUM","Arb","Clinical","a dose unit to express potency of drugs and vitamins defined by the United States Pharmacopoeia; usually 1 USP = 1 IU","1","1","1",1,false],[false,"GPL unit","[GPL\'U]","[GPL\'U]","biologic activity of anticardiolipin IgG",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"GPL Units; GPL U; IgG anticardiolipin units; IgG Phospholipid","UCUM","ACnc; AMass","Clinical","Units for an antiphospholipid test","1","1","1",1,false],[false,"MPL unit","[MPL\'U]","[MPL\'U]","biologic activity of anticardiolipin IgM",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"MPL units; MPL U; MPL\'U; IgM anticardiolipin units; IgM Phospholipid Units ","UCUM","ACnc","Clinical","units for antiphospholipid test","1","1","1",1,false],[false,"APL unit","[APL\'U]","[APL\'U]","biologic activity of anticardiolipin IgA",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"APL units; APL U; IgA anticardiolipin; IgA Phospholipid; biologic activity of","UCUM","AMass; ACnc","Clinical","Units for an anti phospholipid syndrome test","1","1","1",1,false],[false,"Bethesda unit","[beth\'U]","[BETH\'U]","biologic activity of factor VIII inhibitor",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"BU","UCUM","ACnc","Clinical","measures of blood coagulation inhibitior for many blood factors","1","1","1",1,false],[false,"anti factor Xa unit","[anti\'Xa\'U]","[ANTI\'XA\'U]","biologic activity of factor Xa inhibitor (heparin)",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"units","UCUM","ACnc","Clinical","[anti\'Xa\'U] unit is equivalent to and can be converted to IU/mL. ","1","1","1",1,false],[false,"Todd unit","[todd\'U]","[TODD\'U]","biologic activity antistreptolysin O",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"units","UCUM","InvThres; RtoThres","Clinical","the unit for the results of the testing for antistreptolysin O (ASO)","1","1","1",1,false],[false,"Dye unit","[dye\'U]","[DYE\'U]","biologic activity of amylase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"units","UCUM","CCnc","Obsolete","equivalent to the Somogyi unit, which is an enzyme unit for amylase but better to use U, the standard enzyme unit for measuring catalytic activity","1","1","1",1,false],[false,"Somogyi unit","[smgy\'U]","[SMGY\'U]","biologic activity of amylase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"Somogyi units; smgy U","UCUM","CAct","Clinical","measures the enzymatic activity of amylase in blood serum - better to use base units mg/mL ","1","1","1",1,false],[false,"Bodansky unit","[bdsk\'U]","[BDSK\'U]","biologic activity of phosphatase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"","UCUM","ACnc","Obsolete","Enzyme unit specific to alkaline phosphatase - better to use standard enzyme unit of U","1","1","1",1,false],[false,"King-Armstrong unit","[ka\'U]","[KA\'U]","biologic activity of phosphatase",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"King-Armstrong Units; King units","UCUM","AMass","Obsolete","enzyme units for acid phosphatase - better to use enzyme unit [U]","1","1","1",1,false],[false,"Kunkel unit","[knk\'U]","[KNK\'U]","arbitrary biologic activity",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,null,"UCUM",null,null,null,"1","1","1",1,false],[false,"Mac Lagan unit","[mclg\'U]","[MCLG\'U]","arbitrary biologic activity",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"galactose index; galactose tolerance test; thymol turbidity test unit; mclg U; units; indexes","UCUM","ACnc","Obsolete","unit for liver tests - previously used in thymol turbidity tests for liver disease diagnoses, and now is sometimes referred to in the oral galactose tolerance test","1","1","1",1,false],[false,"tuberculin unit","[tb\'U]","[TB\'U]","biologic activity of tuberculin",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"TU; units","UCUM","Arb","Clinical","amount of tuberculin antigen -usually in reference to a TB skin test ","1","1","1",1,false],[false,"50% cell culture infectious dose","[CCID_50]","[CCID_50]","biologic activity (infectivity) of an infectious agent preparation",1,[0,0,0,0,0,0,0],"CCID50","chemical",false,null,null,1,false,true,0,"CCID50; 50% cell culture infective doses","UCUM","NumThres","Clinical","","1","1","1",1,false],[false,"50% tissue culture infectious dose","[TCID_50]","[TCID_50]","biologic activity (infectivity) of an infectious agent preparation",1,[0,0,0,0,0,0,0],"TCID50","chemical",false,null,null,1,false,true,0,"TCID50; 50% tissue culture infective dose","UCUM","NumThres","Clinical","","1","1","1",1,false],[false,"50% embryo infectious dose","[EID_50]","[EID_50]","biologic activity (infectivity) of an infectious agent preparation",1,[0,0,0,0,0,0,0],"EID50","chemical",false,null,null,1,false,true,0,"EID50; 50% embryo infective doses; EID50 Egg Infective Dosage","UCUM","thresNum","Clinical","","1","1","1",1,false],[false,"plaque forming units","[PFU]","[PFU]","amount of an infectious agent",1,[0,0,0,0,0,0,0],"PFU","chemical",false,null,null,1,false,true,0,"PFU","UCUM","ACnc","Clinical","tests usually report unit as number of PFU per unit volume","1","1","1",1,false],[false,"focus forming units (cells)","[FFU]","[FFU]","amount of an infectious agent",1,[0,0,0,0,0,0,0],"FFU","chemical",false,null,null,1,false,true,0,"FFU","UCUM","EntNum","Clinical","","1","1","1",1,false],[false,"colony forming units","[CFU]","[CFU]","amount of a proliferating organism",1,[0,0,0,0,0,0,0],"CFU","chemical",false,null,null,1,false,true,0,"CFU","UCUM","Num","Clinical","","1","1","1",1,false],[false,"index of reactivity (allergen)","[IR]","[IR]","amount of an allergen callibrated through in-vivo testing using the Stallergenes® method.",1,[0,0,0,0,0,0,0],"IR","chemical",false,null,null,1,false,true,0,"IR; indexes","UCUM","Acnc","Clinical","amount of an allergen callibrated through in-vivo testing using the Stallergenes method. Usually reported in tests as IR/mL","1","1","1",1,false],[false,"bioequivalent allergen unit","[BAU]","[BAU]","amount of an allergen callibrated through in-vivo testing based on the ID50EAL method of (intradermal dilution for 50mm sum of erythema diameters",1,[0,0,0,0,0,0,0],"BAU","chemical",false,null,null,1,false,true,0,"BAU; Bioequivalent Allergy Units; bioequivalent allergen units","UCUM","Arb","Clinical","","1","1","1",1,false],[false,"allergy unit","[AU]","[AU]","procedure defined amount of an allergen using some reference standard",1,[0,0,0,0,0,0,0],"AU","chemical",false,null,null,1,false,true,0,"allergy units; allergen units; AU","UCUM","Arb","Clinical","Most standard test allergy units are reported as [IU] or as %. ","1","1","1",1,false],[false,"allergen unit for Ambrosia artemisiifolia","[Amb\'a\'1\'U]","[AMB\'A\'1\'U]","procedure defined amount of the major allergen of ragweed.",1,[0,0,0,0,0,0,0],"Amb a 1 U","chemical",false,null,null,1,false,true,0,"Amb a 1 unit; Antigen E; AgE U; allergen units","UCUM","Arb","Clinical","Amb a 1 is the major allergen in short ragweed, and can be converted Bioequivalent allergen units (BAU) where 350 Amb a 1 U/mL = 100,000 BAU/mL","1","1","1",1,false],[false,"protein nitrogen unit (allergen testing)","[PNU]","[PNU]","procedure defined amount of a protein substance",1,[0,0,0,0,0,0,0],"PNU","chemical",false,null,null,1,false,true,0,"protein nitrogen units; PNU","UCUM","Mass","Clinical","defined as 0.01 ug of phosphotungstic acid-precipitable protein nitrogen. Being replaced by bioequivalent allergy units (BAU).","1","1","1",1,false],[false,"Limit of flocculation","[Lf]","[LF]","procedure defined amount of an antigen substance",1,[0,0,0,0,0,0,0],"Lf","chemical",false,null,null,1,false,true,0,"Lf doses","UCUM","Arb","Clinical","the antigen content forming 1:1 ratio against 1 unit of antitoxin","1","1","1",1,false],[false,"D-antigen unit (polio)","[D\'ag\'U]","[D\'AG\'U]","procedure defined amount of a poliomyelitis d-antigen substance",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"DAgU; units","UCUM","Acnc","Clinical","unit of potency of poliovirus vaccine used for poliomyelitis prevention reported as D antigen units/mL. The unit is poliovirus type-specific.","1","1","1",1,false],[false,"fibrinogen equivalent units","[FEU]","[FEU]","amount of fibrinogen broken down into the measured d-dimers",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"FEU","UCUM","MCnc","Clinical","Note both the FEU and DDU units are used to report D-dimer measurements. 1 DDU = 1/2 FFU","1","1","1",1,false],[false,"ELISA unit","[ELU]","[ELU]","arbitrary ELISA unit",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"Enzyme-Linked Immunosorbent Assay Units; ELU; EL. U","UCUM","ACnc","Clinical","","1","1","1",1,false],[false,"Ehrlich units (urobilinogen)","[EU]","[EU]","Ehrlich unit",1,[0,0,0,0,0,0,0],null,"chemical",false,null,null,1,false,true,0,"EU/dL; mg{urobilinogen}/dL","UCUM","ACnc","Clinical","","1","1","1",1,false],[false,"neper","Np","NEP","level",1,[0,0,0,0,0,0,0],"Np","levels",true,null,"ln",1,true,false,0,"nepers","UCUM","LogRto","Clinical","logarithmic unit for ratios of measurements of physical field and power quantities, such as gain and loss of electronic signals","1",null,null,1,false],[false,"bel","B","B","level",1,[0,0,0,0,0,0,0],"B","levels",true,null,"lg",1,true,false,0,"bels","UCUM","LogRto","Clinical","Logarithm of the ratio of power- or field-type quantities; usually expressed in decibels ","1",null,null,1,false],[false,"bel sound pressure","B[SPL]","B[SPL]","pressure level",0.02,[-1,-2,1,0,0,0,0],"B(SPL)","levels",true,null,"lgTimes2",1,true,false,0,"bel SPL; B SPL; sound pressure bels","UCUM","LogRto","Clinical","used to measure sound level in acoustics","Pa",null,null,0.00002,false],[false,"bel volt","B[V]","B[V]","electric potential level",1000,[2,-2,1,0,0,-1,0],"B(V)","levels",true,null,"lgTimes2",1,true,false,0,"bel V; B V; volts bels","UCUM","LogRtoElp","Clinical","used to express power gain in electrical circuits","V",null,null,1,false],[false,"bel millivolt","B[mV]","B[MV]","electric potential level",1,[2,-2,1,0,0,-1,0],"B(mV)","levels",true,null,"lgTimes2",1,true,false,0,"bel mV; B mV; millivolt bels; 10^-3V bels; 10*-3V ","UCUM","LogRtoElp","Clinical","used to express power gain in electrical circuits","mV",null,null,1,false],[false,"bel microvolt","B[uV]","B[UV]","electric potential level",0.001,[2,-2,1,0,0,-1,0],"B(μV)","levels",true,null,"lgTimes2",1,true,false,0,"bel uV; B uV; microvolts bels; 10^-6V bel; 10*-6V bel","UCUM","LogRto","Clinical","used to express power gain in electrical circuits","uV",null,null,1,false],[false,"bel 10 nanovolt","B[10.nV]","B[10.NV]","electric potential level",0.000010000000000000003,[2,-2,1,0,0,-1,0],"B(10 nV)","levels",true,null,"lgTimes2",1,true,false,0,"bel 10 nV; B 10 nV; 10 nanovolts bels","UCUM","LogRtoElp","Clinical","used to express power gain in electrical circuits","nV",null,null,10,false],[false,"bel watt","B[W]","B[W]","power level",1000,[2,-3,1,0,0,0,0],"B(W)","levels",true,null,"lg",1,true,false,0,"bel W; b W; b Watt; Watts bels","UCUM","LogRto","Clinical","used to express power","W",null,null,1,false],[false,"bel kilowatt","B[kW]","B[KW]","power level",1000000,[2,-3,1,0,0,0,0],"B(kW)","levels",true,null,"lg",1,true,false,0,"bel kW; B kW; kilowatt bel; kW bel; kW B","UCUM","LogRto","Clinical","used to express power","kW",null,null,1,false],[false,"stere","st","STR","volume",1,[3,0,0,0,0,0,0],"st","misc",true,null,null,1,false,false,0,"stère; m3; cubic meter; m^3; meters cubed; metre","UCUM","Vol","Nonclinical","equal to one cubic meter, usually used for measuring firewoord","m3","M3","1",1,false],[false,"Ångström","Ao","AO","length",1.0000000000000002e-10,[1,0,0,0,0,0,0],"Å","misc",false,null,null,1,false,false,0,"Å; Angstroms; Ao; Ångströms","UCUM","Len","Clinical","equal to 10^-10 meters; used to express wave lengths and atom scaled differences ","nm","NM","0.1",0.1,false],[false,"barn","b","BRN","action area",9.999999999999999e-29,[2,0,0,0,0,0,0],"b","misc",false,null,null,1,false,false,0,"barns","UCUM","Area","Clinical","used in high-energy physics to express cross-sectional areas","fm2","FM2","100",100,false],[false,"technical atmosphere","att","ATT","pressure",98066499.99999999,[-1,-2,1,0,0,0,0],"at","misc",false,null,null,1,false,false,0,"at; tech atm; tech atmosphere; kgf/cm2; atms; atmospheres","UCUM","Pres","Obsolete","non-SI unit of pressure equal to one kilogram-force per square centimeter","kgf/cm2","KGF/CM2","1",1,false],[false,"mho","mho","MHO","electric conductance",0.001,[-2,1,-1,0,0,2,0],"mho","misc",true,null,null,1,false,false,0,"siemens; ohm reciprocals; Ω^−1; Ω-1 ","UCUM","","Obsolete","unit of electric conductance (the inverse of electrical resistance) equal to ohm^-1","S","S","1",1,false],[false,"pound per square inch","[psi]","[PSI]","pressure",6894757.293168359,[-1,-2,1,0,0,0,0],"psi","misc",false,null,null,1,false,false,0,"psi; lb/in2; lb per in2","UCUM","Pres","Clinical","","[lbf_av]/[in_i]2","[LBF_AV]/[IN_I]2","1",1,false],[false,"circle - plane angle","circ","CIRC","plane angle",6.283185307179586,[0,0,0,1,0,0,0],"circ","misc",false,null,null,1,false,false,0,"angles; circles","UCUM","Angle","Clinical","","[pi].rad","[PI].RAD","2",2,false],[false,"spere - solid angle","sph","SPH","solid angle",12.566370614359172,[0,0,0,2,0,0,0],"sph","misc",false,null,null,1,false,false,0,"speres","UCUM","Angle","Clinical","equal to the solid angle of an entire sphere = 4πsr (sr = steradian) ","[pi].sr","[PI].SR","4",4,false],[false,"metric carat","[car_m]","[CAR_M]","mass",0.2,[0,0,1,0,0,0,0],"ctm","misc",false,null,null,1,false,false,0,"carats; ct; car m","UCUM","Mass","Nonclinical","unit of mass for gemstones","g","G","2e-1",0.2,false],[false,"carat of gold alloys","[car_Au]","[CAR_AU]","mass fraction",0.041666666666666664,[0,0,0,0,0,0,0],"ctAu","misc",false,null,null,1,false,false,0,"karats; k; kt; car au; carats","UCUM","MFr","Nonclinical","unit of purity for gold alloys","/24","/24","1",1,false],[false,"Smoot","[smoot]","[SMOOT]","length",1.7018000000000002,[1,0,0,0,0,0,0],null,"misc",false,null,null,1,false,false,0,"","UCUM","Len","Nonclinical","prank unit of length from MIT","[in_i]","[IN_I]","67",67,false],[false,"meter per square seconds per square root of hertz","[m/s2/Hz^(1/2)]","[M/S2/HZ^(1/2)]","amplitude spectral density",1,[2,-3,0,0,0,0,0],null,"misc",false,null,"sqrt",1,true,false,0,"m/s2/(Hz^.5); m/s2/(Hz^(1/2)); m per s2 per Hz^1/2","UCUM","","Constant","measures amplitude spectral density, and is equal to the square root of power spectral density\\n ","m2/s4/Hz",null,null,1,false],[false,"bit - logarithmic","bit_s","BIT_S","amount of information",1,[0,0,0,0,0,0,0],"bits","infotech",false,null,"ld",1,true,false,0,"bit-s; bit s; bit logarithmic","UCUM","LogA","Nonclinical","defined as the log base 2 of the number of distinct signals; cannot practically be used to express more than 1000 bits\\n\\nIn information theory, the definition of the amount of self-information and information entropy is often expressed with the binary logarithm (log base 2)","1",null,null,1,false],[false,"bit","bit","BIT","amount of information",1,[0,0,0,0,0,0,0],"bit","infotech",true,null,null,1,false,false,0,"bits","UCUM","","Nonclinical","dimensionless information unit of 1 used in computing and digital communications","1","1","1",1,false],[false,"byte","By","BY","amount of information",8,[0,0,0,0,0,0,0],"B","infotech",true,null,null,1,false,false,0,"bytes","UCUM","","Nonclinical","equal to 8 bits","bit","bit","8",8,false],[false,"baud","Bd","BD","signal transmission rate",1,[0,1,0,0,0,0,0],"Bd","infotech",true,null,"inv",1,false,false,0,"Bd; bauds","UCUM","Freq","Nonclinical","unit to express rate in symbols per second or pulses per second. ","s","/s","1",1,false],[false,"per twelve hour","/(12.h)","/HR","",0.000023148148148148147,[0,-1,0,0,0,0,0],"/h",null,false,null,null,1,false,false,0,"per 12 hours; 12hrs; 12 hrs; /12hrs","LOINC","Rat","Clinical","",null,null,null,null,false],[false,"per arbitrary unit","/[arb\'U]","/[ARB\'U]","",1,[0,0,0,0,0,0,0],"/arb/ U",null,false,null,null,1,false,true,0,"/arbU","LOINC","InvA ","Clinical","",null,null,null,null,false],[false,"per high power field","/[HPF]","/[HPF]","",1,[0,0,0,0,0,0,0],"/HPF",null,false,null,null,1,false,false,0,"/HPF; per HPF","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"per international unit","/[IU]","/[IU]","",1,[0,0,0,0,0,0,0],"/i/U.",null,false,null,null,1,false,true,0,"international units; /IU; per IU","LOINC","InvA","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)",null,null,null,null,false],[false,"per low power field","/[LPF]","/[LPF]","",1,[0,0,0,0,0,0,0],"/LPF",null,false,null,null,1,false,false,0,"/LPF; per LPF","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"per 10 billion ","/10*10","/10*10","",1e-10,[0,0,0,0,0,0,0],"/1010<.sup>",null,false,null,null,1,false,false,0,"/10^10; per 10*10","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per trillion ","/10*12","/10*12","",1e-12,[0,0,0,0,0,0,0],"/1012<.sup>",null,false,null,null,1,false,false,0,"/10^12; per 10*12","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per thousand","/10*3","/10*3","",0.001,[0,0,0,0,0,0,0],"/103<.sup>",null,false,null,null,1,false,false,0,"/10^3; per 10*3","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per million","/10*6","/10*6","",0.000001,[0,0,0,0,0,0,0],"/106<.sup>",null,false,null,null,1,false,false,0,"/10^6; per 10*6;","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per billion","/10*9","/10*9","",1e-9,[0,0,0,0,0,0,0],"/109<.sup>",null,false,null,null,1,false,false,0,"/10^9; per 10*9","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per 100","/100","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"per hundred; 10^2; 10*2","LOINC","NFr","Clinical","used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator",null,null,null,null,false],[false,"per 100 cells","/100{cells}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 cells; /100cells; per hundred","LOINC","EntMass; EntNum; NFr","Clinical","",null,null,null,null,false],[false,"per 100 neutrophils","/100{neutrophils}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 neutrophils; /100neutrophils; per hundred","LOINC","EntMass; EntNum; NFr","Clinical","",null,null,null,null,false],[false,"per 100 spermatozoa","/100{spermatozoa}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 spermatozoa; /100spermatozoa; per hundred","LOINC","NFr","Clinical","",null,null,null,null,false],[false,"per 100 white blood cells","/100{WBCs}","","",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"/100 WBCs; /100WBCs; per hundred","LOINC","Ratio; NFr","Clinical","",null,null,null,null,false],[false,"per year","/a","/ANN","",3.168808781402895e-8,[0,-1,0,0,0,0,0],"/a",null,false,null,null,1,false,false,0,"/Years; /yrs; yearly","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per centimeter of water","/cm[H2O]","/CM[H2O]","",0.000010197162129779282,[1,2,-1,0,0,0,0],"/cm HO2<.r>",null,false,null,null,1,false,false,0,"/cmH2O; /cm H2O; centimeters; centimetres","LOINC","InvPress","Clinical","",null,null,null,null,false],[false,"per day","/d","/D","",0.000011574074074074073,[0,-1,0,0,0,0,0],"/d",null,false,null,null,1,false,false,0,"/dy; per day","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per deciliter","/dL","/DL","",10000,[-3,0,0,0,0,0,0],"/dL",null,false,null,null,1,false,false,0,"per dL; /deciliter; decilitre","LOINC","NCnc","Clinical","",null,null,null,null,false],[false,"per gram","/g","/G","",1,[0,0,-1,0,0,0,0],"/g",null,false,null,null,1,false,false,0,"/gm; /gram; per g","LOINC","NCnt","Clinical","",null,null,null,null,false],[false,"per hour","/h","/HR","",0.0002777777777777778,[0,-1,0,0,0,0,0],"/h",null,false,null,null,1,false,false,0,"/hr; /hour; per hr","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per kilogram","/kg","/KG","",0.001,[0,0,-1,0,0,0,0],"/kg",null,false,null,null,1,false,false,0,"per kg; per kilogram","LOINC","NCnt","Clinical","",null,null,null,null,false],[false,"per liter","/L","/L","",1000,[-3,0,0,0,0,0,0],"/L",null,false,null,null,1,false,false,0,"/liter; litre","LOINC","NCnc","Clinical","",null,null,null,null,false],[false,"per square meter","/m2","/M2","",1,[-2,0,0,0,0,0,0],"/m2<.sup>",null,false,null,null,1,false,false,0,"/m^2; /m*2; /sq. m; per square meter; meter squared; metre","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"per cubic meter","/m3","/M3","",1,[-3,0,0,0,0,0,0],"/m3<.sup>",null,false,null,null,1,false,false,0,"/m^3; /m*3; /cu. m; per cubic meter; meter cubed; per m3; metre","LOINC","NCncn","Clinical","",null,null,null,null,false],[false,"per milligram","/mg","/MG","",1000,[0,0,-1,0,0,0,0],"/mg",null,false,null,null,1,false,false,0,"/milligram; per mg","LOINC","NCnt","Clinical","",null,null,null,null,false],[false,"per minute","/min","/MIN","",0.016666666666666666,[0,-1,0,0,0,0,0],"/min",null,false,null,null,1,false,false,0,"/minute; per mins; breaths beats per minute","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per milliliter","/mL","/ML","",1000000,[-3,0,0,0,0,0,0],"/mL",null,false,null,null,1,false,false,0,"/milliliter; per mL; millilitre","LOINC","NCncn","Clinical","",null,null,null,null,false],[false,"per millimeter","/mm","/MM","",1000,[-1,0,0,0,0,0,0],"/mm",null,false,null,null,1,false,false,0,"/millimeter; per mm; millimetre","LOINC","InvLen","Clinical","",null,null,null,null,false],[false,"per month","/mo","/MO","",3.802570537683474e-7,[0,-1,0,0,0,0,0],"/mo",null,false,null,null,1,false,false,0,"/month; per mo; monthly; month","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per second","/s","/S","",1,[0,-1,0,0,0,0,0],"/s",null,false,null,null,1,false,false,0,"/second; /sec; per sec; frequency; Hertz; Herz; Hz; becquerels; Bq; s-1; s^-1","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"per enzyme unit","/U","/U","",9.963241120049633e-17,[0,1,0,0,0,0,0],"/U",null,false,null,null,1,false,false,-1,"/enzyme units; per U","LOINC","InvC; NCat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)",null,null,null,null,false],[false,"per microliter","/uL","/UL","",999999999.9999999,[-3,0,0,0,0,0,0],"/μL",null,false,null,null,1,false,false,0,"/microliter; microlitre; /mcl; per uL","LOINC","ACnc","Clinical","",null,null,null,null,false],[false,"per week","/wk","/WK","",0.0000016534391534391535,[0,-1,0,0,0,0,0],"/wk",null,false,null,null,1,false,false,0,"/week; per wk; weekly, weeks","LOINC","NRat","Clinical","",null,null,null,null,false],[false,"APL unit per milliliter","[APL\'U]/mL","[APL\'U]/ML","biologic activity of anticardiolipin IgA",1000000,[-3,0,0,0,0,0,0],"/mL","chemical",false,null,null,1,false,true,0,"APL/mL; APL\'U/mL; APL U/mL; APL/milliliter; IgA anticardiolipin units per milliliter; IgA Phospholipid Units; millilitre; biologic activity of","LOINC","ACnc","Clinical","Units for an anti phospholipid syndrome test","1","1","1",1,false],[false,"arbitrary unit per milliliter","[arb\'U]/mL","[ARB\'U]/ML","arbitrary",1000000,[-3,0,0,0,0,0,0],"(arb. U)/mL","chemical",false,null,null,1,false,true,0,"arb\'U/mL; arbU/mL; arb U/mL; arbitrary units per milliliter; millilitre","LOINC","ACnc","Clinical","relative unit of measurement to show the ratio of test measurement to reference measurement","1","1","1",1,false],[false,"colony forming units per liter","[CFU]/L","[CFU]/L","amount of a proliferating organism",1000,[-3,0,0,0,0,0,0],"CFU/L","chemical",false,null,null,1,false,true,0,"CFU per Liter; CFU/L","LOINC","NCnc","Clinical","","1","1","1",1,false],[false,"colony forming units per milliliter","[CFU]/mL","[CFU]/ML","amount of a proliferating organism",1000000,[-3,0,0,0,0,0,0],"CFU/mL","chemical",false,null,null,1,false,true,0,"CFU per mL; CFU/mL","LOINC","NCnc","Clinical","","1","1","1",1,false],[false,"foot per foot - US","[ft_us]/[ft_us]","[FT_US]/[FT_US]","length",1,[0,0,0,0,0,0,0],"(ftus)/(ftus)","us-lengths",false,null,null,1,false,false,0,"ft/ft; ft per ft; feet per feet; visual acuity","","LenRto","Clinical","distance ratio to measure 20:20 vision","m/3937","M/3937","1200",1200,false],[false,"GPL unit per milliliter","[GPL\'U]/mL","[GPL\'U]/ML","biologic activity of anticardiolipin IgG",1000000,[-3,0,0,0,0,0,0],"/mL","chemical",false,null,null,1,false,true,0,"GPL U/mL; GPL\'U/mL; GPL/mL; GPL U per mL; IgG Phospholipid Units per milliliters; IgG anticardiolipin units; millilitres ","LOINC","ACnc; AMass","Clinical","Units for an antiphospholipid test","1","1","1",1,false],[false,"international unit per 2 hour","[IU]/(2.h)","[IU]/HR","arbitrary",0.0001388888888888889,[0,-1,0,0,0,0,0],"(i.U.)/h","chemical",true,null,null,1,false,true,0,"IU/2hrs; IU/2 hours; IU per 2 hrs; international units per 2 hours","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per 24 hour","[IU]/(24.h)","[IU]/HR","arbitrary",0.000011574074074074073,[0,-1,0,0,0,0,0],"(i.U.)/h","chemical",true,null,null,1,false,true,0,"IU/24hr; IU/24 hours; IU per 24 hrs; international units per 24 hours","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per day","[IU]/d","[IU]/D","arbitrary",0.000011574074074074073,[0,-1,0,0,0,0,0],"(i.U.)/d","chemical",true,null,null,1,false,true,0,"IU/dy; IU/days; IU per dys; international units per day","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per deciliter","[IU]/dL","[IU]/DL","arbitrary",10000,[-3,0,0,0,0,0,0],"(i.U.)/dL","chemical",true,null,null,1,false,true,0,"IU/dL; IU per dL; international units per deciliters; decilitres","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per gram","[IU]/g","[IU]/G","arbitrary",1,[0,0,-1,0,0,0,0],"(i.U.)/g","chemical",true,null,null,1,false,true,0,"IU/gm; IU/gram; IU per gm; IU per g; international units per gram","LOINC","ACnt","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per hour","[IU]/h","[IU]/HR","arbitrary",0.0002777777777777778,[0,-1,0,0,0,0,0],"(i.U.)/h","chemical",true,null,null,1,false,true,0,"IU/hrs; IU per hours; international units per hour","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per kilogram","[IU]/kg","[IU]/KG","arbitrary",0.001,[0,0,-1,0,0,0,0],"(i.U.)/kg","chemical",true,null,null,1,false,true,0,"IU/kg; IU/kilogram; IU per kg; units","LOINC","ACnt","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per kilogram per day","[IU]/kg/d","([IU]/KG)/D","arbitrary",1.1574074074074074e-8,[0,-1,-1,0,0,0,0],"((i.U.)/kg)/d","chemical",true,null,null,1,false,true,0,"IU/kg/dy; IU/kg/day; IU/kilogram/day; IU per kg per day; units","LOINC","ACntRat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per liter","[IU]/L","[IU]/L","arbitrary",1000,[-3,0,0,0,0,0,0],"(i.U.)/L","chemical",true,null,null,1,false,true,0,"IU/L; IU/liter; IU per liter; units; litre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per minute","[IU]/min","[IU]/MIN","arbitrary",0.016666666666666666,[0,-1,0,0,0,0,0],"(i.U.)/min","chemical",true,null,null,1,false,true,0,"IU/min; IU/minute; IU per minute; international units","LOINC","ARat","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"international unit per milliliter","[IU]/mL","[IU]/ML","arbitrary",1000000,[-3,0,0,0,0,0,0],"(i.U.)/mL","chemical",true,null,null,1,false,true,0,"IU/mL; IU per mL; international units per milliliter; millilitre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"MPL unit per milliliter","[MPL\'U]/mL","[MPL\'U]/ML","biologic activity of anticardiolipin IgM",1000000,[-3,0,0,0,0,0,0],"/mL","chemical",false,null,null,1,false,true,0,"MPL/mL; MPL U/mL; MPL\'U/mL; IgM anticardiolipin units; IgM Phospholipid Units; millilitre ","LOINC","ACnc","Clinical","units for antiphospholipid test\\n","1","1","1",1,false],[false,"number per high power field","{#}/[HPF]","/[HPF]","",1,[0,0,0,0,0,0,0],"/HPF",null,false,null,null,1,false,false,0,"#/HPF; # per HPF; number/HPF; numbers per high power field","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"number per low power field","{#}/[LPF]","/[LPF]","",1,[0,0,0,0,0,0,0],"/LPF",null,false,null,null,1,false,false,0,"#/LPF; # per LPF; number/LPF; numbers per low power field","LOINC","Naric","Clinical","",null,null,null,null,false],[false,"IgA antiphosphatidylserine unit ","{APS\'U}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"APS Unit; Phosphatidylserine Antibody IgA Units","LOINC","ACnc","Clinical","unit for antiphospholipid test",null,null,null,null,false],[false,"EIA index","{EIA_index}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"enzyme immunoassay index","LOINC","ACnc","Clinical","",null,null,null,null,false],[false,"kaolin clotting time","{KCT\'U}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"KCT","LOINC","Time","Clinical","sensitive test to detect lupus anticoagulants; measured in seconds",null,null,null,null,false],[false,"IgM antiphosphatidylserine unit","{MPS\'U}","","",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,"Phosphatidylserine Antibody IgM Measurement ","LOINC","ACnc","Clinical","",null,null,null,null,false],[false,"trillion per liter","10*12/L","(10*12)/L","number",1000000000000000,[-3,0,0,0,0,0,0],"(1012)/L","dimless",false,null,null,1,false,false,0,"10^12/L; 10*12 per Liter; trillion per liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10^3 (used for cell count)","10*3","10*3","number",1000,[0,0,0,0,0,0,0],"103","dimless",false,null,null,1,false,false,0,"10^3; thousand","LOINC","Num","Clinical","usually used for counting entities (e.g. blood cells) per volume","1","1","10",10,false],[false,"thousand per liter","10*3/L","(10*3)/L","number",1000000,[-3,0,0,0,0,0,0],"(103)/L","dimless",false,null,null,1,false,false,0,"10^3/L; 10*3 per liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"thousand per milliliter","10*3/mL","(10*3)/ML","number",1000000000,[-3,0,0,0,0,0,0],"(103)/mL","dimless",false,null,null,1,false,false,0,"10^3/mL; 10*3 per mL; thousand per milliliter; millilitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"thousand per microliter","10*3/uL","(10*3)/UL","number",999999999999.9999,[-3,0,0,0,0,0,0],"(103)/μL","dimless",false,null,null,1,false,false,0,"10^3/uL; 10*3 per uL; thousand per microliter; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10 thousand per microliter","10*4/uL","(10*4)/UL","number",10000000000000,[-3,0,0,0,0,0,0],"(104)/μL","dimless",false,null,null,1,false,false,0,"10^4/uL; 10*4 per uL; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10^5 ","10*5","10*5","number",100000,[0,0,0,0,0,0,0],"105","dimless",false,null,null,1,false,false,0,"one hundred thousand","LOINC","Num","Clinical","","1","1","10",10,false],[false,"10^6","10*6","10*6","number",1000000,[0,0,0,0,0,0,0],"106","dimless",false,null,null,1,false,false,0,"","LOINC","Num","Clinical","","1","1","10",10,false],[false,"million colony forming unit per liter","10*6.[CFU]/L","((10*6).[CFU])/L","number",1000000000,[-3,0,0,0,0,0,0],"((106).CFU)/L","dimless",false,null,null,1,false,true,0,"10*6 CFU/L; 10^6 CFU/L; 10^6CFU; 10^6 CFU per liter; million colony forming units; litre","LOINC","ACnc","Clinical","","1","1","10",10,false],[false,"million international unit","10*6.[IU]","(10*6).[IU]","number",1000000,[0,0,0,0,0,0,0],"(106).(i.U.)","dimless",false,null,null,1,false,true,0,"10*6 IU; 10^6 IU; international units","LOINC","arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","1","1","10",10,false],[false,"million per 24 hour","10*6/(24.h)","(10*6)/HR","number",11.574074074074074,[0,-1,0,0,0,0,0],"(106)/h","dimless",false,null,null,1,false,false,0,"10*6/24hrs; 10^6/24 hrs; 10*6 per 24 hrs; 10^6 per 24 hours","LOINC","NRat","Clinical","","1","1","10",10,false],[false,"million per kilogram","10*6/kg","(10*6)/KG","number",1000,[0,0,-1,0,0,0,0],"(106)/kg","dimless",false,null,null,1,false,false,0,"10^6/kg; 10*6 per kg; 10*6 per kilogram; millions","LOINC","NCnt","Clinical","","1","1","10",10,false],[false,"million per liter","10*6/L","(10*6)/L","number",1000000000,[-3,0,0,0,0,0,0],"(106)/L","dimless",false,null,null,1,false,false,0,"10^6/L; 10*6 per Liter; 10^6 per Liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"million per milliliter","10*6/mL","(10*6)/ML","number",1000000000000,[-3,0,0,0,0,0,0],"(106)/mL","dimless",false,null,null,1,false,false,0,"10^6/mL; 10*6 per mL; 10*6 per milliliter; millilitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"million per microliter","10*6/uL","(10*6)/UL","number",1000000000000000,[-3,0,0,0,0,0,0],"(106)/μL","dimless",false,null,null,1,false,false,0,"10^6/uL; 10^6 per uL; 10^6/mcl; 10^6 per mcl; 10^6 per microliter; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10^8","10*8","10*8","number",100000000,[0,0,0,0,0,0,0],"108","dimless",false,null,null,1,false,false,0,"100 million; one hundred million; 10^8","LOINC","Num","Clinical","","1","1","10",10,false],[false,"billion per liter","10*9/L","(10*9)/L","number",1000000000000,[-3,0,0,0,0,0,0],"(109)/L","dimless",false,null,null,1,false,false,0,"10^9/L; 10*9 per Liter; litre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"billion per milliliter","10*9/mL","(10*9)/ML","number",1000000000000000,[-3,0,0,0,0,0,0],"(109)/mL","dimless",false,null,null,1,false,false,0,"10^9/mL; 10*9 per mL; 10^9 per mL; 10*9 per milliliter; millilitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"billion per microliter","10*9/uL","(10*9)/UL","number",1000000000000000000,[-3,0,0,0,0,0,0],"(109)/μL","dimless",false,null,null,1,false,false,0,"10^9/uL; 10^9 per uL; 10^9/mcl; 10^9 per mcl; 10*9 per uL; 10*9 per mcl; 10*9/mcl; 10^9 per microliter; microlitre","LOINC","NCncn","Clinical","","1","1","10",10,false],[false,"10 liter per minute per square meter","10.L/(min.m2)","L/(MIN.M2)","",0.00016666666666666666,[1,-1,0,0,0,0,0],"L/(min.(m2))",null,false,null,null,1,false,false,0,"10 liters per minutes per square meter; 10 L per min per m2; m^2; 10 L/(min*m2); 10L/(min*m^2); litres; sq. meter; metre; meters squared","LOINC","ArVRat","Clinical","",null,null,null,null,false],[false,"10 liter per minute","10.L/min","L/MIN","",0.00016666666666666666,[3,-1,0,0,0,0,0],"L/min",null,false,null,null,1,false,false,0,"10 liters per minute; 10 L per min; 10L; 10 L/min; litre","LOINC","VRat","Clinical","",null,null,null,null,false],[false,"10 micronewton second per centimeter to the fifth power per square meter","10.uN.s/(cm5.m2)","(UN.S)/(CM5.M2)","",100000000,[-6,-1,1,0,0,0,0],"(μN.s)/(cm5).(m2)",null,false,null,null,1,false,false,0,"dyne seconds per centimeter5 and square meter; dyn.s/(cm5.m2); dyn.s/cm5/m2; cm^5; m^2","LOINC","","Clinical","unit to measure systemic vascular resistance per body surface area",null,null,null,null,false],[false,"24 hour","24.h","HR","",86400,[0,1,0,0,0,0,0],"h",null,false,null,null,1,false,false,0,"24hrs; 24 hrs; 24 hours; days; dy","LOINC","Time","Clinical","",null,null,null,null,false],[false,"ampere per meter","A/m","A/M","electric current",1,[-1,-1,0,0,0,1,0],"A/m","si",true,null,null,1,false,false,0,"A/m; amp/meter; magnetic field strength; H; B; amperes per meter; metre","LOINC","","Clinical","unit of magnetic field strength","C/s","C/S","1",1,false],[false,"centigram","cg","CG","mass",0.01,[0,0,1,0,0,0,0],"cg",null,false,"M",null,1,false,false,0,"centigrams; cg; cgm","LOINC","Mass","Clinical","",null,null,null,null,false],[false,"centiliter","cL","CL","volume",0.00001,[3,0,0,0,0,0,0],"cL","iso1000",true,null,null,1,false,false,0,"centiliters; centilitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"centimeter","cm","CM","length",0.01,[1,0,0,0,0,0,0],"cm",null,false,"L",null,1,false,false,0,"centimeters; centimetres","LOINC","Len","Clinical","",null,null,null,null,false],[false,"centimeter of water","cm[H2O]","CM[H2O]","pressure",98066.5,[-1,-2,1,0,0,0,0],"cm HO2","clinical",true,null,null,1,false,false,0,"cm H2O; cmH2O; centimetres; pressure","LOINC","Pres","Clinical","unit of pressure mostly applies to blood pressure","kPa","KPAL","980665e-5",9.80665,false],[false,"centimeter of water per liter per second","cm[H2O]/L/s","(CM[H2O]/L)/S","pressure",98066500,[-4,-3,1,0,0,0,0],"((cm HO2)/L)/s","clinical",true,null,null,1,false,false,0,"cm[H2O]/(L/s); cm[H2O].s/L; cm H2O/L/sec; cmH2O/L/sec; cmH2O/Liter; cmH2O per L per secs; centimeters of water per liters per second; centimetres; litres; cm[H2O]/(L/s)","LOINC","PresRat","Clinical","unit used to measure mean pulmonary resistance","kPa","KPAL","980665e-5",9.80665,false],[false,"centimeter of water per second per meter","cm[H2O]/s/m","(CM[H2O]/S)/M","pressure",98066.5,[-2,-3,1,0,0,0,0],"((cm HO2)/s)/m","clinical",true,null,null,1,false,false,0,"cm[H2O]/(s.m); cm H2O/s/m; cmH2O; cmH2O/sec/m; cmH2O per secs per meters; centimeters of water per seconds per meter; centimetres; metre","LOINC","PresRat","Clinical","unit used to measure pulmonary pressure time product","kPa","KPAL","980665e-5",9.80665,false],[false,"centimeter of mercury","cm[Hg]","CM[HG]","pressure",1333220,[-1,-2,1,0,0,0,0],"cm Hg","clinical",true,null,null,1,false,false,0,"centimeters of mercury; centimetres; cmHg; cm Hg","LOINC","Pres","Clinical","unit of pressure where 1 cmHg = 10 torr","kPa","KPAL","133.3220",133.322,false],[false,"square centimeter","cm2","CM2","length",0.0001,[2,0,0,0,0,0,0],"cm2",null,false,"L",null,1,false,false,0,"cm^2; sq cm; centimeters squared; square centimeters; centimetre; area","LOINC","Area","Clinical","",null,null,null,null,false],[false,"square centimeter per second","cm2/s","CM2/S","length",0.0001,[2,-1,0,0,0,0,0],"(cm2)/s",null,false,"L",null,1,false,false,0,"cm^2/sec; square centimeters per second; sq cm per sec; cm2; centimeters squared; centimetres","LOINC","AreaRat","Clinical","",null,null,null,null,false],[false,"centipoise","cP","CP","dynamic viscosity",1,[-1,-1,1,0,0,0,0],"cP","cgs",true,null,null,1,false,false,0,"cps; centiposes","LOINC","Visc","Clinical","unit of dynamic viscosity in the CGS system with base units: 10^−3 Pa.s = 1 mPa·.s (1 millipascal second)","dyn.s/cm2","DYN.S/CM2","1",1,false],[false,"centistoke","cSt","CST","kinematic viscosity",0.0000010000000000000002,[2,-1,0,0,0,0,0],"cSt","cgs",true,null,null,1,false,false,0,"centistokes","LOINC","Visc","Clinical","unit for kinematic viscosity with base units of mm^2/s (square millimeter per second)","cm2/s","CM2/S","1",1,false],[false,"dekaliter per minute","daL/min","DAL/MIN","volume",0.00016666666666666666,[3,-1,0,0,0,0,0],"daL/min","iso1000",true,null,null,1,false,false,0,"dekalitres; dekaliters per minute; per min","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"dekaliter per minute per square meter","daL/min/m2","(DAL/MIN)/M2","volume",0.00016666666666666666,[1,-1,0,0,0,0,0],"(daL/min)/(m2)","iso1000",true,null,null,1,false,false,0,"daL/min/m^2; daL/minute/m2; sq. meter; dekaliters per minutes per square meter; meter squared; dekalitres; metre","LOINC","ArVRat","Clinical","The area usually is the body surface area used to normalize cardiovascular measures for patient\'s size","l",null,"1",1,false],[false,"decibel","dB","DB","level",1,[0,0,0,0,0,0,0],"dB","levels",true,null,"lg",0.1,true,false,0,"decibels","LOINC","LogRto","Clinical","unit most commonly used in acoustics as unit of sound pressure level. (also see B[SPL] or bel sound pressure level). ","1",null,null,1,false],[false,"degree per second","deg/s","DEG/S","plane angle",0.017453292519943295,[0,-1,0,1,0,0,0],"°/s","iso1000",false,null,null,1,false,false,0,"deg/sec; deg per sec; °/sec; twist rate; angular speed; rotational speed","LOINC","ARat","Clinical","unit of angular (rotational) speed used to express turning rate","[pi].rad/360","[PI].RAD/360","2",2,false],[false,"decigram","dg","DG","mass",0.1,[0,0,1,0,0,0,0],"dg",null,false,"M",null,1,false,false,0,"decigrams; dgm; 0.1 grams; 1/10 gm","LOINC","Mass","Clinical","equal to 1/10 gram",null,null,null,null,false],[false,"deciliter","dL","DL","volume",0.0001,[3,0,0,0,0,0,0],"dL","iso1000",true,null,null,1,false,false,0,"deciliters; decilitres; 0.1 liters; 1/10 L","LOINC","Vol","Clinical","equal to 1/10 liter","l",null,"1",1,false],[false,"decimeter","dm","DM","length",0.1,[1,0,0,0,0,0,0],"dm",null,false,"L",null,1,false,false,0,"decimeters; decimetres; 0.1 meters; 1/10 m; 10 cm; centimeters","LOINC","Len","Clinical","equal to 1/10 meter or 10 centimeters",null,null,null,null,false],[false,"square decimeter per square second","dm2/s2","DM2/S2","length",0.010000000000000002,[2,-2,0,0,0,0,0],"(dm2)/(s2)",null,false,"L",null,1,false,false,0,"dm2 per s2; dm^2/s^2; decimeters squared per second squared; sq dm; sq sec","LOINC","EngMass (massic energy)","Clinical","units for energy per unit mass or Joules per kilogram (J/kg = kg.m2/s2/kg = m2/s2) ",null,null,null,null,false],[false,"dyne second per centimeter per square meter","dyn.s/(cm.m2)","(DYN.S)/(CM.M2)","force",1,[-2,-1,1,0,0,0,0],"(dyn.s)/(cm.(m2))","cgs",true,null,null,1,false,false,0,"(dyn*s)/(cm*m2); (dyn*s)/(cm*m^2); dyn s per cm per m2; m^2; dyne seconds per centimeters per square meter; centimetres; sq. meter; squared","LOINC","","Clinical","","g.cm/s2","G.CM/S2","1",1,false],[false,"dyne second per centimeter","dyn.s/cm","(DYN.S)/CM","force",1,[0,-1,1,0,0,0,0],"(dyn.s)/cm","cgs",true,null,null,1,false,false,0,"(dyn*s)/cm; dyn sec per cm; seconds; centimetre; dyne seconds","LOINC","","Clinical","","g.cm/s2","G.CM/S2","1",1,false],[false,"equivalent per liter","eq/L","EQ/L","amount of substance",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"eq/L","chemical",true,null,null,1,false,false,1,"eq/liter; eq/litre; eqs; equivalents per liter; litre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"equivalent per milliliter","eq/mL","EQ/ML","amount of substance",6.0221367e+29,[-3,0,0,0,0,0,0],"eq/mL","chemical",true,null,null,1,false,false,1,"equivalent/milliliter; equivalents per milliliter; eq per mL; millilitre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"equivalent per millimole","eq/mmol","EQ/MMOL","amount of substance",1000,[0,0,0,0,0,0,0],"eq/mmol","chemical",true,null,null,1,false,false,0,"equivalent/millimole; equivalents per millimole; eq per mmol","LOINC","SRto","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"equivalent per micromole","eq/umol","EQ/UMOL","amount of substance",1000000,[0,0,0,0,0,0,0],"eq/μmol","chemical",true,null,null,1,false,false,0,"equivalent/micromole; equivalents per micromole; eq per umol","LOINC","SRto","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"femtogram","fg","FG","mass",1e-15,[0,0,1,0,0,0,0],"fg",null,false,"M",null,1,false,false,0,"fg; fgm; femtograms; weight","LOINC","Mass","Clinical","equal to 10^-15 grams",null,null,null,null,false],[false,"femtoliter","fL","FL","volume",1e-18,[3,0,0,0,0,0,0],"fL","iso1000",true,null,null,1,false,false,0,"femtolitres; femtoliters","LOINC","Vol; EntVol","Clinical","equal to 10^-15 liters","l",null,"1",1,false],[false,"femtometer","fm","FM","length",1e-15,[1,0,0,0,0,0,0],"fm",null,false,"L",null,1,false,false,0,"femtometres; femtometers","LOINC","Len","Clinical","equal to 10^-15 meters",null,null,null,null,false],[false,"femtomole","fmol","FMOL","amount of substance",602213670,[0,0,0,0,0,0,0],"fmol","si",true,null,null,1,false,false,1,"femtomoles","LOINC","EntSub","Clinical","equal to 10^-15 moles","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per gram","fmol/g","FMOL/G","amount of substance",602213670,[0,0,-1,0,0,0,0],"fmol/g","si",true,null,null,1,false,false,1,"femtomoles; fmol/gm; fmol per gm","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per liter","fmol/L","FMOL/L","amount of substance",602213670000,[-3,0,0,0,0,0,0],"fmol/L","si",true,null,null,1,false,false,1,"femtomoles; fmol per liter; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per milligram","fmol/mg","FMOL/MG","amount of substance",602213670000,[0,0,-1,0,0,0,0],"fmol/mg","si",true,null,null,1,false,false,1,"fmol per mg; femtomoles","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"femtomole per milliliter","fmol/mL","FMOL/ML","amount of substance",602213670000000,[-3,0,0,0,0,0,0],"fmol/mL","si",true,null,null,1,false,false,1,"femtomoles; millilitre; fmol per mL; fmol per milliliter","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"gram meter","g.m","G.M","mass",1,[1,0,1,0,0,0,0],"g.m",null,false,"M",null,1,false,false,0,"g*m; gxm; meters; metres","LOINC","Enrg","Clinical","Unit for measuring stroke work (heart work)",null,null,null,null,false],[false,"gram per 100 gram","g/(100.g)","G/G","mass",0.01,[0,0,0,0,0,0,0],"g/g",null,false,"M",null,1,false,false,0,"g/100 gm; 100gm; grams per 100 grams; gm per 100 gm","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"gram per 12 hour","g/(12.h)","G/HR","mass",0.000023148148148148147,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/12hrs; 12 hrs; gm per 12 hrs; 12hrs; grams per 12 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 24 hour","g/(24.h)","G/HR","mass",0.000011574074074074073,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/24hrs; gm/24 hrs; gm per 24 hrs; 24hrs; grams per 24 hours; gm/dy; gm per dy; grams per day","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 3 days","g/(3.d)","G/D","mass",0.000003858024691358025,[0,-1,1,0,0,0,0],"g/d",null,false,"M",null,1,false,false,0,"gm/3dy; gm/3 dy; gm per 3 days; grams","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 4 hour","g/(4.h)","G/HR","mass",0.00006944444444444444,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/4hrs; gm/4 hrs; gm per 4 hrs; 4hrs; grams per 4 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 48 hour","g/(48.h)","G/HR","mass",0.000005787037037037037,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/48hrs; gm/48 hrs; gm per 48 hrs; 48hrs; grams per 48 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 5 hour","g/(5.h)","G/HR","mass",0.00005555555555555556,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/5hrs; gm/5 hrs; gm per 5 hrs; 5hrs; grams per 5 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 6 hour","g/(6.h)","G/HR","mass",0.000046296296296296294,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/6hrs; gm/6 hrs; gm per 6 hrs; 6hrs; grams per 6 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per 72 hour","g/(72.h)","G/HR","mass",0.000003858024691358025,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/72hrs; gm/72 hrs; gm per 72 hrs; 72hrs; grams per 72 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per cubic centimeter","g/cm3","G/CM3","mass",999999.9999999999,[-3,0,1,0,0,0,0],"g/(cm3)",null,false,"M",null,1,false,false,0,"g/cm^3; gm per cm3; g per cm^3; grams per centimeter cubed; cu. cm; centimetre; g/mL; gram per milliliter; millilitre","LOINC","MCnc","Clinical","g/cm3 = g/mL",null,null,null,null,false],[false,"gram per day","g/d","G/D","mass",0.000011574074074074073,[0,-1,1,0,0,0,0],"g/d",null,false,"M",null,1,false,false,0,"gm/dy; gm per dy; grams per day; gm/24hrs; gm/24 hrs; gm per 24 hrs; 24hrs; grams per 24 hours; serving","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per deciliter","g/dL","G/DL","mass",10000,[-3,0,1,0,0,0,0],"g/dL",null,false,"M",null,1,false,false,0,"gm/dL; gm per dL; grams per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"gram per gram","g/g","G/G","mass",1,[0,0,0,0,0,0,0],"g/g",null,false,"M",null,1,false,false,0,"gm; grams","LOINC","MRto ","Clinical","",null,null,null,null,false],[false,"gram per hour","g/h","G/HR","mass",0.0002777777777777778,[0,-1,1,0,0,0,0],"g/h",null,false,"M",null,1,false,false,0,"gm/hr; gm per hr; grams; intake; output","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per hour per square meter","g/h/m2","(G/HR)/M2","mass",0.0002777777777777778,[-2,-1,1,0,0,0,0],"(g/h)/(m2)",null,false,"M",null,1,false,false,0,"gm/hr/m2; gm/h/m2; /m^2; sq. m; g per hr per m2; grams per hours per square meter; meter squared; metre","LOINC","ArMRat","Clinical","",null,null,null,null,false],[false,"gram per kilogram","g/kg ","G/KG","mass",0.001,[0,0,0,0,0,0,0],"g/kg",null,false,"M",null,1,false,false,0,"g per kg; gram per kilograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"gram per kilogram per 8 hour ","g/kg/(8.h)","(G/KG)/HR","mass",3.472222222222222e-8,[0,-1,0,0,0,0,0],"(g/kg)/h",null,false,"M",null,1,false,false,0,"g/(8.kg.h); gm/kg/8hrs; 8 hrs; g per kg per 8 hrs; 8hrs; grams per kilograms per 8 hours; shift","LOINC","MCntRat; RelMRat","Clinical","unit often used to describe mass in grams of protein consumed in a 8 hours, divided by the subject\'s body weight in kilograms. Also used to measure mass dose rate per body mass",null,null,null,null,false],[false,"gram per kilogram per day","g/kg/d","(G/KG)/D","mass",1.1574074074074074e-8,[0,-1,0,0,0,0,0],"(g/kg)/d",null,false,"M",null,1,false,false,0,"g/(kg.d); gm/kg/dy; gm per kg per dy; grams per kilograms per day","LOINC","RelMRat","Clinical","unit often used to describe mass in grams of protein consumed in a day, divided by the subject\'s body weight in kilograms. Also used to measure mass dose rate per body mass",null,null,null,null,false],[false,"gram per kilogram per hour","g/kg/h","(G/KG)/HR","mass",2.7777777777777776e-7,[0,-1,0,0,0,0,0],"(g/kg)/h",null,false,"M",null,1,false,false,0,"g/(kg.h); g/kg/hr; g per kg per hrs; grams per kilograms per hour","LOINC","MCntRat; RelMRat","Clinical","unit used to measure mass dose rate per body mass",null,null,null,null,false],[false,"gram per kilogram per minute","g/kg/min","(G/KG)/MIN","mass",0.000016666666666666667,[0,-1,0,0,0,0,0],"(g/kg)/min",null,false,"M",null,1,false,false,0,"g/(kg.min); g/kg/min; g per kg per min; grams per kilograms per minute","LOINC","MCntRat; RelMRat","Clinical","unit used to measure mass dose rate per body mass",null,null,null,null,false],[false,"gram per liter","g/L","G/L","mass",1000,[-3,0,1,0,0,0,0],"g/L",null,false,"M",null,1,false,false,0,"gm per liter; g/liter; grams per liter; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"gram per square meter","g/m2","G/M2","mass",1,[-2,0,1,0,0,0,0],"g/(m2)",null,false,"M",null,1,false,false,0,"g/m^2; gram/square meter; g/sq m; g per m2; g per m^2; grams per square meter; meters squared; metre","LOINC","ArMass","Clinical","Tests measure myocardial mass (heart ventricle system) per body surface area; unit used to measure mass dose per body surface area",null,null,null,null,false],[false,"gram per milligram","g/mg","G/MG","mass",1000,[0,0,0,0,0,0,0],"g/mg",null,false,"M",null,1,false,false,0,"g per mg; grams per milligram","LOINC","MCnt; MRto","Clinical","",null,null,null,null,false],[false,"gram per minute","g/min","G/MIN","mass",0.016666666666666666,[0,-1,1,0,0,0,0],"g/min",null,false,"M",null,1,false,false,0,"g per min; grams per minute; gram/minute","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"gram per milliliter","g/mL","G/ML","mass",1000000,[-3,0,1,0,0,0,0],"g/mL",null,false,"M",null,1,false,false,0,"g per mL; grams per milliliter; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"gram per millimole","g/mmol","G/MMOL","mass",1.6605401866749388e-21,[0,0,1,0,0,0,0],"g/mmol",null,false,"M",null,1,false,false,-1,"grams per millimole; g per mmol","LOINC","Ratio","Clinical","",null,null,null,null,false],[false,"joule per liter","J/L","J/L","energy",1000000,[-1,-2,1,0,0,0,0],"J/L","si",true,null,null,1,false,false,0,"joules per liter; litre; J per L","LOINC","EngCnc","Clinical","","N.m","N.M","1",1,false],[false,"degree Kelvin per Watt","K/W","K/W","temperature",0.001,[-2,3,-1,0,1,0,0],"K/W",null,false,"C",null,1,false,false,0,"degree Kelvin/Watt; K per W; thermal ohm; thermal resistance; degrees","LOINC","TempEngRat","Clinical","unit for absolute thermal resistance equal to the reciprocal of thermal conductance. Unit used for tests to measure work of breathing",null,null,null,null,false],[false,"kilo international unit per liter","k[IU]/L","K[IU]/L","arbitrary",1000000,[-3,0,0,0,0,0,0],"(ki.U.)/L","chemical",true,null,null,1,false,true,0,"kIU/L; kIU per L; kIU per liter; kilo international units; litre; allergens; allergy units","LOINC","ACnc","Clinical","IgE has an WHO reference standard so IgE allergen testing can be reported as k[IU]/L","[iU]","[IU]","1",1,false],[false,"kilo international unit per milliliter","k[IU]/mL","K[IU]/ML","arbitrary",1000000000,[-3,0,0,0,0,0,0],"(ki.U.)/mL","chemical",true,null,null,1,false,true,0,"kIU/mL; kIU per mL; kIU per milliliter; kilo international units; millilitre; allergens; allergy units","LOINC","ACnc","Clinical","IgE has an WHO reference standard so IgE allergen testing can be reported as k[IU]/mL","[iU]","[IU]","1",1,false],[false,"katal per kilogram","kat/kg","KAT/KG","catalytic activity",602213670000000000000,[0,-1,-1,0,0,0,0],"kat/kg","chemical",true,null,null,1,false,false,1,"kat per kg; katals per kilogram; mol/s/kg; moles per seconds per kilogram","LOINC","CCnt","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"katal per liter","kat/L","KAT/L","catalytic activity",6.0221366999999994e+26,[-3,-1,0,0,0,0,0],"kat/L","chemical",true,null,null,1,false,false,1,"kat per L; katals per liter; litre; mol/s/L; moles per seconds per liter","LOINC","CCnc","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"kilocalorie","kcal","KCAL","energy",4184000,[2,-2,1,0,0,0,0],"kcal","heat",true,null,null,1,false,false,0,"kilogram calories; large calories; food calories; kcals","LOINC","EngRat","Clinical","It is equal to 1000 calories (equal to 4.184 kJ). But in practical usage, kcal refers to food calories which excludes caloric content in fiber and other constitutes that is not digestible by humans. Also see nutrition label Calories ([Cal])","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per 24 hour","kcal/(24.h)","KCAL/HR","energy",48.425925925925924,[2,-3,1,0,0,0,0],"kcal/h","heat",true,null,null,1,false,false,0,"kcal/24hrs; kcal/24 hrs; kcal per 24hrs; kilocalories per 24 hours; kilojoules; kJ/24hr; kJ/(24.h); kJ/dy; kilojoules per days; intake; calories burned; metabolic rate; food calories","","EngRat","Clinical","","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per ounce","kcal/[oz_av]","KCAL/[OZ_AV]","energy",147586.25679704445,[2,-2,0,0,0,0,0],"kcal/oz","heat",true,null,null,1,false,false,0,"kcal/oz; kcal per ozs; large calories per ounces; food calories; servings; international","LOINC","EngCnt","Clinical","used in nutrition to represent calorie of food","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per day","kcal/d","KCAL/D","energy",48.425925925925924,[2,-3,1,0,0,0,0],"kcal/d","heat",true,null,null,1,false,false,0,"kcal/dy; kcal per day; kilocalories per days; kilojoules; kJ/dy; kilojoules per days; intake; calories burned; metabolic rate; food calories","LOINC","EngRat","Clinical","unit in nutrition for food intake (measured in calories) in a day","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per hour","kcal/h","KCAL/HR","energy",1162.2222222222222,[2,-3,1,0,0,0,0],"kcal/h","heat",true,null,null,1,false,false,0,"kcal/hrs; kcals per hr; intake; kilocalories per hours; kilojoules","LOINC","EngRat","Clinical","used in nutrition to represent caloric requirement or consumption","cal_th","CAL_TH","1",1,false],[false,"kilocalorie per kilogram per 24 hour","kcal/kg/(24.h)","(KCAL/KG)/HR","energy",0.04842592592592593,[2,-3,0,0,0,0,0],"(kcal/kg)/h","heat",true,null,null,1,false,false,0,"kcal/kg/24hrs; 24 hrs; kcal per kg per 24hrs; kilocalories per kilograms per 24 hours; kilojoules","LOINC","EngCntRat","Clinical","used in nutrition to represent caloric requirement per day based on subject\'s body weight in kilograms","cal_th","CAL_TH","1",1,false],[false,"kilogram","kg","KG","mass",1000,[0,0,1,0,0,0,0],"kg",null,false,"M",null,1,false,false,0,"kilograms; kgs","LOINC","Mass","Clinical","",null,null,null,null,false],[false,"kilogram meter per second","kg.m/s","(KG.M)/S","mass",1000,[1,-1,1,0,0,0,0],"(kg.m)/s",null,false,"M",null,1,false,false,0,"kg*m/s; kg.m per sec; kg*m per sec; p; momentum","LOINC","","Clinical","unit for momentum = mass times velocity",null,null,null,null,false],[false,"kilogram per second per square meter","kg/(s.m2)","KG/(S.M2)","mass",1000,[-2,-1,1,0,0,0,0],"kg/(s.(m2))",null,false,"M",null,1,false,false,0,"kg/(s*m2); kg/(s*m^2); kg per s per m2; per sec; per m^2; kilograms per seconds per square meter; meter squared; metre","LOINC","ArMRat","Clinical","",null,null,null,null,false],[false,"kilogram per hour","kg/h","KG/HR","mass",0.2777777777777778,[0,-1,1,0,0,0,0],"kg/h",null,false,"M",null,1,false,false,0,"kg/hr; kg per hr; kilograms per hour","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"kilogram per liter","kg/L","KG/L","mass",1000000,[-3,0,1,0,0,0,0],"kg/L",null,false,"M",null,1,false,false,0,"kg per liter; litre; kilograms","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"kilogram per square meter","kg/m2","KG/M2","mass",1000,[-2,0,1,0,0,0,0],"kg/(m2)",null,false,"M",null,1,false,false,0,"kg/m^2; kg/sq. m; kg per m2; per m^2; per sq. m; kilograms; meter squared; metre; BMI","LOINC","Ratio","Clinical","units for body mass index (BMI)",null,null,null,null,false],[false,"kilogram per cubic meter","kg/m3","KG/M3","mass",1000,[-3,0,1,0,0,0,0],"kg/(m3)",null,false,"M",null,1,false,false,0,"kg/m^3; kg/cu. m; kg per m3; per m^3; per cu. m; kilograms; meters cubed; metre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"kilogram per minute","kg/min","KG/MIN","mass",16.666666666666668,[0,-1,1,0,0,0,0],"kg/min",null,false,"M",null,1,false,false,0,"kilogram/minute; kg per min; kilograms per minute","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"kilogram per mole","kg/mol","KG/MOL","mass",1.6605401866749388e-21,[0,0,1,0,0,0,0],"kg/mol",null,false,"M",null,1,false,false,-1,"kilogram/mole; kg per mol; kilograms per mole","LOINC","SCnt","Clinical","",null,null,null,null,false],[false,"kilogram per second","kg/s","KG/S","mass",1000,[0,-1,1,0,0,0,0],"kg/s",null,false,"M",null,1,false,false,0,"kg/sec; kilogram/second; kg per sec; kilograms; second","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"kiloliter","kL","KL","volume",1,[3,0,0,0,0,0,0],"kL","iso1000",true,null,null,1,false,false,0,"kiloliters; kilolitres; m3; m^3; meters cubed; metre","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"kilometer","km","KM","length",1000,[1,0,0,0,0,0,0],"km",null,false,"L",null,1,false,false,0,"kilometers; kilometres; distance","LOINC","Len","Clinical","",null,null,null,null,false],[false,"kilopascal","kPa","KPAL","pressure",1000000,[-1,-2,1,0,0,0,0],"kPa","si",true,null,null,1,false,false,0,"kilopascals; pressure","LOINC","Pres; PPresDiff","Clinical","","N/m2","N/M2","1",1,false],[false,"kilosecond","ks","KS","time",1000,[0,1,0,0,0,0,0],"ks",null,false,"T",null,1,false,false,0,"kiloseconds; ksec","LOINC","Time","Clinical","",null,null,null,null,false],[false,"kilo enzyme unit","kU","KU","catalytic activity",10036894500000000000,[0,-1,0,0,0,0,0],"kU","chemical",true,null,null,1,false,false,1,"units; mmol/min; millimoles per minute","LOINC","CAct","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"kilo enzyme unit per gram","kU/g","KU/G","catalytic activity",10036894500000000000,[0,-1,-1,0,0,0,0],"kU/g","chemical",true,null,null,1,false,false,1,"units per grams; kU per gm","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"kilo enzyme unit per liter","kU/L","KU/L","catalytic activity",1.00368945e+22,[-3,-1,0,0,0,0,0],"kU/L","chemical",true,null,null,1,false,false,1,"units per liter; litre; enzymatic activity; enzyme activity per volume; activities","LOINC","ACnc; CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"kilo enzyme unit per milliliter","kU/mL","KU/ML","catalytic activity",1.00368945e+25,[-3,-1,0,0,0,0,0],"kU/mL","chemical",true,null,null,1,false,false,1,"kU per mL; units per milliliter; millilitre; enzymatic activity per volume; enzyme activities","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min","umol/min","UMOL/MIN","1",1,false],[false,"Liters per 24 hour","L/(24.h)","L/HR","volume",1.1574074074074074e-8,[3,-1,0,0,0,0,0],"L/h","iso1000",true,null,null,1,false,false,0,"L/24hrs; L/24 hrs; L per 24hrs; liters per 24 hours; day; dy; litres; volume flow rate","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per 8 hour","L/(8.h)","L/HR","volume",3.472222222222222e-8,[3,-1,0,0,0,0,0],"L/h","iso1000",true,null,null,1,false,false,0,"L/8hrs; L/8 hrs; L per 8hrs; liters per 8 hours; litres; volume flow rate; shift","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per minute per square meter","L/(min.m2) ","L/(MIN.M2)","volume",0.000016666666666666667,[1,-1,0,0,0,0,0],"L/(min.(m2))","iso1000",true,null,null,1,false,false,0,"L/(min.m2); L/min/m^2; L/min/sq. meter; L per min per m2; m^2; liters per minutes per square meter; meter squared; litres; metre ","LOINC","ArVRat","Clinical","unit for tests that measure cardiac output per body surface area (cardiac index)","l",null,"1",1,false],[false,"Liters per day","L/d","L/D","volume",1.1574074074074074e-8,[3,-1,0,0,0,0,0],"L/d","iso1000",true,null,null,1,false,false,0,"L/dy; L per day; 24hrs; 24 hrs; 24 hours; liters; litres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per hour","L/h","L/HR","volume",2.7777777777777776e-7,[3,-1,0,0,0,0,0],"L/h","iso1000",true,null,null,1,false,false,0,"L/hr; L per hr; litres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per kilogram","L/kg","L/KG","volume",0.000001,[3,0,-1,0,0,0,0],"L/kg","iso1000",true,null,null,1,false,false,0,"L per kg; litre","LOINC","VCnt","Clinical","","l",null,"1",1,false],[false,"Liters per liter","L/L","L/L","volume",1,[0,0,0,0,0,0,0],"L/L","iso1000",true,null,null,1,false,false,0,"L per L; liter/liter; litre","LOINC","VFr","Clinical","","l",null,"1",1,false],[false,"Liters per minute","L/min","L/MIN","volume",0.000016666666666666667,[3,-1,0,0,0,0,0],"L/min","iso1000",true,null,null,1,false,false,0,"liters per minute; litre","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"Liters per minute per square meter","L/min/m2","(L/MIN)/M2","volume",0.000016666666666666667,[1,-1,0,0,0,0,0],"(L/min)/(m2)","iso1000",true,null,null,1,false,false,0,"L/(min.m2); L/min/m^2; L/min/sq. meter; L per min per m2; m^2; liters per minutes per square meter; meter squared; litres; metre ","","ArVRat","Clinical","unit for tests that measure cardiac output per body surface area (cardiac index)","l",null,"1",1,false],[false,"Liters per second","L/s","L/S","volume",0.001,[3,-1,0,0,0,0,0],"L/s","iso1000",true,null,null,1,false,false,0,"L per sec; litres","LOINC","VRat","Clinical","unit used often to measure gas flow and peak expiratory flow","l",null,"1",1,false],[false,"Liters per second per square second","L/s/s2","(L/S)/S2","volume",0.001,[3,-3,0,0,0,0,0],"(L/s)/(s2)","iso1000",true,null,null,1,false,false,0,"L/s/s^2; L/sec/sec2; L/sec/sec^2; L/sec/sq. sec; L per s per s2; L per sec per sec2; s^2; sec^2; liters per seconds per square second; second squared; litres ","LOINC","ArVRat","Clinical","unit for tests that measure cardiac output/body surface area","l",null,"1",1,false],[false,"lumen square meter","lm.m2","LM.M2","luminous flux",1,[2,0,0,2,0,0,1],"lm.(m2)","si",true,null,null,1,false,false,0,"lm*m2; lm*m^2; lumen meters squared; lumen sq. meters; metres","LOINC","","Clinical","","cd.sr","CD.SR","1",1,false],[false,"meter per second","m/s","M/S","length",1,[1,-1,0,0,0,0,0],"m/s",null,false,"L",null,1,false,false,0,"meter/second; m per sec; meters per second; metres; velocity; speed","LOINC","Vel","Clinical","unit of velocity",null,null,null,null,false],[false,"meter per square second","m/s2","M/S2","length",1,[1,-2,0,0,0,0,0],"m/(s2)",null,false,"L",null,1,false,false,0,"m/s^2; m/sq. sec; m per s2; per s^2; meters per square second; second squared; sq second; metres; acceleration","LOINC","Accel","Clinical","unit of acceleration",null,null,null,null,false],[false,"milli international unit per liter","m[IU]/L","M[IU]/L","arbitrary",1,[-3,0,0,0,0,0,0],"(mi.U.)/L","chemical",true,null,null,1,false,true,0,"mIU/L; m IU/L; mIU per liter; units; litre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"milli international unit per milliliter","m[IU]/mL","M[IU]/ML","arbitrary",1000.0000000000001,[-3,0,0,0,0,0,0],"(mi.U.)/mL","chemical",true,null,null,1,false,true,0,"mIU/mL; m IU/mL; mIU per mL; milli international units per milliliter; millilitre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"square meter","m2","M2","length",1,[2,0,0,0,0,0,0],"m2",null,false,"L",null,1,false,false,0,"m^2; sq m; square meters; meters squared; metres","LOINC","Area","Clinical","unit often used to represent body surface area",null,null,null,null,false],[false,"square meter per second","m2/s","M2/S","length",1,[2,-1,0,0,0,0,0],"(m2)/s",null,false,"L",null,1,false,false,0,"m^2/sec; m2 per sec; m^2 per sec; sq m/sec; meters squared/seconds; sq m per sec; meters squared; metres","LOINC","ArRat","Clinical","",null,null,null,null,false],[false,"cubic meter per second","m3/s","M3/S","length",1,[3,-1,0,0,0,0,0],"(m3)/s",null,false,"L",null,1,false,false,0,"m^3/sec; m3 per sec; m^3 per sec; cu m/sec; cubic meters per seconds; meters cubed; metres","LOINC","VRat","Clinical","",null,null,null,null,false],[false,"milliampere","mA","MA","electric current",0.001,[0,-1,0,0,0,1,0],"mA","si",true,null,null,1,false,false,0,"mamp; milliamperes","LOINC","ElpotRat","Clinical","unit of electric current","C/s","C/S","1",1,false],[false,"millibar","mbar","MBAR","pressure",100000,[-1,-2,1,0,0,0,0],"mbar","iso1000",true,null,null,1,false,false,0,"millibars","LOINC","Pres","Clinical","unit of pressure","Pa","PAL","1e5",100000,false],[false,"millibar second per liter","mbar.s/L","(MBAR.S)/L","pressure",100000000,[-4,-1,1,0,0,0,0],"(mbar.s)/L","iso1000",true,null,null,1,false,false,0,"mbar*s/L; mbar.s per L; mbar*s per L; millibar seconds per liter; millibar second per litre","LOINC","","Clinical","unit to measure expiratory resistance","Pa","PAL","1e5",100000,false],[false,"millibar per liter per second","mbar/L/s","(MBAR/L)/S","pressure",100000000,[-4,-3,1,0,0,0,0],"(mbar/L)/s","iso1000",true,null,null,1,false,false,0,"mbar/(L.s); mbar/L/sec; mbar/liter/second; mbar per L per sec; mbar per liter per second; millibars per liters per seconds; litres","LOINC","PresCncRat","Clinical","unit to measure expiratory resistance","Pa","PAL","1e5",100000,false],[false,"milliequivalent","meq","MEQ","amount of substance",602213670000000000000,[0,0,0,0,0,0,0],"meq","chemical",true,null,null,1,false,false,1,"milliequivalents; meqs","LOINC","Sub","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per 2 hour","meq/(2.h)","MEQ/HR","amount of substance",83640787500000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/2hrs; meq/2 hrs; meq per 2 hrs; milliequivalents per 2 hours","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per 24 hour","meq/(24.h)","MEQ/HR","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/24hrs; meq/24 hrs; meq per 24 hrs; milliequivalents per 24 hours","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per 8 hour","meq/(8.h)","MEQ/HR","amount of substance",20910196875000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/8hrs; meq/8 hrs; meq per 8 hrs; milliequivalents per 8 hours; shift","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per day","meq/d","MEQ/D","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"meq/d","chemical",true,null,null,1,false,false,1,"meq/dy; meq per day; milliquivalents per days; meq/24hrs; meq/24 hrs; meq per 24 hrs; milliequivalents per 24 hours","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per deciliter","meq/dL","MEQ/DL","amount of substance",6.022136699999999e+24,[-3,0,0,0,0,0,0],"meq/dL","chemical",true,null,null,1,false,false,1,"meq per dL; milliequivalents per deciliter; decilitre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per gram","meq/g","MEQ/G","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"meq/g","chemical",true,null,null,1,false,false,1,"mgq/gm; meq per gm; milliequivalents per gram","LOINC","MCnt","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per hour","meq/h","MEQ/HR","amount of substance",167281575000000000,[0,-1,0,0,0,0,0],"meq/h","chemical",true,null,null,1,false,false,1,"meq/hrs; meq per hrs; milliequivalents per hour","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per kilogram","meq/kg","MEQ/KG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"meq/kg","chemical",true,null,null,1,false,false,1,"meq per kg; milliequivalents per kilogram","LOINC","SCnt","Clinical","equivalence equals moles per valence; used to measure dose per patient body mass","mol","MOL","1",1,false],[false,"milliequivalent per kilogram per hour","meq/kg/h","(MEQ/KG)/HR","amount of substance",167281575000000,[0,-1,-1,0,0,0,0],"(meq/kg)/h","chemical",true,null,null,1,false,false,1,"meq/(kg.h); meq/kg/hr; meq per kg per hr; milliequivalents per kilograms per hour","LOINC","SCntRat","Clinical","equivalence equals moles per valence; unit used to measure dose rate per patient body mass","mol","MOL","1",1,false],[false,"milliequivalent per liter","meq/L","MEQ/L","amount of substance",6.0221367e+23,[-3,0,0,0,0,0,0],"meq/L","chemical",true,null,null,1,false,false,1,"milliequivalents per liter; litre; meq per l; acidity","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per square meter","meq/m2","MEQ/M2","amount of substance",602213670000000000000,[-2,0,0,0,0,0,0],"meq/(m2)","chemical",true,null,null,1,false,false,1,"meq/m^2; meq/sq. m; milliequivalents per square meter; meter squared; metre","LOINC","ArSub","Clinical","equivalence equals moles per valence; note that the use of m2 in clinical units ofter refers to body surface area","mol","MOL","1",1,false],[false,"milliequivalent per minute","meq/min","MEQ/MIN","amount of substance",10036894500000000000,[0,-1,0,0,0,0,0],"meq/min","chemical",true,null,null,1,false,false,1,"meq per min; milliequivalents per minute","LOINC","SRat","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milliequivalent per milliliter","meq/mL","MEQ/ML","amount of substance",6.0221367e+26,[-3,0,0,0,0,0,0],"meq/mL","chemical",true,null,null,1,false,false,1,"meq per mL; milliequivalents per milliliter; millilitre","LOINC","SCnc","Clinical","equivalence equals moles per valence","mol","MOL","1",1,false],[false,"milligram","mg","MG","mass",0.001,[0,0,1,0,0,0,0],"mg",null,false,"M",null,1,false,false,0,"milligrams","LOINC","Mass","Clinical","",null,null,null,null,false],[false,"milligram per 10 hour","mg/(10.h)","MG/HR","mass",2.7777777777777777e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/10hrs; mg/10 hrs; mg per 10 hrs; milligrams per 10 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per 12 hour","mg/(12.h)","MG/HR","mass",2.3148148148148148e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/12hrs; mg/12 hrs; per 12 hrs; 12hrs; milligrams per 12 hours","LOINC","MRat","Clinical","units used for tests in urine",null,null,null,null,false],[false,"milligram per 2 hour","mg/(2.h)","MG/HR","mass",1.3888888888888888e-7,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/2hrs; mg/2 hrs; mg per 2 hrs; 2hrs; milligrams per 2 hours","LOINC","MRat","Clinical","units used for tests in urine",null,null,null,null,false],[false,"milligram per 24 hour","mg/(24.h)","MG/HR","mass",1.1574074074074074e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/24hrs; mg/24 hrs; milligrams per 24 hours; mg/kg/dy; mg per kg per day; milligrams per kilograms per days","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per 6 hour","mg/(6.h)","MG/HR","mass",4.6296296296296295e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/6hrs; mg/6 hrs; mg per 6 hrs; 6hrs; milligrams per 6 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per 72 hour","mg/(72.h)","MG/HR","mass",3.858024691358025e-9,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/72hrs; mg/72 hrs; 72 hrs; 72hrs; milligrams per 72 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per 8 hour","mg/(8.h)","MG/HR","mass",3.472222222222222e-8,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/8hrs; mg/8 hrs; milligrams per 8 hours; shift","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per day","mg/d","MG/D","mass",1.1574074074074074e-8,[0,-1,1,0,0,0,0],"mg/d",null,false,"M",null,1,false,false,0,"mg/24hrs; mg/24 hrs; milligrams per 24 hours; mg/dy; mg per day; milligrams","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per deciliter","mg/dL","MG/DL","mass",10,[-3,0,1,0,0,0,0],"mg/dL",null,false,"M",null,1,false,false,0,"mg per dL; milligrams per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"milligram per gram","mg/g","MG/G","mass",0.001,[0,0,0,0,0,0,0],"mg/g",null,false,"M",null,1,false,false,0,"mg per gm; milligrams per gram","LOINC","MCnt; MRto","Clinical","",null,null,null,null,false],[false,"milligram per hour","mg/h","MG/HR","mass",2.7777777777777776e-7,[0,-1,1,0,0,0,0],"mg/h",null,false,"M",null,1,false,false,0,"mg/hr; mg per hr; milligrams","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per kilogram","mg/kg","MG/KG","mass",0.000001,[0,0,0,0,0,0,0],"mg/kg",null,false,"M",null,1,false,false,0,"mg per kg; milligrams per kilograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"milligram per kilogram per 8 hour","mg/kg/(8.h)","(MG/KG)/HR","mass",3.472222222222222e-11,[0,-1,0,0,0,0,0],"(mg/kg)/h",null,false,"M",null,1,false,false,0,"mg/(8.h.kg); mg/kg/8hrs; mg/kg/8 hrs; mg per kg per 8hrs; 8 hrs; milligrams per kilograms per 8 hours; shift","LOINC","RelMRat; MCntRat","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"milligram per kilogram per day","mg/kg/d","(MG/KG)/D","mass",1.1574074074074074e-11,[0,-1,0,0,0,0,0],"(mg/kg)/d",null,false,"M",null,1,false,false,0,"mg/(kg.d); mg/(kg.24.h)mg/kg/dy; mg per kg per day; milligrams per kilograms per days; mg/kg/(24.h); mg/kg/24hrs; 24 hrs; 24 hours","LOINC","RelMRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"milligram per kilogram per hour","mg/kg/h","(MG/KG)/HR","mass",2.7777777777777777e-10,[0,-1,0,0,0,0,0],"(mg/kg)/h",null,false,"M",null,1,false,false,0,"mg/(kg.h); mg/kg/hr; mg per kg per hr; milligrams per kilograms per hour","LOINC","RelMRat; MCntRat","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"milligram per kilogram per minute","mg/kg/min","(MG/KG)/MIN","mass",1.6666666666666667e-8,[0,-1,0,0,0,0,0],"(mg/kg)/min",null,false,"M",null,1,false,false,0,"mg/(kg.min); mg per kg per min; milligrams per kilograms per minute","LOINC","RelMRat; MCntRat","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"milligram per liter","mg/L","MG/L","mass",1,[-3,0,1,0,0,0,0],"mg/L",null,false,"M",null,1,false,false,0,"mg per l; milligrams per liter; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"milligram per square meter","mg/m2","MG/M2","mass",0.001,[-2,0,1,0,0,0,0],"mg/(m2)",null,false,"M",null,1,false,false,0,"mg/m^2; mg/sq. m; mg per m2; mg per m^2; mg per sq. milligrams; meter squared; metre","LOINC","ArMass","Clinical","",null,null,null,null,false],[false,"milligram per cubic meter","mg/m3","MG/M3","mass",0.001,[-3,0,1,0,0,0,0],"mg/(m3)",null,false,"M",null,1,false,false,0,"mg/m^3; mg/cu. m; mg per m3; milligrams per cubic meter; meter cubed; metre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"milligram per milligram","mg/mg","MG/MG","mass",1,[0,0,0,0,0,0,0],"mg/mg",null,false,"M",null,1,false,false,0,"mg per mg; milligrams; milligram/milligram","LOINC","MRto","Clinical","",null,null,null,null,false],[false,"milligram per minute","mg/min","MG/MIN","mass",0.000016666666666666667,[0,-1,1,0,0,0,0],"mg/min",null,false,"M",null,1,false,false,0,"mg per min; milligrams per minutes; milligram/minute","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"milligram per milliliter","mg/mL","MG/ML","mass",1000.0000000000001,[-3,0,1,0,0,0,0],"mg/mL",null,false,"M",null,1,false,false,0,"mg per mL; milligrams per milliliters; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"milligram per millimole","mg/mmol","MG/MMOL","mass",1.660540186674939e-24,[0,0,1,0,0,0,0],"mg/mmol",null,false,"M",null,1,false,false,-1,"mg per mmol; milligrams per millimole; ","LOINC","Ratio","Clinical","",null,null,null,null,false],[false,"milligram per week","mg/wk","MG/WK","mass",1.6534391534391535e-9,[0,-1,1,0,0,0,0],"mg/wk",null,false,"M",null,1,false,false,0,"mg/week; mg per wk; milligrams per weeks; milligram/week","LOINC","Mrat","Clinical","",null,null,null,null,false],[false,"milliliter","mL","ML","volume",0.000001,[3,0,0,0,0,0,0],"mL","iso1000",true,null,null,1,false,false,0,"milliliters; millilitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"milliliter per 10 hour","mL/(10.h)","ML/HR","volume",2.7777777777777777e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/10hrs; ml/10 hrs; mL per 10hrs; 10 hrs; milliliters per 10 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 12 hour","mL/(12.h)","ML/HR","volume",2.3148148148148147e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/12hrs; ml/12 hrs; mL per 12hrs; 12 hrs; milliliters per 12 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 2 hour","mL/(2.h)","ML/HR","volume",1.3888888888888888e-10,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/2hrs; ml/2 hrs; mL per 2hrs; 2 hrs; milliliters per 2 hours; millilitres ","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 24 hour","mL/(24.h)","ML/HR","volume",1.1574074074074074e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/24hrs; ml/24 hrs; mL per 24hrs; 24 hrs; milliliters per 24 hours; millilitres; ml/dy; /day; ml per dy; days; fluid outputs; fluid inputs; flow rate","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 4 hour","mL/(4.h)","ML/HR","volume",6.944444444444444e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/4hrs; ml/4 hrs; mL per 4hrs; 4 hrs; milliliters per 4 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 5 hour","mL/(5.h)","ML/HR","volume",5.5555555555555553e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/5hrs; ml/5 hrs; mL per 5hrs; 5 hrs; milliliters per 5 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 6 hour","mL/(6.h)","ML/HR","volume",4.6296296296296294e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/6hrs; ml/6 hrs; mL per 6hrs; 6 hrs; milliliters per 6 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 72 hour","mL/(72.h)","ML/HR","volume",3.8580246913580245e-12,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/72hrs; ml/72 hrs; mL per 72hrs; 72 hrs; milliliters per 72 hours; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 8 hour","mL/(8.h)","ML/HR","volume",3.472222222222222e-11,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"ml/8hrs; ml/8 hrs; mL per 8hrs; 8 hrs; milliliters per 8 hours; millilitres; shift","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per 8 hour per kilogram","mL/(8.h)/kg","(ML/HR)/KG","volume",3.472222222222222e-14,[3,-1,-1,0,0,0,0],"(mL/h)/kg","iso1000",true,null,null,1,false,false,0,"mL/kg/(8.h); ml/8h/kg; ml/8 h/kg; ml/8hr/kg; ml/8 hr/kgr; mL per 8h per kg; 8 h; 8hr; 8 hr; milliliters per 8 hours per kilogram; millilitres; shift","LOINC","VRatCnt","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per square inch (international)","mL/[sin_i]","ML/[SIN_I]","volume",0.0015500031000061998,[1,0,0,0,0,0,0],"mL","iso1000",true,null,null,1,false,false,0,"mL/sin; mL/in2; mL/in^2; mL per sin; in2; in^2; sq. in; milliliters per square inch; inch squared","LOINC","ArVol","Clinical","","l",null,"1",1,false],[false,"milliliter per centimeter of water","mL/cm[H2O]","ML/CM[H2O]","volume",1.0197162129779282e-11,[4,2,-1,0,0,0,0],"mL/(cm HO2)","iso1000",true,null,null,1,false,false,0,"milliliters per centimeter of water; millilitre per centimetre of water; millilitres per centimetre of water; mL/cmH2O; mL/cm H2O; mL per cmH2O; mL per cm H2O","LOINC","Compli","Clinical","unit used to measure dynamic lung compliance","l",null,"1",1,false],[false,"milliliter per day","mL/d","ML/D","volume",1.1574074074074074e-11,[3,-1,0,0,0,0,0],"mL/d","iso1000",true,null,null,1,false,false,0,"ml/day; ml per day; milliliters per day; 24 hours; 24hrs; millilitre;","LOINC","VRat","Clinical","usually used to measure fluid output or input; flow rate","l",null,"1",1,false],[false,"milliliter per deciliter","mL/dL","ML/DL","volume",0.009999999999999998,[0,0,0,0,0,0,0],"mL/dL","iso1000",true,null,null,1,false,false,0,"mL per dL; millilitres; decilitre; milliliters","LOINC","VFr; VFrDiff","Clinical","","l",null,"1",1,false],[false,"milliliter per hour","mL/h","ML/HR","volume",2.7777777777777777e-10,[3,-1,0,0,0,0,0],"mL/h","iso1000",true,null,null,1,false,false,0,"mL/hr; mL per hr; milliliters per hour; millilitres; fluid intake; fluid output","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per kilogram","mL/kg","ML/KG","volume",9.999999999999999e-10,[3,0,-1,0,0,0,0],"mL/kg","iso1000",true,null,null,1,false,false,0,"mL per kg; milliliters per kilogram; millilitres","LOINC","VCnt","Clinical","","l",null,"1",1,false],[false,"milliliter per kilogram per 8 hour","mL/kg/(8.h)","(ML/KG)/HR","volume",3.472222222222222e-14,[3,-1,-1,0,0,0,0],"(mL/kg)/h","iso1000",true,null,null,1,false,false,0,"mL/(8.h.kg); mL/kg/8hrs; mL/kg/8 hrs; mL per kg per 8hrs; 8 hrs; milliliters per kilograms per 8 hours; millilitres; shift","LOINC","VCntRat; RelEngRat","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per kilogram per day","mL/kg/d","(ML/KG)/D","volume",1.1574074074074072e-14,[3,-1,-1,0,0,0,0],"(mL/kg)/d","iso1000",true,null,null,1,false,false,0,"mL/(kg.d); mL/kg/dy; mL per kg per day; milliliters per kilograms per day; mg/kg/24hrs; 24 hrs; per 24 hours millilitres","LOINC","VCntRat; RelEngRat","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per kilogram per hour","mL/kg/h","(ML/KG)/HR","volume",2.7777777777777774e-13,[3,-1,-1,0,0,0,0],"(mL/kg)/h","iso1000",true,null,null,1,false,false,0,"mL/(kg.h); mL/kg/hr; mL per kg per hr; milliliters per kilograms per hour; millilitres","LOINC","VCntRat; RelEngRat","Clinical","unit used to measure renal excretion volume rate per body mass","l",null,"1",1,false],[false,"milliliter per kilogram per minute","mL/kg/min","(ML/KG)/MIN","volume",1.6666666666666664e-11,[3,-1,-1,0,0,0,0],"(mL/kg)/min","iso1000",true,null,null,1,false,false,0,"mL/(kg.min); mL/kg/dy; mL per kg per day; milliliters per kilograms per day; millilitres","LOINC","RelEngRat","Clinical","used for tests that measure activity metabolic rate compared to standard resting metabolic rate ","l",null,"1",1,false],[false,"milliliter per square meter","mL/m2","ML/M2","volume",0.000001,[1,0,0,0,0,0,0],"mL/(m2)","iso1000",true,null,null,1,false,false,0,"mL/m^2; mL/sq. meter; mL per m2; m^2; sq. meter; milliliters per square meter; millilitres; meter squared","LOINC","ArVol","Clinical","used for tests that relate to heart work - e.g. ventricular stroke volume; atrial volume per body surface area","l",null,"1",1,false],[false,"milliliter per millibar","mL/mbar","ML/MBAR","volume",1e-11,[4,2,-1,0,0,0,0],"mL/mbar","iso1000",true,null,null,1,false,false,0,"mL per mbar; milliliters per millibar; millilitres","LOINC","","Clinical","unit used to measure dynamic lung compliance","l",null,"1",1,false],[false,"milliliter per minute","mL/min","ML/MIN","volume",1.6666666666666667e-8,[3,-1,0,0,0,0,0],"mL/min","iso1000",true,null,null,1,false,false,0,"mL per min; milliliters; millilitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"milliliter per minute per square meter","mL/min/m2","(ML/MIN)/M2","volume",1.6666666666666667e-8,[1,-1,0,0,0,0,0],"(mL/min)/(m2)","iso1000",true,null,null,1,false,false,0,"ml/min/m^2; ml/min/sq. meter; mL per min per m2; m^2; sq. meter; milliliters per minutes per square meter; millilitres; metre; meter squared","LOINC","ArVRat","Clinical","unit used to measure volume per body surface area; oxygen consumption index","l",null,"1",1,false],[false,"milliliter per millimeter","mL/mm","ML/MM","volume",0.001,[2,0,0,0,0,0,0],"mL/mm","iso1000",true,null,null,1,false,false,0,"mL per mm; milliliters per millimeter; millilitres; millimetre","LOINC","Lineic Volume","Clinical","","l",null,"1",1,false],[false,"milliliter per second","mL/s","ML/S","volume",0.000001,[3,-1,0,0,0,0,0],"mL/s","iso1000",true,null,null,1,false,false,0,"ml/sec; mL per sec; milliliters per second; millilitres","LOINC","Vel; VelRat; VRat","Clinical","","l",null,"1",1,false],[false,"millimeter","mm","MM","length",0.001,[1,0,0,0,0,0,0],"mm",null,false,"L",null,1,false,false,0,"millimeters; millimetres; height; length; diameter; thickness; axis; curvature; size","LOINC","Len","Clinical","",null,null,null,null,false],[false,"millimeter per hour","mm/h","MM/HR","length",2.7777777777777776e-7,[1,-1,0,0,0,0,0],"mm/h",null,false,"L",null,1,false,false,0,"mm/hr; mm per hr; millimeters per hour; millimetres","LOINC","Vel","Clinical","unit to measure sedimentation rate",null,null,null,null,false],[false,"millimeter per minute","mm/min","MM/MIN","length",0.000016666666666666667,[1,-1,0,0,0,0,0],"mm/min",null,false,"L",null,1,false,false,0,"mm per min; millimeters per minute; millimetres","LOINC","Vel","Clinical","",null,null,null,null,false],[false,"millimeter of water","mm[H2O]","MM[H2O]","pressure",9806.65,[-1,-2,1,0,0,0,0],"mm HO2","clinical",true,null,null,1,false,false,0,"mmH2O; mm H2O; millimeters of water; millimetres","LOINC","Pres","Clinical","","kPa","KPAL","980665e-5",9.80665,false],[false,"millimeter of mercury","mm[Hg]","MM[HG]","pressure",133322,[-1,-2,1,0,0,0,0],"mm Hg","clinical",true,null,null,1,false,false,0,"mmHg; mm Hg; millimeters of mercury; millimetres","LOINC","Pres; PPres; Ratio","Clinical","1 mm[Hg] = 1 torr; unit to measure blood pressure","kPa","KPAL","133.3220",133.322,false],[false,"square millimeter","mm2","MM2","length",0.000001,[2,0,0,0,0,0,0],"mm2",null,false,"L",null,1,false,false,0,"mm^2; sq. mm.; sq. millimeters; millimeters squared; millimetres","LOINC","Area","Clinical","",null,null,null,null,false],[false,"millimole","mmol","MMOL","amount of substance",602213670000000000000,[0,0,0,0,0,0,0],"mmol","si",true,null,null,1,false,false,1,"millimoles","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 12 hour","mmol/(12.h)","MMOL/HR","amount of substance",13940131250000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/12hrs; mmol/12 hrs; mmol per 12 hrs; 12hrs; millimoles per 12 hours","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 2 hour","mmol/(2.h)","MMOL/HR","amount of substance",83640787500000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/2hrs; mmol/2 hrs; mmol per 2 hrs; 2hrs; millimoles per 2 hours","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 24 hour","mmol/(24.h)","MMOL/HR","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/24hrs; mmol/24 hrs; mmol per 24 hrs; 24hrs; millimoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 5 hour","mmol/(5.h)","MMOL/HR","amount of substance",33456315000000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/5hrs; mmol/5 hrs; mmol per 5 hrs; 5hrs; millimoles per 5 hours","LOINC","SRat","Clinical","unit for tests related to doses","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 6 hour","mmol/(6.h)","MMOL/HR","amount of substance",27880262500000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/6hrs; mmol/6 hrs; mmol per 6 hrs; 6hrs; millimoles per 6 hours","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per 8 hour","mmol/(8.h)","MMOL/HR","amount of substance",20910196875000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/8hrs; mmol/8 hrs; mmol per 8 hrs; 8hrs; millimoles per 8 hours; shift","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per day","mmol/d","MMOL/D","amount of substance",6970065625000000,[0,-1,0,0,0,0,0],"mmol/d","si",true,null,null,1,false,false,1,"mmol/24hrs; mmol/24 hrs; mmol per 24 hrs; 24hrs; millimoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per deciliter","mmol/dL","MMOL/DL","amount of substance",6.022136699999999e+24,[-3,0,0,0,0,0,0],"mmol/dL","si",true,null,null,1,false,false,1,"mmol per dL; millimoles; decilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per gram","mmol/g","MMOL/G","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"mmol/g","si",true,null,null,1,false,false,1,"mmol per gram; millimoles","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per hour","mmol/h","MMOL/HR","amount of substance",167281575000000000,[0,-1,0,0,0,0,0],"mmol/h","si",true,null,null,1,false,false,1,"mmol/hr; mmol per hr; millimoles per hour","LOINC","SRat","Clinical","unit for tests related to urine","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram","mmol/kg","MMOL/KG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"mmol/kg","si",true,null,null,1,false,false,1,"mmol per kg; millimoles per kilogram","LOINC","SCnt","Clinical","unit for tests related to stool","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per 8 hour","mmol/kg/(8.h)","(MMOL/KG)/HR","amount of substance",20910196875000,[0,-1,-1,0,0,0,0],"(mmol/kg)/h","si",true,null,null,1,false,false,1,"mmol/(8.h.kg); mmol/kg/8hrs; mmol/kg/8 hrs; mmol per kg per 8hrs; 8 hrs; millimoles per kilograms per 8 hours; shift","LOINC","CCnt","Clinical","unit used to measure molar dose rate per patient body mass","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per day","mmol/kg/d","(MMOL/KG)/D","amount of substance",6970065625000,[0,-1,-1,0,0,0,0],"(mmol/kg)/d","si",true,null,null,1,false,false,1,"mmol/kg/dy; mmol/kg/day; mmol per kg per dy; millimoles per kilograms per day","LOINC","RelSRat","Clinical","unit used to measure molar dose rate per patient body mass","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per hour","mmol/kg/h","(MMOL/KG)/HR","amount of substance",167281575000000,[0,-1,-1,0,0,0,0],"(mmol/kg)/h","si",true,null,null,1,false,false,1,"mmol/kg/hr; mmol per kg per hr; millimoles per kilograms per hour","LOINC","CCnt","Clinical","unit used to measure molar dose rate per patient body mass","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per kilogram per minute","mmol/kg/min","(MMOL/KG)/MIN","amount of substance",10036894500000000,[0,-1,-1,0,0,0,0],"(mmol/kg)/min","si",true,null,null,1,false,false,1,"mmol/(kg.min); mmol/kg/min; mmol per kg per min; millimoles per kilograms per minute","LOINC","CCnt","Clinical","unit used to measure molar dose rate per patient body mass; note that the unit for the enzyme unit U = umol/min. mmol/kg/min = kU/kg; ","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per liter","mmol/L","MMOL/L","amount of substance",6.0221367e+23,[-3,0,0,0,0,0,0],"mmol/L","si",true,null,null,1,false,false,1,"mmol per L; millimoles per liter; litre","LOINC","SCnc","Clinical","unit for tests related to doses","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per square meter","mmol/m2","MMOL/M2","amount of substance",602213670000000000000,[-2,0,0,0,0,0,0],"mmol/(m2)","si",true,null,null,1,false,false,1,"mmol/m^2; mmol/sq. meter; mmol per m2; m^2; sq. meter; millimoles; meter squared; metre","LOINC","ArSub","Clinical","unit used to measure molar dose per patient body surface area","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per minute","mmol/min","MMOL/MIN","amount of substance",10036894500000000000,[0,-1,0,0,0,0,0],"mmol/min","si",true,null,null,1,false,false,1,"mmol per min; millimoles per minute","LOINC","Srat; CAct","Clinical","unit for the enzyme unit U = umol/min. mmol/min = kU","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per millimole","mmol/mmol","MMOL/MMOL","amount of substance",1,[0,0,0,0,0,0,0],"mmol/mmol","si",true,null,null,1,false,false,0,"mmol per mmol; millimoles per millimole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per mole","mmol/mol","MMOL/MOL","amount of substance",0.001,[0,0,0,0,0,0,0],"mmol/mol","si",true,null,null,1,false,false,0,"mmol per mol; millimoles per mole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"millimole per second per liter","mmol/s/L","(MMOL/S)/L","amount of substance",6.0221367e+23,[-3,-1,0,0,0,0,0],"(mmol/s)/L","si",true,null,null,1,false,false,1,"mmol/sec/L; mmol per s per L; per sec; millimoles per seconds per liter; litre","LOINC","CCnc ","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per kilogram","mol/kg","MOL/KG","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"mol/kg","si",true,null,null,1,false,false,1,"mol per kg; moles; mols","LOINC","SCnt","Clinical","unit for tests related to stool","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per kilogram per second","mol/kg/s","(MOL/KG)/S","amount of substance",602213670000000000000,[0,-1,-1,0,0,0,0],"(mol/kg)/s","si",true,null,null,1,false,false,1,"mol/kg/sec; mol per kg per sec; moles per kilograms per second; mols","LOINC","CCnt","Clinical","unit of catalytic activity (mol/s) per mass (kg)","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per liter","mol/L","MOL/L","amount of substance",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"mol/L","si",true,null,null,1,false,false,1,"mol per L; moles per liter; litre; moles; mols","LOINC","SCnc","Clinical","unit often used in tests measuring oxygen content","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per cubic meter","mol/m3","MOL/M3","amount of substance",6.0221367e+23,[-3,0,0,0,0,0,0],"mol/(m3)","si",true,null,null,1,false,false,1,"mol/m^3; mol/cu. m; mol per m3; m^3; cu. meter; mols; moles; meters cubed; metre; mole per kiloliter; kilolitre; mol/kL","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per milliliter","mol/mL","MOL/ML","amount of substance",6.0221367e+29,[-3,0,0,0,0,0,0],"mol/mL","si",true,null,null,1,false,false,1,"mol per mL; moles; millilitre; mols","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per mole","mol/mol","MOL/MOL","amount of substance",1,[0,0,0,0,0,0,0],"mol/mol","si",true,null,null,1,false,false,0,"mol per mol; moles per mol; mols","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"mole per second","mol/s","MOL/S","amount of substance",6.0221367e+23,[0,-1,0,0,0,0,0],"mol/s","si",true,null,null,1,false,false,1,"mol per sec; moles per second; mols","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"milliosmole","mosm","MOSM","amount of substance (dissolved particles)",602213670000000000000,[0,0,0,0,0,0,0],"mosm","chemical",true,null,null,1,false,false,1,"milliosmoles","LOINC","Osmol","Clinical","equal to 1/1000 of an osmole","mol","MOL","1",1,false],[false,"milliosmole per kilogram","mosm/kg","MOSM/KG","amount of substance (dissolved particles)",602213670000000000,[0,0,-1,0,0,0,0],"mosm/kg","chemical",true,null,null,1,false,false,1,"mosm per kg; milliosmoles per kilogram","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"milliosmole per liter","mosm/L","MOSM/L","amount of substance (dissolved particles)",6.0221367e+23,[-3,0,0,0,0,0,0],"mosm/L","chemical",true,null,null,1,false,false,1,"mosm per liter; litre; milliosmoles","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"millipascal","mPa","MPAL","pressure",1,[-1,-2,1,0,0,0,0],"mPa","si",true,null,null,1,false,false,0,"millipascals","LOINC","Pres","Clinical","unit of pressure","N/m2","N/M2","1",1,false],[false,"millipascal second","mPa.s","MPAL.S","pressure",1,[-1,-1,1,0,0,0,0],"mPa.s","si",true,null,null,1,false,false,0,"mPa*s; millipoise; mP; dynamic viscosity","LOINC","Visc","Clinical","base units for millipoise, a measurement of dynamic viscosity","N/m2","N/M2","1",1,false],[false,"megasecond","Ms","MAS","time",1000000,[0,1,0,0,0,0,0],"Ms",null,false,"T",null,1,false,false,0,"megaseconds","LOINC","Time","Clinical","",null,null,null,null,false],[false,"millisecond","ms","MS","time",0.001,[0,1,0,0,0,0,0],"ms",null,false,"T",null,1,false,false,0,"milliseconds; duration","LOINC","Time","Clinical","",null,null,null,null,false],[false,"milli enzyme unit per gram","mU/g","MU/G","catalytic activity",10036894500000,[0,-1,-1,0,0,0,0],"mU/g","chemical",true,null,null,1,false,false,1,"mU per gm; milli enzyme units per gram; enzyme activity; enzymatic activity per mass","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per liter","mU/L","MU/L","catalytic activity",10036894500000000,[-3,-1,0,0,0,0,0],"mU/L","chemical",true,null,null,1,false,false,1,"mU per liter; litre; milli enzyme units enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per milligram","mU/mg","MU/MG","catalytic activity",10036894500000000,[0,-1,-1,0,0,0,0],"mU/mg","chemical",true,null,null,1,false,false,1,"mU per mg; milli enzyme units per milligram","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per milliliter","mU/mL","MU/ML","catalytic activity",10036894500000000000,[-3,-1,0,0,0,0,0],"mU/mL","chemical",true,null,null,1,false,false,1,"mU per mL; milli enzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"milli enzyme unit per milliliter per minute","mU/mL/min","(MU/ML)/MIN","catalytic activity",167281575000000000,[-3,-2,0,0,0,0,0],"(mU/mL)/min","chemical",true,null,null,1,false,false,1,"mU per mL per min; mU per milliliters per minute; millilitres; milli enzyme units; enzymatic activity; enzyme activity","LOINC","CCncRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min","umol/min","UMOL/MIN","1",1,false],[false,"millivolt","mV","MV","electric potential",1,[2,-2,1,0,0,-1,0],"mV","si",true,null,null,1,false,false,0,"millivolts","LOINC","Elpot","Clinical","unit of electric potential (voltage)","J/C","J/C","1",1,false],[false,"Newton centimeter","N.cm","N.CM","force",10,[2,-2,1,0,0,0,0],"N.cm","si",true,null,null,1,false,false,0,"N*cm; Ncm; N cm; Newton*centimeters; Newton* centimetres; torque; work","LOINC","","Clinical","as a measurement of work, N.cm = 1/100 Joules;\\nnote that N.m is the standard unit of measurement for torque (although dimensionally equivalent to Joule), and N.cm can also be thought of as a torqe unit","kg.m/s2","KG.M/S2","1",1,false],[false,"Newton second","N.s","N.S","force",1000,[1,-1,1,0,0,0,0],"N.s","si",true,null,null,1,false,false,0,"Newton*seconds; N*s; N s; Ns; impulse; imp","LOINC","","Clinical","standard unit of impulse","kg.m/s2","KG.M/S2","1",1,false],[false,"nanogram","ng","NG","mass",1e-9,[0,0,1,0,0,0,0],"ng",null,false,"M",null,1,false,false,0,"nanograms","LOINC","Mass","Clinical","",null,null,null,null,false],[false,"nanogram per 24 hour","ng/(24.h)","NG/HR","mass",1.1574074074074075e-14,[0,-1,1,0,0,0,0],"ng/h",null,false,"M",null,1,false,false,0,"ng/24hrs; ng/24 hrs; nanograms per 24 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"nanogram per 8 hour","ng/(8.h)","NG/HR","mass",3.4722222222222224e-14,[0,-1,1,0,0,0,0],"ng/h",null,false,"M",null,1,false,false,0,"ng/8hrs; ng/8 hrs; nanograms per 8 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"nanogram per million","ng/10*6","NG/(10*6)","mass",1e-15,[0,0,1,0,0,0,0],"ng/(106)",null,false,"M",null,1,false,false,0,"ng/10^6; ng per 10*6; 10^6; nanograms","LOINC","MNum","Clinical","",null,null,null,null,false],[false,"nanogram per day","ng/d","NG/D","mass",1.1574074074074075e-14,[0,-1,1,0,0,0,0],"ng/d",null,false,"M",null,1,false,false,0,"ng/dy; ng per day; nanograms ","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"nanogram per deciliter","ng/dL","NG/DL","mass",0.00001,[-3,0,1,0,0,0,0],"ng/dL",null,false,"M",null,1,false,false,0,"ng per dL; nanograms per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"nanogram per gram","ng/g","NG/G","mass",1e-9,[0,0,0,0,0,0,0],"ng/g",null,false,"M",null,1,false,false,0,"ng/gm; ng per gm; nanograms per gram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"nanogram per hour","ng/h","NG/HR","mass",2.777777777777778e-13,[0,-1,1,0,0,0,0],"ng/h",null,false,"M",null,1,false,false,0,"ng/hr; ng per hr; nanograms per hour","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"nanogram per kilogram","ng/kg","NG/KG","mass",1e-12,[0,0,0,0,0,0,0],"ng/kg",null,false,"M",null,1,false,false,0,"ng per kg; nanograms per kilogram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"nanogram per kilogram per 8 hour","ng/kg/(8.h)","(NG/KG)/HR","mass",3.472222222222222e-17,[0,-1,0,0,0,0,0],"(ng/kg)/h",null,false,"M",null,1,false,false,0,"ng/(8.h.kg); ng/kg/8hrs; ng/kg/8 hrs; ng per kg per 8hrs; 8 hrs; nanograms per kilograms per 8 hours; shift","LOINC","MRtoRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"nanogram per kilogram per hour","ng/kg/h","(NG/KG)/HR","mass",2.7777777777777775e-16,[0,-1,0,0,0,0,0],"(ng/kg)/h",null,false,"M",null,1,false,false,0,"ng/(kg.h); ng/kg/hr; ng per kg per hr; nanograms per kilograms per hour","LOINC","MRtoRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"nanogram per kilogram per minute","ng/kg/min","(NG/KG)/MIN","mass",1.6666666666666667e-14,[0,-1,0,0,0,0,0],"(ng/kg)/min",null,false,"M",null,1,false,false,0,"ng/(kg.min); ng per kg per min; nanograms per kilograms per minute","LOINC","MRtoRat ","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"nanogram per liter","ng/L","NG/L","mass",0.000001,[-3,0,1,0,0,0,0],"ng/L",null,false,"M",null,1,false,false,0,"ng per L; nanograms per liter; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"nanogram per square meter","ng/m2","NG/M2","mass",1e-9,[-2,0,1,0,0,0,0],"ng/(m2)",null,false,"M",null,1,false,false,0,"ng/m^2; ng/sq. m; ng per m2; m^2; sq. meter; nanograms; meter squared; metre","LOINC","ArMass","Clinical","unit used to measure mass dose per patient body surface area",null,null,null,null,false],[false,"nanogram per milligram","ng/mg","NG/MG","mass",0.000001,[0,0,0,0,0,0,0],"ng/mg",null,false,"M",null,1,false,false,0,"ng per mg; nanograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"nanogram per milligram per hour","ng/mg/h","(NG/MG)/HR","mass",2.7777777777777777e-10,[0,-1,0,0,0,0,0],"(ng/mg)/h",null,false,"M",null,1,false,false,0,"ng/mg/hr; ng per mg per hr; nanograms per milligrams per hour","LOINC","MRtoRat ","Clinical","",null,null,null,null,false],[false,"nanogram per minute","ng/min","NG/MIN","mass",1.6666666666666667e-11,[0,-1,1,0,0,0,0],"ng/min",null,false,"M",null,1,false,false,0,"ng per min; nanograms","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"nanogram per millliiter","ng/mL","NG/ML","mass",0.001,[-3,0,1,0,0,0,0],"ng/mL",null,false,"M",null,1,false,false,0,"ng per mL; nanograms; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"nanogram per milliliter per hour","ng/mL/h","(NG/ML)/HR","mass",2.7777777777777776e-7,[-3,-1,1,0,0,0,0],"(ng/mL)/h",null,false,"M",null,1,false,false,0,"ng/mL/hr; ng per mL per mL; nanograms per milliliter per hour; nanogram per millilitre per hour; nanograms per millilitre per hour; enzymatic activity per volume; enzyme activity per milliliters","LOINC","CCnc","Clinical","tests that measure enzymatic activity",null,null,null,null,false],[false,"nanogram per second","ng/s","NG/S","mass",1e-9,[0,-1,1,0,0,0,0],"ng/s",null,false,"M",null,1,false,false,0,"ng/sec; ng per sec; nanograms per second","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"nanogram per enzyme unit","ng/U","NG/U","mass",9.963241120049634e-26,[0,1,1,0,0,0,0],"ng/U",null,false,"M",null,1,false,false,-1,"ng per U; nanograms per enzyme unit","LOINC","CMass","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)",null,null,null,null,false],[false,"nanokatal","nkat","NKAT","catalytic activity",602213670000000,[0,-1,0,0,0,0,0],"nkat","chemical",true,null,null,1,false,false,1,"nanokatals","LOINC","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"nanoliter","nL","NL","volume",1.0000000000000002e-12,[3,0,0,0,0,0,0],"nL","iso1000",true,null,null,1,false,false,0,"nanoliters; nanolitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"nanometer","nm","NM","length",1e-9,[1,0,0,0,0,0,0],"nm",null,false,"L",null,1,false,false,0,"nanometers; nanometres","LOINC","Len","Clinical","",null,null,null,null,false],[false,"nanometer per second per liter","nm/s/L","(NM/S)/L","length",0.000001,[-2,-1,0,0,0,0,0],"(nm/s)/L",null,false,"L",null,1,false,false,0,"nm/sec/liter; nm/sec/litre; nm per s per l; nm per sec per l; nanometers per second per liter; nanometre per second per litre; nanometres per second per litre","LOINC","VelCnc","Clinical","",null,null,null,null,false],[false,"nanomole","nmol","NMOL","amount of substance",602213670000000,[0,0,0,0,0,0,0],"nmol","si",true,null,null,1,false,false,1,"nanomoles","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per 24 hour","nmol/(24.h)","NMOL/HR","amount of substance",6970065625,[0,-1,0,0,0,0,0],"nmol/h","si",true,null,null,1,false,false,1,"nmol/24hr; nmol/24 hr; nanomoles per 24 hours; nmol/day; nanomoles per day; nmol per day; nanomole/day; nanomol/day","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per day","nmol/d","NMOL/D","amount of substance",6970065625,[0,-1,0,0,0,0,0],"nmol/d","si",true,null,null,1,false,false,1,"nmol/day; nanomoles per day; nmol per day; nanomole/day; nanomol/day; nmol/24hr; nmol/24 hr; nanomoles per 24 hours; ","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per deciliter","nmol/dL","NMOL/DL","amount of substance",6022136700000000000,[-3,0,0,0,0,0,0],"nmol/dL","si",true,null,null,1,false,false,1,"nmol per dL; nanomoles per deciliter; nanomole per decilitre; nanomoles per decilitre; nanomole/deciliter; nanomole/decilitre; nanomol/deciliter; nanomol/decilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per gram","nmol/g","NMOL/G","amount of substance",602213670000000,[0,0,-1,0,0,0,0],"nmol/g","si",true,null,null,1,false,false,1,"nmol per gram; nanomoles per gram; nanomole/gram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per hour per liter","nmol/h/L","(NMOL/HR)/L","amount of substance",167281575000000,[-3,-1,0,0,0,0,0],"(nmol/h)/L","si",true,null,null,1,false,false,1,"nmol/hrs/L; nmol per hrs per L; nanomoles per hours per liter; litre; enzymatic activity per volume; enzyme activities","LOINC","CCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per liter","nmol/L","NMOL/L","amount of substance",602213670000000000,[-3,0,0,0,0,0,0],"nmol/L","si",true,null,null,1,false,false,1,"nmol per L; nanomoles per liter; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milligram","nmol/mg","NMOL/MG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"nmol/mg","si",true,null,null,1,false,false,1,"nmol per mg; nanomoles per milligram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milligram per hour","nmol/mg/h","(NMOL/MG)/HR","amount of substance",167281575000000,[0,-1,-1,0,0,0,0],"(nmol/mg)/h","si",true,null,null,1,false,false,1,"nmol/mg/hr; nmol per mg per hr; nanomoles per milligrams per hour","LOINC","SCntRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milligram of protein","nmol/mg{prot}","NMOL/MG","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"nmol/mg","si",true,null,null,1,false,false,1,"nanomoles; nmol/mg prot; nmol per mg prot","LOINC","Ratio; CCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per minute","nmol/min","NMOL/MIN","amount of substance",10036894500000,[0,-1,0,0,0,0,0],"nmol/min","si",true,null,null,1,false,false,1,"nmol per min; nanomoles per minute; milli enzyme units; enzyme activity per volume; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. nmol/min = mU (milli enzyme unit)","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per minute per milliliter","nmol/min/mL","(NMOL/MIN)/ML","amount of substance",10036894500000000000,[-3,-1,0,0,0,0,0],"(nmol/min)/mL","si",true,null,null,1,false,false,1,"nmol per min per mL; nanomoles per minutes per milliliter; millilitre; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. nmol/mL/min = mU/mL","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milliliter","nmol/mL","NMOL/ML","amount of substance",602213670000000000000,[-3,0,0,0,0,0,0],"nmol/mL","si",true,null,null,1,false,false,1,"nmol per mL; nanomoles per milliliter; millilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milliliter per hour","nmol/mL/h","(NMOL/ML)/HR","amount of substance",167281575000000000,[-3,-1,0,0,0,0,0],"(nmol/mL)/h","si",true,null,null,1,false,false,1,"nmol/mL/hr; nmol per mL per hr; nanomoles per milliliters per hour; millilitres; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min.","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per milliliter per minute","nmol/mL/min","(NMOL/ML)/MIN","amount of substance",10036894500000000000,[-3,-1,0,0,0,0,0],"(nmol/mL)/min","si",true,null,null,1,false,false,1,"nmol per mL per min; nanomoles per milliliters per min; millilitres; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. nmol/mL/min = mU/mL","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per millimole","nmol/mmol","NMOL/MMOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"nmol/mmol","si",true,null,null,1,false,false,0,"nmol per mmol; nanomoles per millimole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per millimole of creatinine","nmol/mmol{creat}","NMOL/MMOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"nmol/mmol","si",true,null,null,1,false,false,0,"nanomoles","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per mole","nmol/mol","NMOL/MOL","amount of substance",1e-9,[0,0,0,0,0,0,0],"nmol/mol","si",true,null,null,1,false,false,0,"nmol per mole; nanomoles","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per nanomole","nmol/nmol","NMOL/NMOL","amount of substance",1,[0,0,0,0,0,0,0],"nmol/nmol","si",true,null,null,1,false,false,0,"nmol per nmol; nanomoles","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per second","nmol/s","NMOL/S","amount of substance",602213670000000,[0,-1,0,0,0,0,0],"nmol/s","si",true,null,null,1,false,false,1,"nmol/sec; nmol per sec; nanomoles per sercond; milli enzyme units; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min.","10*23","10*23","6.0221367",6.0221367,false],[false,"nanomole per second per liter","nmol/s/L","(NMOL/S)/L","amount of substance",602213670000000000,[-3,-1,0,0,0,0,0],"(nmol/s)/L","si",true,null,null,1,false,false,1,"nmol/sec/L; nmol per s per L; nmol per sec per L; nanomoles per seconds per liter; litre; milli enzyme units per volume; enzyme activity; enzymatic activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min.","10*23","10*23","6.0221367",6.0221367,false],[false,"nanosecond","ns","NS","time",1e-9,[0,1,0,0,0,0,0],"ns",null,false,"T",null,1,false,false,0,"nanoseconds","LOINC","Time","Clinical","",null,null,null,null,false],[false,"nanoenzyme unit per milliliter","nU/mL","NU/ML","catalytic activity",10036894500000,[-3,-1,0,0,0,0,0],"nU/mL","chemical",true,null,null,1,false,false,1,"nU per mL; nanoenzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 fU = pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"Ohm meter","Ohm.m","OHM.M","electric resistance",1000,[3,-1,1,0,0,-2,0],"Ω.m","si",true,null,null,1,false,false,0,"electric resistivity; meters; metres","LOINC","","Clinical","unit of electric resistivity","V/A","V/A","1",1,false],[false,"osmole per kilogram","osm/kg","OSM/KG","amount of substance (dissolved particles)",602213670000000000000,[0,0,-1,0,0,0,0],"osm/kg","chemical",true,null,null,1,false,false,1,"osm per kg; osmoles per kilogram; osmols","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"osmole per liter","osm/L","OSM/L","amount of substance (dissolved particles)",6.0221366999999994e+26,[-3,0,0,0,0,0,0],"osm/L","chemical",true,null,null,1,false,false,1,"osm per L; osmoles per liter; litre; osmols","LOINC","Osmol","Clinical","","mol","MOL","1",1,false],[false,"picoampere","pA","PA","electric current",1e-12,[0,-1,0,0,0,1,0],"pA","si",true,null,null,1,false,false,0,"picoamperes","LOINC","","Clinical","equal to 10^-12 amperes","C/s","C/S","1",1,false],[false,"picogram","pg","PG","mass",1e-12,[0,0,1,0,0,0,0],"pg",null,false,"M",null,1,false,false,0,"picograms","LOINC","Mass; EntMass","Clinical","",null,null,null,null,false],[false,"picogram per deciliter","pg/dL","PG/DL","mass",9.999999999999999e-9,[-3,0,1,0,0,0,0],"pg/dL",null,false,"M",null,1,false,false,0,"pg per dL; picograms; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"picogram per liter","pg/L","PG/L","mass",1e-9,[-3,0,1,0,0,0,0],"pg/L",null,false,"M",null,1,false,false,0,"pg per L; picograms; litre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"picogram per milligram","pg/mg","PG/MG","mass",1e-9,[0,0,0,0,0,0,0],"pg/mg",null,false,"M",null,1,false,false,0,"pg per mg; picograms","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"picogram per milliliter","pg/mL","PG/ML","mass",0.000001,[-3,0,1,0,0,0,0],"pg/mL",null,false,"M",null,1,false,false,0,"pg per mL; picograms per milliliter; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"picogram per millimeter","pg/mm","PG/MM","mass",1e-9,[-1,0,1,0,0,0,0],"pg/mm",null,false,"M",null,1,false,false,0,"pg per mm; picogram/millimeter; picogram/millimetre; picograms per millimeter; millimetre","LOINC","Lineic Mass","Clinical","",null,null,null,null,false],[false,"picokatal","pkat","PKAT","catalytic activity",602213670000,[0,-1,0,0,0,0,0],"pkat","chemical",true,null,null,1,false,false,1,"pkats; picokatals","LOINC","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"picoliter","pL","PL","volume",1e-15,[3,0,0,0,0,0,0],"pL","iso1000",true,null,null,1,false,false,0,"picoliters; picolitres","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"picometer","pm","PM","length",1e-12,[1,0,0,0,0,0,0],"pm",null,false,"L",null,1,false,false,0,"picometers; picometres","LOINC","Len","Clinical","",null,null,null,null,false],[false,"picomole","pmol","PMOL","amount of substance",602213670000,[0,0,0,0,0,0,0],"pmol","si",true,null,null,1,false,false,1,"picomoles; pmols","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per 24 hour","pmol/(24.h)","PMOL/HR","amount of substance",6970065.625,[0,-1,0,0,0,0,0],"pmol/h","si",true,null,null,1,false,false,1,"pmol/24hrs; pmol/24 hrs; pmol per 24 hrs; 24hrs; days; dy; picomoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per day","pmol/d","PMOL/D","amount of substance",6970065.625,[0,-1,0,0,0,0,0],"pmol/d","si",true,null,null,1,false,false,1,"pmol/dy; pmol per day; 24 hours; 24hrs; 24 hrs; picomoles","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per deciliter","pmol/dL","PMOL/DL","amount of substance",6022136700000000,[-3,0,0,0,0,0,0],"pmol/dL","si",true,null,null,1,false,false,1,"pmol per dL; picomoles per deciliter; decilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per gram","pmol/g","PMOL/G","amount of substance",602213670000,[0,0,-1,0,0,0,0],"pmol/g","si",true,null,null,1,false,false,1,"pmol per gm; picomoles per gram; picomole/gram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per hour per milliliter ","pmol/h/mL","(PMOL/HR)/ML","amount of substance",167281575000000,[-3,-1,0,0,0,0,0],"(pmol/h)/mL","si",true,null,null,1,false,false,1,"pmol/hrs/mL; pmol per hrs per mL; picomoles per hour per milliliter; millilitre; micro enzyme units per volume; enzymatic activity; enzyme activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. ","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per liter","pmol/L","PMOL/L","amount of substance",602213670000000,[-3,0,0,0,0,0,0],"pmol/L","si",true,null,null,1,false,false,1,"picomole/liter; pmol per L; picomoles; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per minute","pmol/min","PMOL/MIN","amount of substance",10036894500,[0,-1,0,0,0,0,0],"pmol/min","si",true,null,null,1,false,false,1,"picomole/minute; pmol per min; picomoles per minute; micro enzyme units; enzymatic activity; enzyme activity","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. pmol/min = uU (micro enzyme unit)","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per milliliter","pmol/mL","PMOL/ML","amount of substance",602213670000000000,[-3,0,0,0,0,0,0],"pmol/mL","si",true,null,null,1,false,false,1,"picomole/milliliter; picomole/millilitre; pmol per mL; picomoles; millilitre; picomols; pmols","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picomole per micromole","pmol/umol","PMOL/UMOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"pmol/μmol","si",true,null,null,1,false,false,0,"pmol/mcgmol; picomole/micromole; pmol per umol; pmol per mcgmol; picomoles ","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"picosecond","ps","PS","time",1e-12,[0,1,0,0,0,0,0],"ps",null,false,"T",null,1,false,false,0,"picoseconds; psec","LOINC","Time","Clinical","",null,null,null,null,false],[false,"picotesla","pT","PT","magnetic flux density",1e-9,[0,-1,1,0,0,-1,0],"pT","si",true,null,null,1,false,false,0,"picoteslas","LOINC","","Clinical","SI unit of magnetic field strength for magnetic field B","Wb/m2","WB/M2","1",1,false],[false,"enzyme unit per 12 hour","U/(12.h)","U/HR","catalytic activity",232335520833.33334,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/12hrs; U/ 12hrs; U per 12 hrs; 12hrs; enzyme units per 12 hours; enzyme activity; enzymatic activity per time; umol per min per 12 hours; micromoles per minute per 12 hours; umol/min/12hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 2 hour","U/(2.h)","U/HR","catalytic activity",1394013125000,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/2hrs; U/ 2hrs; U per 2 hrs; 2hrs; enzyme units per 2 hours; enzyme activity; enzymatic activity per time; umol per minute per 2 hours; micromoles per minute; umol/min/2hr; umol per min per 2hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 24 hour","U/(24.h)","U/HR","catalytic activity",116167760416.66667,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/24hrs; U/ 24hrs; U per 24 hrs; 24hrs; enzyme units per 24 hours; enzyme activity; enzymatic activity per time; micromoles per minute per 24 hours; umol/min/24hr; umol per min per 24hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 10","U/10","U","catalytic activity",1003689450000000,[0,-1,0,0,0,0,0],"U","chemical",true,null,null,1,false,false,1,"enzyme unit/10; U per 10; enzyme units per 10; enzymatic activity; enzyme activity; micromoles per minute; umol/min/10","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per 10 billion","U/10*10","U/(10*10)","catalytic activity",1003689.45,[0,-1,0,0,0,0,0],"U/(1010)","chemical",true,null,null,1,false,false,1,"U per 10*10; enzyme units per 10*10; U per 10 billion; enzyme units; enzymatic activity; micromoles per minute per 10 billion; umol/min/10*10","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per trillion","U/10*12","U/(10*12)","catalytic activity",10036.8945,[0,-1,0,0,0,0,0],"U/(1012)","chemical",true,null,null,1,false,false,1,"enzyme unit/10*12; U per 10*12; enzyme units per 10*12; enzyme units per trillion; enzymatic activity; micromoles per minute per trillion; umol/min/10*12; umol per min per 10*12","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per million","U/10*6","U/(10*6)","catalytic activity",10036894500,[0,-1,0,0,0,0,0],"U/(106)","chemical",true,null,null,1,false,false,1,"enzyme unit/10*6; U per 10*6; enzyme units per 10*6; enzyme units; enzymatic activity per volume; micromoles per minute per million; umol/min/10*6; umol per min per 10*6","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per billion","U/10*9","U/(10*9)","catalytic activity",10036894.5,[0,-1,0,0,0,0,0],"U/(109)","chemical",true,null,null,1,false,false,1,"enzyme unit/10*9; U per 10*9; enzyme units per 10*9; enzymatic activity per volume; micromoles per minute per billion; umol/min/10*9; umol per min per 10*9","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per day","U/d","U/D","catalytic activity",116167760416.66667,[0,-2,0,0,0,0,0],"U/d","chemical",true,null,null,1,false,false,1,"U/dy; enzyme units per day; enzyme units; enzyme activity; enzymatic activity per time; micromoles per minute per day; umol/min/day; umol per min per day","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per deciliter","U/dL","U/DL","catalytic activity",100368945000000000000,[-3,-1,0,0,0,0,0],"U/dL","chemical",true,null,null,1,false,false,1,"U per dL; enzyme units per deciliter; decilitre; micromoles per minute per deciliter; umol/min/dL; umol per min per dL","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per gram","U/g","U/G","catalytic activity",10036894500000000,[0,-1,-1,0,0,0,0],"U/g","chemical",true,null,null,1,false,false,1,"U/gm; U per gm; enzyme units per gram; micromoles per minute per gram; umol/min/g; umol per min per g","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per hour","U/h","U/HR","catalytic activity",2788026250000,[0,-2,0,0,0,0,0],"U/h","chemical",true,null,null,1,false,false,1,"U/hr; U per hr; enzyme units per hour; micromoles per minute per hour; umol/min/hr; umol per min per hr","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per liter","U/L","U/L","catalytic activity",10036894500000000000,[-3,-1,0,0,0,0,0],"U/L","chemical",true,null,null,1,false,false,1,"enzyme unit/liter; enzyme unit/litre; U per L; enzyme units per liter; enzyme unit per litre; micromoles per minute per liter; umol/min/L; umol per min per L","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per minute","U/min","U/MIN","catalytic activity",167281575000000,[0,-2,0,0,0,0,0],"U/min","chemical",true,null,null,1,false,false,1,"enzyme unit/minute; U per min; enzyme units; umol/min/min; micromoles per minute per minute; micromoles per min per min; umol","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per milliliter","U/mL","U/ML","catalytic activity",1.00368945e+22,[-3,-1,0,0,0,0,0],"U/mL","chemical",true,null,null,1,false,false,1,"U per mL; enzyme units per milliliter; millilitre; micromoles per minute per milliliter; umol/min/mL; umol per min per mL","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"enzyme unit per second","U/s","U/S","catalytic activity",10036894500000000,[0,-2,0,0,0,0,0],"U/s","chemical",true,null,null,1,false,false,1,"U/sec; U per second; enzyme units per second; micromoles per minute per second; umol/min/sec; umol per min per sec","LOINC","CRat","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)","umol/min","UMOL/MIN","1",1,false],[false,"micro international unit","u[IU]","U[IU]","arbitrary",0.000001,[0,0,0,0,0,0,0],"μi.U.","chemical",true,null,null,1,false,true,0,"uIU; u IU; microinternational units","LOINC","Arb","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"micro international unit per liter","u[IU]/L","U[IU]/L","arbitrary",0.001,[-3,0,0,0,0,0,0],"(μi.U.)/L","chemical",true,null,null,1,false,true,0,"uIU/L; u IU/L; uIU per L; microinternational units per liter; litre; ","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"micro international unit per milliliter","u[IU]/mL","U[IU]/ML","arbitrary",1,[-3,0,0,0,0,0,0],"(μi.U.)/mL","chemical",true,null,null,1,false,true,0,"uIU/mL; u IU/mL; uIU per mL; microinternational units per milliliter; millilitre","LOINC","ACnc","Clinical","International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)","[iU]","[IU]","1",1,false],[false,"microequivalent","ueq","UEQ","amount of substance",602213670000000000,[0,0,0,0,0,0,0],"μeq","chemical",true,null,null,1,false,false,1,"microequivalents; 10^-6 equivalents; 10-6 equivalents","LOINC","Sub","Clinical","","mol","MOL","1",1,false],[false,"microequivalent per liter","ueq/L","UEQ/L","amount of substance",602213670000000000000,[-3,0,0,0,0,0,0],"μeq/L","chemical",true,null,null,1,false,false,1,"ueq per liter; litre; microequivalents","LOINC","MCnc","Clinical","","mol","MOL","1",1,false],[false,"microequivalent per milliliter","ueq/mL","UEQ/ML","amount of substance",6.0221367000000003e+23,[-3,0,0,0,0,0,0],"μeq/mL","chemical",true,null,null,1,false,false,1,"ueq per milliliter; millilitre; microequivalents","LOINC","MCnc","Clinical","","mol","MOL","1",1,false],[false,"microgram","ug","UG","mass",0.000001,[0,0,1,0,0,0,0],"μg",null,false,"M",null,1,false,false,0,"mcg; micrograms; 10^-6 grams; 10-6 grams","LOINC","Mass","Clinical","",null,null,null,null,false],[false,"microgram per 100 gram","ug/(100.g)","UG/G","mass",1e-8,[0,0,0,0,0,0,0],"μg/g",null,false,"M",null,1,false,false,0,"ug/100gm; ug/100 gm; mcg; ug per 100g; 100 gm; mcg per 100g; micrograms per 100 grams","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"microgram per 24 hour","ug/(24.h)","UG/HR","mass",1.1574074074074074e-11,[0,-1,1,0,0,0,0],"μg/h",null,false,"M",null,1,false,false,0,"ug/24hrs; ug/24 hrs; mcg/24hrs; ug per 24hrs; mcg per 24hrs; 24 hrs; micrograms per 24 hours","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"microgram per 8 hour","ug/(8.h)","UG/HR","mass",3.472222222222222e-11,[0,-1,1,0,0,0,0],"μg/h",null,false,"M",null,1,false,false,0,"ug/8hrs; ug/8 hrs; mcg/8hrs; ug per 8hrs; mcg per 8hrs; 8 hrs; micrograms per 8 hours; shift","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"microgram per square foot (international)","ug/[sft_i]","UG/[SFT_I]","mass",0.000010763910416709721,[-2,0,1,0,0,0,0],"μg",null,false,"M",null,1,false,false,0,"ug/sft; ug/ft2; ug/ft^2; ug/sq. ft; micrograms; sq. foot; foot squared","LOINC","ArMass","Clinical","",null,null,null,null,false],[false,"microgram per day","ug/d","UG/D","mass",1.1574074074074074e-11,[0,-1,1,0,0,0,0],"μg/d",null,false,"M",null,1,false,false,0,"ug/dy; mcg/dy; ug per day; mcg; micrograms per day","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"microgram per deciliter","ug/dL","UG/DL","mass",0.009999999999999998,[-3,0,1,0,0,0,0],"μg/dL",null,false,"M",null,1,false,false,0,"ug per dL; mcg/dl; mcg per dl; micrograms per deciliter; decilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"microgram per gram","ug/g","UG/G","mass",0.000001,[0,0,0,0,0,0,0],"μg/g",null,false,"M",null,1,false,false,0,"ug per gm; mcg/gm; mcg per g; micrograms per gram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"microgram per hour","ug/h","UG/HR","mass",2.7777777777777777e-10,[0,-1,1,0,0,0,0],"μg/h",null,false,"M",null,1,false,false,0,"ug/hr; mcg/hr; mcg per hr; ug per hr; ug per hour; micrograms","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"microgram per kilogram","ug/kg","UG/KG","mass",9.999999999999999e-10,[0,0,0,0,0,0,0],"μg/kg",null,false,"M",null,1,false,false,0,"ug per kg; mcg/kg; mcg per kg; micrograms per kilogram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"microgram per kilogram per 8 hour","ug/kg/(8.h)","(UG/KG)/HR","mass",3.472222222222222e-14,[0,-1,0,0,0,0,0],"(μg/kg)/h",null,false,"M",null,1,false,false,0,"ug/kg/8hrs; mcg/kg/8hrs; ug/kg/8 hrs; mcg/kg/8 hrs; ug per kg per 8hrs; 8 hrs; mcg per kg per 8hrs; micrograms per kilograms per 8 hours; shift","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"microgram per kilogram per day","ug/kg/d","(UG/KG)/D","mass",1.1574074074074072e-14,[0,-1,0,0,0,0,0],"(μg/kg)/d",null,false,"M",null,1,false,false,0,"ug/(kg.d); ug/kg/dy; mcg/kg/day; ug per kg per dy; 24 hours; 24hrs; mcg; kilograms; microgram per kilogram and day","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"microgram per kilogram per hour","ug/kg/h","(UG/KG)/HR","mass",2.7777777777777774e-13,[0,-1,0,0,0,0,0],"(μg/kg)/h",null,false,"M",null,1,false,false,0,"ug/(kg.h); ug/kg/hr; mcg/kg/hr; ug per kg per hr; mcg per kg per hr; kilograms","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"microgram per kilogram per minute","ug/kg/min","(UG/KG)/MIN","mass",1.6666666666666664e-11,[0,-1,0,0,0,0,0],"(μg/kg)/min",null,false,"M",null,1,false,false,0,"ug/kg/min; ug/kg/min; mcg/kg/min; ug per kg per min; mcg; micrograms per kilograms per minute ","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"microgram per liter","ug/L","UG/L","mass",0.001,[-3,0,1,0,0,0,0],"μg/L",null,false,"M",null,1,false,false,0,"mcg/L; ug per L; mcg; micrograms per liter; litre ","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"microgram per liter per 24 hour","ug/L/(24.h)","(UG/L)/HR","mass",1.1574074074074074e-8,[-3,-1,1,0,0,0,0],"(μg/L)/h",null,false,"M",null,1,false,false,0,"ug/L/24hrs; ug/L/24 hrs; mcg/L/24hrs; ug per L per 24hrs; 24 hrs; day; dy mcg; micrograms per liters per 24 hours; litres","LOINC","","Clinical","unit used to measure mass dose rate per patient body mass",null,null,null,null,false],[false,"microgram per square meter","ug/m2","UG/M2","mass",0.000001,[-2,0,1,0,0,0,0],"μg/(m2)",null,false,"M",null,1,false,false,0,"ug/m^2; ug/sq. m; mcg/m2; mcg/m^2; mcg/sq. m; ug per m2; m^2; sq. meter; mcg; micrograms per square meter; meter squared; metre","LOINC","ArMass","Clinical","unit used to measure mass dose per patient body surface area",null,null,null,null,false],[false,"microgram per cubic meter","ug/m3","UG/M3","mass",0.000001,[-3,0,1,0,0,0,0],"μg/(m3)",null,false,"M",null,1,false,false,0,"ug/m^3; ug/cu. m; mcg/m3; mcg/m^3; mcg/cu. m; ug per m3; ug per m^3; ug per cu. m; mcg; micrograms per cubic meter; meter cubed; metre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"microgram per milligram","ug/mg","UG/MG","mass",0.001,[0,0,0,0,0,0,0],"μg/mg",null,false,"M",null,1,false,false,0,"ug per mg; mcg/mg; mcg per mg; micromilligrams per milligram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"microgram per minute","ug/min","UG/MIN","mass",1.6666666666666667e-8,[0,-1,1,0,0,0,0],"μg/min",null,false,"M",null,1,false,false,0,"ug per min; mcg/min; mcg per min; microminutes per minute","LOINC","MRat","Clinical","",null,null,null,null,false],[false,"microgram per milliliter","ug/mL","UG/ML","mass",1,[-3,0,1,0,0,0,0],"μg/mL",null,false,"M",null,1,false,false,0,"ug per mL; mcg/mL; mcg per mL; micrograms per milliliter; millilitre","LOINC","MCnc","Clinical","",null,null,null,null,false],[false,"microgram per millimole","ug/mmol","UG/MMOL","mass",1.660540186674939e-27,[0,0,1,0,0,0,0],"μg/mmol",null,false,"M",null,1,false,false,-1,"ug per mmol; mcg/mmol; mcg per mmol; micrograms per millimole","LOINC","Ratio","Clinical","",null,null,null,null,false],[false,"microgram per nanogram","ug/ng","UG/NG","mass",999.9999999999999,[0,0,0,0,0,0,0],"μg/ng",null,false,"M",null,1,false,false,0,"ug per ng; mcg/ng; mcg per ng; micrograms per nanogram","LOINC","MCnt","Clinical","",null,null,null,null,false],[false,"microkatal","ukat","UKAT","catalytic activity",602213670000000000,[0,-1,0,0,0,0,0],"μkat","chemical",true,null,null,1,false,false,1,"microkatals; ukats","LOINC","CAct","Clinical","kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.","mol/s","MOL/S","1",1,false],[false,"microliter","uL","UL","volume",1e-9,[3,0,0,0,0,0,0],"μL","iso1000",true,null,null,1,false,false,0,"microliters; microlitres; mcl","LOINC","Vol","Clinical","","l",null,"1",1,false],[false,"microliter per 2 hour","uL/(2.h)","UL/HR","volume",1.388888888888889e-13,[3,-1,0,0,0,0,0],"μL/h","iso1000",true,null,null,1,false,false,0,"uL/2hrs; uL/2 hrs; mcg/2hr; mcg per 2hr; uL per 2hr; uL per 2 hrs; microliters per 2 hours; microlitres ","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"microliter per hour","uL/h","UL/HR","volume",2.777777777777778e-13,[3,-1,0,0,0,0,0],"μL/h","iso1000",true,null,null,1,false,false,0,"uL/hr; mcg/hr; mcg per hr; uL per hr; microliters per hour; microlitres","LOINC","VRat","Clinical","","l",null,"1",1,false],[false,"micrometer","um","UM","length",0.000001,[1,0,0,0,0,0,0],"μm",null,false,"L",null,1,false,false,0,"micrometers; micrometres; μm; microns","LOINC","Len","Clinical","Unit of length that is usually used in tests related to the eye",null,null,null,null,false],[false,"microns per second","um/s","UM/S","length",0.000001,[1,-1,0,0,0,0,0],"μm/s",null,false,"L",null,1,false,false,0,"um/sec; micron/second; microns/second; um per sec; micrometers per second; micrometres","LOINC","Vel","Clinical","",null,null,null,null,false],[false,"micromole","umol","UMOL","amount of substance",602213670000000000,[0,0,0,0,0,0,0],"μmol","si",true,null,null,1,false,false,1,"micromoles; umols","LOINC","Sub","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per 2 hour","umol/(2.h)","UMOL/HR","amount of substance",83640787500000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/2hrs; umol/2 hrs; umol per 2 hrs; 2hrs; micromoles per 2 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per 24 hour","umol/(24.h)","UMOL/HR","amount of substance",6970065625000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/24hrs; umol/24 hrs; umol per 24 hrs; per 24hrs; micromoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per 8 hour","umol/(8.h)","UMOL/HR","amount of substance",20910196875000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/8hr; umol/8 hr; umol per 8 hr; umol per 8hr; umols per 8hr; umol per 8 hours; micromoles per 8 hours; shift","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per day","umol/d","UMOL/D","amount of substance",6970065625000,[0,-1,0,0,0,0,0],"μmol/d","si",true,null,null,1,false,false,1,"umol/day; umol per day; umols per day; umol per days; micromoles per days; umol/24hr; umol/24 hr; umol per 24 hr; umol per 24hr; umols per 24hr; umol per 24 hours; micromoles per 24 hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per deciliter","umol/dL","UMOL/DL","amount of substance",6.0221367e+21,[-3,0,0,0,0,0,0],"μmol/dL","si",true,null,null,1,false,false,1,"micromole/deciliter; micromole/decilitre; umol per dL; micromoles per deciliters; micromole per decilitres","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per gram","umol/g","UMOL/G","amount of substance",602213670000000000,[0,0,-1,0,0,0,0],"μmol/g","si",true,null,null,1,false,false,1,"micromole/gram; umol per g; micromoles per gram","LOINC","SCnt; Ratio","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per hour","umol/h","UMOL/HR","amount of substance",167281575000000,[0,-1,0,0,0,0,0],"μmol/h","si",true,null,null,1,false,false,1,"umol/hr; umol per hr; umol per hour; micromoles per hours","LOINC","SRat","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per kilogram","umol/kg","UMOL/KG","amount of substance",602213670000000,[0,0,-1,0,0,0,0],"μmol/kg","si",true,null,null,1,false,false,1,"umol per kg; micromoles per kilogram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per liter","umol/L","UMOL/L","amount of substance",602213670000000000000,[-3,0,0,0,0,0,0],"μmol/L","si",true,null,null,1,false,false,1,"micromole/liter; micromole/litre; umol per liter; micromoles per liter; litre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per liter per hour","umol/L/h","(UMOL/L)/HR","amount of substance",167281575000000000,[-3,-1,0,0,0,0,0],"(μmol/L)/h","si",true,null,null,1,false,false,1,"umol/liter/hr; umol/litre/hr; umol per L per hr; umol per liter per hour; micromoles per liters per hour; litre","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min; umol/L/h is a derived unit of enzyme units","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per milligram","umol/mg","UMOL/MG","amount of substance",602213670000000000000,[0,0,-1,0,0,0,0],"μmol/mg","si",true,null,null,1,false,false,1,"micromole/milligram; umol per mg; micromoles per milligram","LOINC","SCnt","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per minute","umol/min","UMOL/MIN","amount of substance",10036894500000000,[0,-1,0,0,0,0,0],"μmol/min","si",true,null,null,1,false,false,1,"micromole/minute; umol per min; micromoles per minute; enzyme units","LOINC","CAct","Clinical","unit for the enzyme unit U = umol/min","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per minute per gram","umol/min/g","(UMOL/MIN)/G","amount of substance",10036894500000000,[0,-1,-1,0,0,0,0],"(μmol/min)/g","si",true,null,null,1,false,false,1,"umol/min/gm; umol per min per gm; micromoles per minutes per gram; U/g; enzyme units","LOINC","CCnt","Clinical","unit for the enzyme unit U = umol/min. umol/min/g = U/g","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per minute per liter","umol/min/L","(UMOL/MIN)/L","amount of substance",10036894500000000000,[-3,-1,0,0,0,0,0],"(μmol/min)/L","si",true,null,null,1,false,false,1,"umol/min/liter; umol/minute/liter; micromoles per minutes per liter; litre; enzyme units; U/L","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. umol/min/L = U/L","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per milliliter","umol/mL","UMOL/ML","amount of substance",6.0221367000000003e+23,[-3,0,0,0,0,0,0],"μmol/mL","si",true,null,null,1,false,false,1,"umol per mL; micromoles per milliliter; millilitre","LOINC","SCnc","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per milliliter per minute","umol/mL/min","(UMOL/ML)/MIN","amount of substance",1.00368945e+22,[-3,-1,0,0,0,0,0],"(μmol/mL)/min","si",true,null,null,1,false,false,1,"umol per mL per min; micromoles per milliliters per minute; millilitres","LOINC","CCnc","Clinical","unit for the enzyme unit U = umol/min. umol/mL/min = U/mL","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per millimole","umol/mmol","UMOL/MMOL","amount of substance",0.001,[0,0,0,0,0,0,0],"μmol/mmol","si",true,null,null,1,false,false,0,"umol per mmol; micromoles per millimole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per mole","umol/mol","UMOL/MOL","amount of substance",0.000001,[0,0,0,0,0,0,0],"μmol/mol","si",true,null,null,1,false,false,0,"umol per mol; micromoles per mole","LOINC","SRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"micromole per micromole","umol/umol","UMOL/UMOL","amount of substance",1,[0,0,0,0,0,0,0],"μmol/μmol","si",true,null,null,1,false,false,0,"umol per umol; micromoles per micromole","LOINC","Srto; SFr; EntSRto","Clinical","","10*23","10*23","6.0221367",6.0221367,false],[false,"microOhm","uOhm","UOHM","electric resistance",0.001,[2,-1,1,0,0,-2,0],"μΩ","si",true,null,null,1,false,false,0,"microOhms; µΩ","LOINC","","Clinical","unit of electric resistance","V/A","V/A","1",1,false],[false,"microsecond","us","US","time",0.000001,[0,1,0,0,0,0,0],"μs",null,false,"T",null,1,false,false,0,"microseconds","LOINC","Time","Clinical","",null,null,null,null,false],[false,"micro enzyme unit per gram","uU/g","UU/G","catalytic activity",10036894500,[0,-1,-1,0,0,0,0],"μU/g","chemical",true,null,null,1,false,false,1,"uU per gm; micro enzyme units per gram; micro enzymatic activity per mass; enzyme activity","LOINC","CCnt","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"micro enzyme unit per liter","uU/L","UU/L","catalytic activity",10036894500000,[-3,-1,0,0,0,0,0],"μU/L","chemical",true,null,null,1,false,false,1,"uU per L; micro enzyme units per liter; litre; enzymatic activity per volume; enzyme activity ","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"micro enzyme unit per milliliter","uU/mL","UU/ML","catalytic activity",10036894500000000,[-3,-1,0,0,0,0,0],"μU/mL","chemical",true,null,null,1,false,false,1,"uU per mL; micro enzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity","LOINC","CCnc","Clinical","1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min","umol/min","UMOL/MIN","1",1,false],[false,"microvolt","uV","UV","electric potential",0.001,[2,-2,1,0,0,-1,0],"μV","si",true,null,null,1,false,false,0,"microvolts","LOINC","Elpot","Clinical","unit of electric potential (voltage)","J/C","J/C","1",1,false]]}}')}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var i=n(9159);window.fhirpath=i}()},4391:function(){var e,t,n;e={9:function(e,t,n){var i={choiceTypePaths:n(824),pathsDefinedElsewhere:n(151),type2Parent:n(905),path2Type:n(752)};i.availableTypes=new Set,Object.keys(i.type2Parent).forEach((function(e){return i.availableTypes.add(e)})),Object.values(i.type2Parent).forEach((function(e){return i.availableTypes.add(e)})),e.exports=i},824:function(e){"use strict";e.exports=JSON.parse('{"ActivityDefinition.product":["Reference","CodeableConcept"],"ActivityDefinition.subject":["CodeableConcept","Reference"],"ActivityDefinition.timing":["Timing","DateTime","Age","Period","Range","Duration"],"AllergyIntolerance.onset":["DateTime","Age","Period","Range","String"],"Annotation.author":["Reference","String"],"AuditEvent.entity.detail.value":["String","Base64Binary"],"BiologicallyDerivedProduct.collection.collected":["DateTime","Period"],"BiologicallyDerivedProduct.manipulation.time":["DateTime","Period"],"BiologicallyDerivedProduct.processing.time":["DateTime","Period"],"CarePlan.activity.detail.product":["CodeableConcept","Reference"],"CarePlan.activity.detail.scheduled":["Timing","Period","String"],"ChargeItem.occurrence":["DateTime","Period","Timing"],"ChargeItem.product":["Reference","CodeableConcept"],"Claim.accident.location":["Address","Reference"],"Claim.diagnosis.diagnosis":["CodeableConcept","Reference"],"Claim.item.location":["CodeableConcept","Address","Reference"],"Claim.item.serviced":["Date","Period"],"Claim.procedure.procedure":["CodeableConcept","Reference"],"Claim.supportingInfo.timing":["Date","Period"],"Claim.supportingInfo.value":["Boolean","String","Quantity","Attachment","Reference"],"ClaimResponse.addItem.location":["CodeableConcept","Address","Reference"],"ClaimResponse.addItem.serviced":["Date","Period"],"ClinicalImpression.effective":["DateTime","Period"],"CodeSystem.concept.property.value":["Code","Coding","String","Integer","Boolean","DateTime","Decimal"],"Communication.payload.content":["String","Attachment","Reference"],"CommunicationRequest.occurrence":["DateTime","Period"],"CommunicationRequest.payload.content":["String","Attachment","Reference"],"Composition.relatesTo.target":["Identifier","Reference"],"ConceptMap.source":["Uri","Canonical"],"ConceptMap.target":["Uri","Canonical"],"Condition.abatement":["DateTime","Age","Period","Range","String"],"Condition.onset":["DateTime","Age","Period","Range","String"],"Consent.source":["Attachment","Reference"],"Contract.friendly.content":["Attachment","Reference"],"Contract.legal.content":["Attachment","Reference"],"Contract.legallyBinding":["Attachment","Reference"],"Contract.rule.content":["Attachment","Reference"],"Contract.term.action.occurrence":["DateTime","Period","Timing"],"Contract.term.asset.valuedItem.entity":["CodeableConcept","Reference"],"Contract.term.offer.answer.value":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Uri","Attachment","Coding","Quantity","Reference"],"Contract.term.topic":["CodeableConcept","Reference"],"Contract.topic":["CodeableConcept","Reference"],"Coverage.costToBeneficiary.value":["Quantity","Money"],"CoverageEligibilityRequest.item.diagnosis.diagnosis":["CodeableConcept","Reference"],"CoverageEligibilityRequest.serviced":["Date","Period"],"CoverageEligibilityResponse.insurance.item.benefit.allowed":["UnsignedInt","String","Money"],"CoverageEligibilityResponse.insurance.item.benefit.used":["UnsignedInt","String","Money"],"CoverageEligibilityResponse.serviced":["Date","Period"],"DataRequirement.dateFilter.value":["DateTime","Period","Duration"],"DataRequirement.subject":["CodeableConcept","Reference"],"DetectedIssue.identified":["DateTime","Period"],"DeviceDefinition.manufacturer":["String","Reference"],"DeviceRequest.code":["Reference","CodeableConcept"],"DeviceRequest.occurrence":["DateTime","Period","Timing"],"DeviceRequest.parameter.value":["CodeableConcept","Quantity","Range","Boolean"],"DeviceUseStatement.timing":["Timing","Period","DateTime"],"DiagnosticReport.effective":["DateTime","Period"],"Dosage.asNeeded":["Boolean","CodeableConcept"],"Dosage.doseAndRate.dose":["Range","Quantity"],"Dosage.doseAndRate.rate":["Ratio","Range","Quantity"],"ElementDefinition.defaultValue":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"ElementDefinition.example.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"ElementDefinition.extension.value":["CodeableConcept","Canonical"],"ElementDefinition.fixed":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"ElementDefinition.maxValue":["Date","DateTime","Instant","Time","Decimal","Integer","PositiveInt","UnsignedInt","Quantity"],"ElementDefinition.minValue":["Date","DateTime","Instant","Time","Decimal","Integer","PositiveInt","UnsignedInt","Quantity"],"ElementDefinition.pattern":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"EventDefinition.subject":["CodeableConcept","Reference"],"EvidenceVariable.characteristic.definition":["Reference","Canonical","CodeableConcept","Expression","DataRequirement","TriggerDefinition"],"EvidenceVariable.characteristic.participantEffective":["DateTime","Period","Duration","Timing"],"ExplanationOfBenefit.accident.location":["Address","Reference"],"ExplanationOfBenefit.addItem.location":["CodeableConcept","Address","Reference"],"ExplanationOfBenefit.addItem.serviced":["Date","Period"],"ExplanationOfBenefit.benefitBalance.financial.allowed":["UnsignedInt","String","Money"],"ExplanationOfBenefit.benefitBalance.financial.used":["UnsignedInt","Money"],"ExplanationOfBenefit.diagnosis.diagnosis":["CodeableConcept","Reference"],"ExplanationOfBenefit.item.location":["CodeableConcept","Address","Reference"],"ExplanationOfBenefit.item.serviced":["Date","Period"],"ExplanationOfBenefit.procedure.procedure":["CodeableConcept","Reference"],"ExplanationOfBenefit.supportingInfo.timing":["Date","Period"],"ExplanationOfBenefit.supportingInfo.value":["Boolean","String","Quantity","Attachment","Reference"],"Extension.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"FamilyMemberHistory.age":["Age","Range","String"],"FamilyMemberHistory.born":["Period","Date","String"],"FamilyMemberHistory.condition.onset":["Age","Range","Period","String"],"FamilyMemberHistory.deceased":["Boolean","Age","Range","Date","String"],"Goal.start":["Date","CodeableConcept"],"Goal.target.detail":["Quantity","Range","CodeableConcept","String","Boolean","Integer","Ratio"],"Goal.target.due":["Date","Duration"],"Group.characteristic.value":["CodeableConcept","Boolean","Quantity","Range","Reference"],"GuidanceResponse.module":["Uri","Canonical","CodeableConcept"],"Immunization.occurrence":["DateTime","String"],"Immunization.protocolApplied.doseNumber":["PositiveInt","String"],"Immunization.protocolApplied.seriesDoses":["PositiveInt","String"],"ImmunizationEvaluation.doseNumber":["PositiveInt","String"],"ImmunizationEvaluation.seriesDoses":["PositiveInt","String"],"ImmunizationRecommendation.recommendation.doseNumber":["PositiveInt","String"],"ImmunizationRecommendation.recommendation.seriesDoses":["PositiveInt","String"],"ImplementationGuide.definition.page.name":["Url","Reference"],"ImplementationGuide.definition.resource.example":["Boolean","Canonical"],"ImplementationGuide.manifest.resource.example":["Boolean","Canonical"],"Invoice.lineItem.chargeItem":["Reference","CodeableConcept"],"Library.subject":["CodeableConcept","Reference"],"Measure.subject":["CodeableConcept","Reference"],"Media.created":["DateTime","Period"],"Medication.ingredient.item":["CodeableConcept","Reference"],"MedicationAdministration.dosage.rate":["Ratio","Quantity"],"MedicationAdministration.effective":["DateTime","Period"],"MedicationAdministration.medication":["CodeableConcept","Reference"],"MedicationDispense.medication":["CodeableConcept","Reference"],"MedicationDispense.statusReason":["CodeableConcept","Reference"],"MedicationKnowledge.administrationGuidelines.indication":["CodeableConcept","Reference"],"MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristic":["CodeableConcept","Quantity"],"MedicationKnowledge.drugCharacteristic.value":["CodeableConcept","String","Quantity","Base64Binary"],"MedicationKnowledge.ingredient.item":["CodeableConcept","Reference"],"MedicationRequest.medication":["CodeableConcept","Reference"],"MedicationRequest.reported":["Boolean","Reference"],"MedicationRequest.substitution.allowed":["Boolean","CodeableConcept"],"MedicationStatement.effective":["DateTime","Period"],"MedicationStatement.medication":["CodeableConcept","Reference"],"MedicinalProduct.specialDesignation.indication":["CodeableConcept","Reference"],"MedicinalProductAuthorization.procedure.date":["Period","DateTime"],"MedicinalProductContraindication.otherTherapy.medication":["CodeableConcept","Reference"],"MedicinalProductIndication.otherTherapy.medication":["CodeableConcept","Reference"],"MedicinalProductInteraction.interactant.item":["Reference","CodeableConcept"],"MessageDefinition.event":["Coding","Uri"],"MessageHeader.event":["Coding","Uri"],"NutritionOrder.enteralFormula.administration.rate":["Quantity","Ratio"],"Observation.component.value":["Quantity","CodeableConcept","String","Boolean","Integer","Range","Ratio","SampledData","Time","DateTime","Period"],"Observation.effective":["DateTime","Period","Timing","Instant"],"Observation.value":["Quantity","CodeableConcept","String","Boolean","Integer","Range","Ratio","SampledData","Time","DateTime","Period"],"Parameters.parameter.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"Patient.deceased":["Boolean","DateTime"],"Patient.multipleBirth":["Boolean","Integer"],"PlanDefinition.action.definition":["Canonical","Uri"],"PlanDefinition.action.relatedAction.offset":["Duration","Range"],"PlanDefinition.action.subject":["CodeableConcept","Reference"],"PlanDefinition.action.timing":["DateTime","Age","Period","Duration","Range","Timing"],"PlanDefinition.goal.target.detail":["Quantity","Range","CodeableConcept"],"PlanDefinition.subject":["CodeableConcept","Reference"],"Population.age":["Range","CodeableConcept"],"Procedure.performed":["DateTime","Period","String","Age","Range"],"Provenance.occurred":["Period","DateTime"],"Questionnaire.item.answerOption.value":["Integer","Date","Time","String","Coding","Reference"],"Questionnaire.item.enableWhen.answer":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Coding","Quantity","Reference"],"Questionnaire.item.initial.value":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Uri","Attachment","Coding","Quantity","Reference"],"QuestionnaireResponse.item.answer.value":["Boolean","Decimal","Integer","Date","DateTime","Time","String","Uri","Attachment","Coding","Quantity","Reference"],"RequestGroup.action.relatedAction.offset":["Duration","Range"],"RequestGroup.action.timing":["DateTime","Age","Period","Duration","Range","Timing"],"ResearchDefinition.subject":["CodeableConcept","Reference"],"ResearchElementDefinition.characteristic.definition":["CodeableConcept","Canonical","Expression","DataRequirement"],"ResearchElementDefinition.characteristic.participantEffective":["DateTime","Period","Duration","Timing"],"ResearchElementDefinition.characteristic.studyEffective":["DateTime","Period","Duration","Timing"],"ResearchElementDefinition.subject":["CodeableConcept","Reference"],"RiskAssessment.occurrence":["DateTime","Period"],"RiskAssessment.prediction.probability":["Decimal","Range"],"RiskAssessment.prediction.when":["Period","Range"],"ServiceRequest.asNeeded":["Boolean","CodeableConcept"],"ServiceRequest.occurrence":["DateTime","Period","Timing"],"ServiceRequest.quantity":["Quantity","Ratio","Range"],"Specimen.collection.collected":["DateTime","Period"],"Specimen.collection.fastingStatus":["CodeableConcept","Duration"],"Specimen.container.additive":["CodeableConcept","Reference"],"Specimen.processing.time":["DateTime","Period"],"SpecimenDefinition.typeTested.container.additive.additive":["CodeableConcept","Reference"],"SpecimenDefinition.typeTested.container.minimumVolume":["Quantity","String"],"StructureMap.group.rule.source.defaultValue":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"StructureMap.group.rule.target.parameter.value":["Id","String","Boolean","Integer","Decimal"],"Substance.ingredient.substance":["CodeableConcept","Reference"],"SubstanceAmount.amount":["Quantity","Range","String"],"SubstanceReferenceInformation.target.amount":["Quantity","Range","String"],"SubstanceSpecification.moiety.amount":["Quantity","String"],"SubstanceSpecification.property.amount":["Quantity","String"],"SubstanceSpecification.property.definingSubstance":["Reference","CodeableConcept"],"SubstanceSpecification.relationship.amount":["Quantity","Range","Ratio","String"],"SubstanceSpecification.relationship.substance":["Reference","CodeableConcept"],"SupplyDelivery.occurrence":["DateTime","Period","Timing"],"SupplyDelivery.suppliedItem.item":["CodeableConcept","Reference"],"SupplyRequest.item":["CodeableConcept","Reference"],"SupplyRequest.occurrence":["DateTime","Period","Timing"],"SupplyRequest.parameter.value":["CodeableConcept","Quantity","Range","Boolean"],"Task.input.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"Task.output.value":["Base64Binary","Boolean","Canonical","Code","Date","DateTime","Decimal","Id","Instant","Integer","Markdown","Oid","PositiveInt","String","Time","UnsignedInt","Uri","Url","Uuid","Address","Age","Annotation","Attachment","CodeableConcept","Coding","ContactPoint","Count","Distance","Duration","HumanName","Identifier","Money","Period","Quantity","Range","Ratio","Reference","SampledData","Signature","Timing","ContactDetail","Contributor","DataRequirement","Expression","ParameterDefinition","RelatedArtifact","TriggerDefinition","UsageContext","Dosage","Meta"],"Timing.repeat.bounds":["Duration","Range","Period"],"TriggerDefinition.timing":["Timing","Reference","Date","DateTime"],"UsageContext.value":["CodeableConcept","Quantity","Range","Reference"],"ValueSet.expansion.parameter.value":["String","Boolean","Integer","Decimal","Uri","Code","DateTime"]}')},752:function(e){"use strict";e.exports=JSON.parse('{"Account.contained":"Resource","Account.coverage":"BackboneElement","Account.coverage.coverage":"Reference","Account.coverage.extension":"Extension","Account.coverage.id":"System.String","Account.coverage.modifierExtension":"Extension","Account.coverage.priority":"positiveInt","Account.description":"string","Account.extension":"Extension","Account.guarantor":"BackboneElement","Account.guarantor.extension":"Extension","Account.guarantor.id":"System.String","Account.guarantor.modifierExtension":"Extension","Account.guarantor.onHold":"boolean","Account.guarantor.party":"Reference","Account.guarantor.period":"Period","Account.id":"System.String","Account.identifier":"Identifier","Account.implicitRules":"uri","Account.language":"code","Account.meta":"Meta","Account.modifierExtension":"Extension","Account.name":"string","Account.owner":"Reference","Account.partOf":"Reference","Account.servicePeriod":"Period","Account.status":"code","Account.subject":"Reference","Account.text":"Narrative","Account.type":"CodeableConcept","ActivityDefinition.approvalDate":"date","ActivityDefinition.author":"ContactDetail","ActivityDefinition.bodySite":"CodeableConcept","ActivityDefinition.code":"CodeableConcept","ActivityDefinition.contact":"ContactDetail","ActivityDefinition.contained":"Resource","ActivityDefinition.copyright":"markdown","ActivityDefinition.date":"dateTime","ActivityDefinition.description":"markdown","ActivityDefinition.doNotPerform":"boolean","ActivityDefinition.dosage":"Dosage","ActivityDefinition.dynamicValue":"BackboneElement","ActivityDefinition.dynamicValue.expression":"Expression","ActivityDefinition.dynamicValue.extension":"Extension","ActivityDefinition.dynamicValue.id":"System.String","ActivityDefinition.dynamicValue.modifierExtension":"Extension","ActivityDefinition.dynamicValue.path":"string","ActivityDefinition.editor":"ContactDetail","ActivityDefinition.effectivePeriod":"Period","ActivityDefinition.endorser":"ContactDetail","ActivityDefinition.experimental":"boolean","ActivityDefinition.extension":"Extension","ActivityDefinition.id":"System.String","ActivityDefinition.identifier":"Identifier","ActivityDefinition.implicitRules":"uri","ActivityDefinition.intent":"code","ActivityDefinition.jurisdiction":"CodeableConcept","ActivityDefinition.kind":"code","ActivityDefinition.language":"code","ActivityDefinition.lastReviewDate":"date","ActivityDefinition.library":"canonical","ActivityDefinition.location":"Reference","ActivityDefinition.meta":"Meta","ActivityDefinition.modifierExtension":"Extension","ActivityDefinition.name":"string","ActivityDefinition.observationRequirement":"Reference","ActivityDefinition.observationResultRequirement":"Reference","ActivityDefinition.participant":"BackboneElement","ActivityDefinition.participant.extension":"Extension","ActivityDefinition.participant.id":"System.String","ActivityDefinition.participant.modifierExtension":"Extension","ActivityDefinition.participant.role":"CodeableConcept","ActivityDefinition.participant.type":"code","ActivityDefinition.priority":"code","ActivityDefinition.productCodeableConcept":"CodeableConcept","ActivityDefinition.productReference":"Reference","ActivityDefinition.profile":"canonical","ActivityDefinition.publisher":"string","ActivityDefinition.purpose":"markdown","ActivityDefinition.quantity":"Quantity","ActivityDefinition.relatedArtifact":"RelatedArtifact","ActivityDefinition.reviewer":"ContactDetail","ActivityDefinition.specimenRequirement":"Reference","ActivityDefinition.status":"code","ActivityDefinition.subjectCodeableConcept":"CodeableConcept","ActivityDefinition.subjectReference":"Reference","ActivityDefinition.subtitle":"string","ActivityDefinition.text":"Narrative","ActivityDefinition.timingAge":"Age","ActivityDefinition.timingDateTime":"dateTime","ActivityDefinition.timingDuration":"Duration","ActivityDefinition.timingPeriod":"Period","ActivityDefinition.timingRange":"Range","ActivityDefinition.timingTiming":"Timing","ActivityDefinition.title":"string","ActivityDefinition.topic":"CodeableConcept","ActivityDefinition.transform":"canonical","ActivityDefinition.url":"uri","ActivityDefinition.usage":"string","ActivityDefinition.useContext":"UsageContext","ActivityDefinition.version":"string","Address.city":"string","Address.country":"string","Address.district":"string","Address.extension":"Extension","Address.id":"System.String","Address.line":"string","Address.period":"Period","Address.postalCode":"string","Address.state":"string","Address.text":"string","Address.type":"code","Address.use":"code","AdverseEvent.actuality":"code","AdverseEvent.category":"CodeableConcept","AdverseEvent.contained":"Resource","AdverseEvent.contributor":"Reference","AdverseEvent.date":"dateTime","AdverseEvent.detected":"dateTime","AdverseEvent.encounter":"Reference","AdverseEvent.event":"CodeableConcept","AdverseEvent.extension":"Extension","AdverseEvent.id":"System.String","AdverseEvent.identifier":"Identifier","AdverseEvent.implicitRules":"uri","AdverseEvent.language":"code","AdverseEvent.location":"Reference","AdverseEvent.meta":"Meta","AdverseEvent.modifierExtension":"Extension","AdverseEvent.outcome":"CodeableConcept","AdverseEvent.recordedDate":"dateTime","AdverseEvent.recorder":"Reference","AdverseEvent.referenceDocument":"Reference","AdverseEvent.resultingCondition":"Reference","AdverseEvent.seriousness":"CodeableConcept","AdverseEvent.severity":"CodeableConcept","AdverseEvent.study":"Reference","AdverseEvent.subject":"Reference","AdverseEvent.subjectMedicalHistory":"Reference","AdverseEvent.suspectEntity":"BackboneElement","AdverseEvent.suspectEntity.causality":"BackboneElement","AdverseEvent.suspectEntity.causality.assessment":"CodeableConcept","AdverseEvent.suspectEntity.causality.author":"Reference","AdverseEvent.suspectEntity.causality.extension":"Extension","AdverseEvent.suspectEntity.causality.id":"System.String","AdverseEvent.suspectEntity.causality.method":"CodeableConcept","AdverseEvent.suspectEntity.causality.modifierExtension":"Extension","AdverseEvent.suspectEntity.causality.productRelatedness":"string","AdverseEvent.suspectEntity.extension":"Extension","AdverseEvent.suspectEntity.id":"System.String","AdverseEvent.suspectEntity.instance":"Reference","AdverseEvent.suspectEntity.modifierExtension":"Extension","AdverseEvent.text":"Narrative","Age.code":"code","Age.comparator":"code","Age.extension":"Extension","Age.id":"System.String","Age.system":"uri","Age.unit":"string","Age.value":"decimal","AllergyIntolerance.asserter":"Reference","AllergyIntolerance.category":"code","AllergyIntolerance.clinicalStatus":"CodeableConcept","AllergyIntolerance.code":"CodeableConcept","AllergyIntolerance.contained":"Resource","AllergyIntolerance.criticality":"code","AllergyIntolerance.encounter":"Reference","AllergyIntolerance.extension":"Extension","AllergyIntolerance.id":"System.String","AllergyIntolerance.identifier":"Identifier","AllergyIntolerance.implicitRules":"uri","AllergyIntolerance.language":"code","AllergyIntolerance.lastOccurrence":"dateTime","AllergyIntolerance.meta":"Meta","AllergyIntolerance.modifierExtension":"Extension","AllergyIntolerance.note":"Annotation","AllergyIntolerance.onsetAge":"Age","AllergyIntolerance.onsetDateTime":"dateTime","AllergyIntolerance.onsetPeriod":"Period","AllergyIntolerance.onsetRange":"Range","AllergyIntolerance.onsetString":"string","AllergyIntolerance.patient":"Reference","AllergyIntolerance.reaction":"BackboneElement","AllergyIntolerance.reaction.description":"string","AllergyIntolerance.reaction.exposureRoute":"CodeableConcept","AllergyIntolerance.reaction.extension":"Extension","AllergyIntolerance.reaction.id":"System.String","AllergyIntolerance.reaction.manifestation":"CodeableConcept","AllergyIntolerance.reaction.modifierExtension":"Extension","AllergyIntolerance.reaction.note":"Annotation","AllergyIntolerance.reaction.onset":"dateTime","AllergyIntolerance.reaction.severity":"code","AllergyIntolerance.reaction.substance":"CodeableConcept","AllergyIntolerance.recordedDate":"dateTime","AllergyIntolerance.recorder":"Reference","AllergyIntolerance.text":"Narrative","AllergyIntolerance.type":"code","AllergyIntolerance.verificationStatus":"CodeableConcept","Annotation.authorReference":"Reference","Annotation.authorString":"string","Annotation.extension":"Extension","Annotation.id":"System.String","Annotation.text":"markdown","Annotation.time":"dateTime","Appointment.appointmentType":"CodeableConcept","Appointment.basedOn":"Reference","Appointment.cancelationReason":"CodeableConcept","Appointment.comment":"string","Appointment.contained":"Resource","Appointment.created":"dateTime","Appointment.description":"string","Appointment.end":"instant","Appointment.extension":"Extension","Appointment.id":"System.String","Appointment.identifier":"Identifier","Appointment.implicitRules":"uri","Appointment.language":"code","Appointment.meta":"Meta","Appointment.minutesDuration":"positiveInt","Appointment.modifierExtension":"Extension","Appointment.participant":"BackboneElement","Appointment.participant.actor":"Reference","Appointment.participant.extension":"Extension","Appointment.participant.id":"System.String","Appointment.participant.modifierExtension":"Extension","Appointment.participant.period":"Period","Appointment.participant.required":"code","Appointment.participant.status":"code","Appointment.participant.type":"CodeableConcept","Appointment.patientInstruction":"string","Appointment.priority":"unsignedInt","Appointment.reasonCode":"CodeableConcept","Appointment.reasonReference":"Reference","Appointment.requestedPeriod":"Period","Appointment.serviceCategory":"CodeableConcept","Appointment.serviceType":"CodeableConcept","Appointment.slot":"Reference","Appointment.specialty":"CodeableConcept","Appointment.start":"instant","Appointment.status":"code","Appointment.supportingInformation":"Reference","Appointment.text":"Narrative","AppointmentResponse.actor":"Reference","AppointmentResponse.appointment":"Reference","AppointmentResponse.comment":"string","AppointmentResponse.contained":"Resource","AppointmentResponse.end":"instant","AppointmentResponse.extension":"Extension","AppointmentResponse.id":"System.String","AppointmentResponse.identifier":"Identifier","AppointmentResponse.implicitRules":"uri","AppointmentResponse.language":"code","AppointmentResponse.meta":"Meta","AppointmentResponse.modifierExtension":"Extension","AppointmentResponse.participantStatus":"code","AppointmentResponse.participantType":"CodeableConcept","AppointmentResponse.start":"instant","AppointmentResponse.text":"Narrative","Attachment.contentType":"code","Attachment.creation":"dateTime","Attachment.data":"base64Binary","Attachment.extension":"Extension","Attachment.hash":"base64Binary","Attachment.id":"System.String","Attachment.language":"code","Attachment.size":"unsignedInt","Attachment.title":"string","Attachment.url":"url","AuditEvent.action":"code","AuditEvent.agent":"BackboneElement","AuditEvent.agent.altId":"string","AuditEvent.agent.extension":"Extension","AuditEvent.agent.id":"System.String","AuditEvent.agent.location":"Reference","AuditEvent.agent.media":"Coding","AuditEvent.agent.modifierExtension":"Extension","AuditEvent.agent.name":"string","AuditEvent.agent.network":"BackboneElement","AuditEvent.agent.network.address":"string","AuditEvent.agent.network.extension":"Extension","AuditEvent.agent.network.id":"System.String","AuditEvent.agent.network.modifierExtension":"Extension","AuditEvent.agent.network.type":"code","AuditEvent.agent.policy":"uri","AuditEvent.agent.purposeOfUse":"CodeableConcept","AuditEvent.agent.requestor":"boolean","AuditEvent.agent.role":"CodeableConcept","AuditEvent.agent.type":"CodeableConcept","AuditEvent.agent.who":"Reference","AuditEvent.contained":"Resource","AuditEvent.entity":"BackboneElement","AuditEvent.entity.description":"string","AuditEvent.entity.detail":"BackboneElement","AuditEvent.entity.detail.extension":"Extension","AuditEvent.entity.detail.id":"System.String","AuditEvent.entity.detail.modifierExtension":"Extension","AuditEvent.entity.detail.type":"string","AuditEvent.entity.detail.valueBase64Binary":"base64Binary","AuditEvent.entity.detail.valueString":"string","AuditEvent.entity.extension":"Extension","AuditEvent.entity.id":"System.String","AuditEvent.entity.lifecycle":"Coding","AuditEvent.entity.modifierExtension":"Extension","AuditEvent.entity.name":"string","AuditEvent.entity.query":"base64Binary","AuditEvent.entity.role":"Coding","AuditEvent.entity.securityLabel":"Coding","AuditEvent.entity.type":"Coding","AuditEvent.entity.what":"Reference","AuditEvent.extension":"Extension","AuditEvent.id":"System.String","AuditEvent.implicitRules":"uri","AuditEvent.language":"code","AuditEvent.meta":"Meta","AuditEvent.modifierExtension":"Extension","AuditEvent.outcome":"code","AuditEvent.outcomeDesc":"string","AuditEvent.period":"Period","AuditEvent.purposeOfEvent":"CodeableConcept","AuditEvent.recorded":"instant","AuditEvent.source":"BackboneElement","AuditEvent.source.extension":"Extension","AuditEvent.source.id":"System.String","AuditEvent.source.modifierExtension":"Extension","AuditEvent.source.observer":"Reference","AuditEvent.source.site":"string","AuditEvent.source.type":"Coding","AuditEvent.subtype":"Coding","AuditEvent.text":"Narrative","AuditEvent.type":"Coding","BackboneElement.extension":"Extension","BackboneElement.id":"System.String","BackboneElement.modifierExtension":"Extension","Basic.author":"Reference","Basic.code":"CodeableConcept","Basic.contained":"Resource","Basic.created":"date","Basic.extension":"Extension","Basic.id":"System.String","Basic.identifier":"Identifier","Basic.implicitRules":"uri","Basic.language":"code","Basic.meta":"Meta","Basic.modifierExtension":"Extension","Basic.subject":"Reference","Basic.text":"Narrative","Binary.contentType":"code","Binary.data":"base64Binary","Binary.id":"System.String","Binary.implicitRules":"uri","Binary.language":"code","Binary.meta":"Meta","Binary.securityContext":"Reference","BiologicallyDerivedProduct.collection":"BackboneElement","BiologicallyDerivedProduct.collection.collectedDateTime":"dateTime","BiologicallyDerivedProduct.collection.collectedPeriod":"Period","BiologicallyDerivedProduct.collection.collector":"Reference","BiologicallyDerivedProduct.collection.extension":"Extension","BiologicallyDerivedProduct.collection.id":"System.String","BiologicallyDerivedProduct.collection.modifierExtension":"Extension","BiologicallyDerivedProduct.collection.source":"Reference","BiologicallyDerivedProduct.contained":"Resource","BiologicallyDerivedProduct.extension":"Extension","BiologicallyDerivedProduct.id":"System.String","BiologicallyDerivedProduct.identifier":"Identifier","BiologicallyDerivedProduct.implicitRules":"uri","BiologicallyDerivedProduct.language":"code","BiologicallyDerivedProduct.manipulation":"BackboneElement","BiologicallyDerivedProduct.manipulation.description":"string","BiologicallyDerivedProduct.manipulation.extension":"Extension","BiologicallyDerivedProduct.manipulation.id":"System.String","BiologicallyDerivedProduct.manipulation.modifierExtension":"Extension","BiologicallyDerivedProduct.manipulation.timeDateTime":"dateTime","BiologicallyDerivedProduct.manipulation.timePeriod":"Period","BiologicallyDerivedProduct.meta":"Meta","BiologicallyDerivedProduct.modifierExtension":"Extension","BiologicallyDerivedProduct.parent":"Reference","BiologicallyDerivedProduct.processing":"BackboneElement","BiologicallyDerivedProduct.processing.additive":"Reference","BiologicallyDerivedProduct.processing.description":"string","BiologicallyDerivedProduct.processing.extension":"Extension","BiologicallyDerivedProduct.processing.id":"System.String","BiologicallyDerivedProduct.processing.modifierExtension":"Extension","BiologicallyDerivedProduct.processing.procedure":"CodeableConcept","BiologicallyDerivedProduct.processing.timeDateTime":"dateTime","BiologicallyDerivedProduct.processing.timePeriod":"Period","BiologicallyDerivedProduct.productCategory":"code","BiologicallyDerivedProduct.productCode":"CodeableConcept","BiologicallyDerivedProduct.quantity":"integer","BiologicallyDerivedProduct.request":"Reference","BiologicallyDerivedProduct.status":"code","BiologicallyDerivedProduct.storage":"BackboneElement","BiologicallyDerivedProduct.storage.description":"string","BiologicallyDerivedProduct.storage.duration":"Period","BiologicallyDerivedProduct.storage.extension":"Extension","BiologicallyDerivedProduct.storage.id":"System.String","BiologicallyDerivedProduct.storage.modifierExtension":"Extension","BiologicallyDerivedProduct.storage.scale":"code","BiologicallyDerivedProduct.storage.temperature":"decimal","BiologicallyDerivedProduct.text":"Narrative","BodyStructure.active":"boolean","BodyStructure.contained":"Resource","BodyStructure.description":"string","BodyStructure.extension":"Extension","BodyStructure.id":"System.String","BodyStructure.identifier":"Identifier","BodyStructure.image":"Attachment","BodyStructure.implicitRules":"uri","BodyStructure.language":"code","BodyStructure.location":"CodeableConcept","BodyStructure.locationQualifier":"CodeableConcept","BodyStructure.meta":"Meta","BodyStructure.modifierExtension":"Extension","BodyStructure.morphology":"CodeableConcept","BodyStructure.patient":"Reference","BodyStructure.text":"Narrative","Bundle.entry":"BackboneElement","Bundle.entry.extension":"Extension","Bundle.entry.fullUrl":"uri","Bundle.entry.id":"System.String","Bundle.entry.modifierExtension":"Extension","Bundle.entry.request":"BackboneElement","Bundle.entry.request.extension":"Extension","Bundle.entry.request.id":"System.String","Bundle.entry.request.ifMatch":"string","Bundle.entry.request.ifModifiedSince":"instant","Bundle.entry.request.ifNoneExist":"string","Bundle.entry.request.ifNoneMatch":"string","Bundle.entry.request.method":"code","Bundle.entry.request.modifierExtension":"Extension","Bundle.entry.request.url":"uri","Bundle.entry.resource":"Resource","Bundle.entry.response":"BackboneElement","Bundle.entry.response.etag":"string","Bundle.entry.response.extension":"Extension","Bundle.entry.response.id":"System.String","Bundle.entry.response.lastModified":"instant","Bundle.entry.response.location":"uri","Bundle.entry.response.modifierExtension":"Extension","Bundle.entry.response.outcome":"Resource","Bundle.entry.response.status":"string","Bundle.entry.search":"BackboneElement","Bundle.entry.search.extension":"Extension","Bundle.entry.search.id":"System.String","Bundle.entry.search.mode":"code","Bundle.entry.search.modifierExtension":"Extension","Bundle.entry.search.score":"decimal","Bundle.id":"System.String","Bundle.identifier":"Identifier","Bundle.implicitRules":"uri","Bundle.language":"code","Bundle.link":"BackboneElement","Bundle.link.extension":"Extension","Bundle.link.id":"System.String","Bundle.link.modifierExtension":"Extension","Bundle.link.relation":"string","Bundle.link.url":"uri","Bundle.meta":"Meta","Bundle.signature":"Signature","Bundle.timestamp":"instant","Bundle.total":"unsignedInt","Bundle.type":"code","CapabilityStatement.contact":"ContactDetail","CapabilityStatement.contained":"Resource","CapabilityStatement.copyright":"markdown","CapabilityStatement.date":"dateTime","CapabilityStatement.description":"markdown","CapabilityStatement.document":"BackboneElement","CapabilityStatement.document.documentation":"markdown","CapabilityStatement.document.extension":"Extension","CapabilityStatement.document.id":"System.String","CapabilityStatement.document.mode":"code","CapabilityStatement.document.modifierExtension":"Extension","CapabilityStatement.document.profile":"canonical","CapabilityStatement.experimental":"boolean","CapabilityStatement.extension":"Extension","CapabilityStatement.fhirVersion":"code","CapabilityStatement.format":"code","CapabilityStatement.id":"System.String","CapabilityStatement.implementation":"BackboneElement","CapabilityStatement.implementation.custodian":"Reference","CapabilityStatement.implementation.description":"string","CapabilityStatement.implementation.extension":"Extension","CapabilityStatement.implementation.id":"System.String","CapabilityStatement.implementation.modifierExtension":"Extension","CapabilityStatement.implementation.url":"url","CapabilityStatement.implementationGuide":"canonical","CapabilityStatement.implicitRules":"uri","CapabilityStatement.imports":"canonical","CapabilityStatement.instantiates":"canonical","CapabilityStatement.jurisdiction":"CodeableConcept","CapabilityStatement.kind":"code","CapabilityStatement.language":"code","CapabilityStatement.messaging":"BackboneElement","CapabilityStatement.messaging.documentation":"markdown","CapabilityStatement.messaging.endpoint":"BackboneElement","CapabilityStatement.messaging.endpoint.address":"url","CapabilityStatement.messaging.endpoint.extension":"Extension","CapabilityStatement.messaging.endpoint.id":"System.String","CapabilityStatement.messaging.endpoint.modifierExtension":"Extension","CapabilityStatement.messaging.endpoint.protocol":"Coding","CapabilityStatement.messaging.extension":"Extension","CapabilityStatement.messaging.id":"System.String","CapabilityStatement.messaging.modifierExtension":"Extension","CapabilityStatement.messaging.reliableCache":"unsignedInt","CapabilityStatement.messaging.supportedMessage":"BackboneElement","CapabilityStatement.messaging.supportedMessage.definition":"canonical","CapabilityStatement.messaging.supportedMessage.extension":"Extension","CapabilityStatement.messaging.supportedMessage.id":"System.String","CapabilityStatement.messaging.supportedMessage.mode":"code","CapabilityStatement.messaging.supportedMessage.modifierExtension":"Extension","CapabilityStatement.meta":"Meta","CapabilityStatement.modifierExtension":"Extension","CapabilityStatement.name":"string","CapabilityStatement.patchFormat":"code","CapabilityStatement.publisher":"string","CapabilityStatement.purpose":"markdown","CapabilityStatement.rest":"BackboneElement","CapabilityStatement.rest.compartment":"canonical","CapabilityStatement.rest.documentation":"markdown","CapabilityStatement.rest.extension":"Extension","CapabilityStatement.rest.id":"System.String","CapabilityStatement.rest.interaction":"BackboneElement","CapabilityStatement.rest.interaction.code":"code","CapabilityStatement.rest.interaction.documentation":"markdown","CapabilityStatement.rest.interaction.extension":"Extension","CapabilityStatement.rest.interaction.id":"System.String","CapabilityStatement.rest.interaction.modifierExtension":"Extension","CapabilityStatement.rest.mode":"code","CapabilityStatement.rest.modifierExtension":"Extension","CapabilityStatement.rest.resource":"BackboneElement","CapabilityStatement.rest.resource.conditionalCreate":"boolean","CapabilityStatement.rest.resource.conditionalDelete":"code","CapabilityStatement.rest.resource.conditionalRead":"code","CapabilityStatement.rest.resource.conditionalUpdate":"boolean","CapabilityStatement.rest.resource.documentation":"markdown","CapabilityStatement.rest.resource.extension":"Extension","CapabilityStatement.rest.resource.id":"System.String","CapabilityStatement.rest.resource.interaction":"BackboneElement","CapabilityStatement.rest.resource.interaction.code":"code","CapabilityStatement.rest.resource.interaction.documentation":"markdown","CapabilityStatement.rest.resource.interaction.extension":"Extension","CapabilityStatement.rest.resource.interaction.id":"System.String","CapabilityStatement.rest.resource.interaction.modifierExtension":"Extension","CapabilityStatement.rest.resource.modifierExtension":"Extension","CapabilityStatement.rest.resource.operation":"BackboneElement","CapabilityStatement.rest.resource.operation.definition":"canonical","CapabilityStatement.rest.resource.operation.documentation":"markdown","CapabilityStatement.rest.resource.operation.extension":"Extension","CapabilityStatement.rest.resource.operation.id":"System.String","CapabilityStatement.rest.resource.operation.modifierExtension":"Extension","CapabilityStatement.rest.resource.operation.name":"string","CapabilityStatement.rest.resource.profile":"canonical","CapabilityStatement.rest.resource.readHistory":"boolean","CapabilityStatement.rest.resource.referencePolicy":"code","CapabilityStatement.rest.resource.searchInclude":"string","CapabilityStatement.rest.resource.searchParam":"BackboneElement","CapabilityStatement.rest.resource.searchParam.definition":"canonical","CapabilityStatement.rest.resource.searchParam.documentation":"markdown","CapabilityStatement.rest.resource.searchParam.extension":"Extension","CapabilityStatement.rest.resource.searchParam.id":"System.String","CapabilityStatement.rest.resource.searchParam.modifierExtension":"Extension","CapabilityStatement.rest.resource.searchParam.name":"string","CapabilityStatement.rest.resource.searchParam.type":"code","CapabilityStatement.rest.resource.searchRevInclude":"string","CapabilityStatement.rest.resource.supportedProfile":"canonical","CapabilityStatement.rest.resource.type":"code","CapabilityStatement.rest.resource.updateCreate":"boolean","CapabilityStatement.rest.resource.versioning":"code","CapabilityStatement.rest.security":"BackboneElement","CapabilityStatement.rest.security.cors":"boolean","CapabilityStatement.rest.security.description":"markdown","CapabilityStatement.rest.security.extension":"Extension","CapabilityStatement.rest.security.id":"System.String","CapabilityStatement.rest.security.modifierExtension":"Extension","CapabilityStatement.rest.security.service":"CodeableConcept","CapabilityStatement.software":"BackboneElement","CapabilityStatement.software.extension":"Extension","CapabilityStatement.software.id":"System.String","CapabilityStatement.software.modifierExtension":"Extension","CapabilityStatement.software.name":"string","CapabilityStatement.software.releaseDate":"dateTime","CapabilityStatement.software.version":"string","CapabilityStatement.status":"code","CapabilityStatement.text":"Narrative","CapabilityStatement.title":"string","CapabilityStatement.url":"uri","CapabilityStatement.useContext":"UsageContext","CapabilityStatement.version":"string","CarePlan.activity":"BackboneElement","CarePlan.activity.detail":"BackboneElement","CarePlan.activity.detail.code":"CodeableConcept","CarePlan.activity.detail.dailyAmount":"Quantity","CarePlan.activity.detail.description":"string","CarePlan.activity.detail.doNotPerform":"boolean","CarePlan.activity.detail.extension":"Extension","CarePlan.activity.detail.goal":"Reference","CarePlan.activity.detail.id":"System.String","CarePlan.activity.detail.instantiatesCanonical":"canonical","CarePlan.activity.detail.instantiatesUri":"uri","CarePlan.activity.detail.kind":"code","CarePlan.activity.detail.location":"Reference","CarePlan.activity.detail.modifierExtension":"Extension","CarePlan.activity.detail.performer":"Reference","CarePlan.activity.detail.productCodeableConcept":"CodeableConcept","CarePlan.activity.detail.productReference":"Reference","CarePlan.activity.detail.quantity":"Quantity","CarePlan.activity.detail.reasonCode":"CodeableConcept","CarePlan.activity.detail.reasonReference":"Reference","CarePlan.activity.detail.scheduledPeriod":"Period","CarePlan.activity.detail.scheduledString":"string","CarePlan.activity.detail.scheduledTiming":"Timing","CarePlan.activity.detail.status":"code","CarePlan.activity.detail.statusReason":"CodeableConcept","CarePlan.activity.extension":"Extension","CarePlan.activity.id":"System.String","CarePlan.activity.modifierExtension":"Extension","CarePlan.activity.outcomeCodeableConcept":"CodeableConcept","CarePlan.activity.outcomeReference":"Reference","CarePlan.activity.progress":"Annotation","CarePlan.activity.reference":"Reference","CarePlan.addresses":"Reference","CarePlan.author":"Reference","CarePlan.basedOn":"Reference","CarePlan.careTeam":"Reference","CarePlan.category":"CodeableConcept","CarePlan.contained":"Resource","CarePlan.contributor":"Reference","CarePlan.created":"dateTime","CarePlan.description":"string","CarePlan.encounter":"Reference","CarePlan.extension":"Extension","CarePlan.goal":"Reference","CarePlan.id":"System.String","CarePlan.identifier":"Identifier","CarePlan.implicitRules":"uri","CarePlan.instantiatesCanonical":"canonical","CarePlan.instantiatesUri":"uri","CarePlan.intent":"code","CarePlan.language":"code","CarePlan.meta":"Meta","CarePlan.modifierExtension":"Extension","CarePlan.note":"Annotation","CarePlan.partOf":"Reference","CarePlan.period":"Period","CarePlan.replaces":"Reference","CarePlan.status":"code","CarePlan.subject":"Reference","CarePlan.supportingInfo":"Reference","CarePlan.text":"Narrative","CarePlan.title":"string","CareTeam.category":"CodeableConcept","CareTeam.contained":"Resource","CareTeam.encounter":"Reference","CareTeam.extension":"Extension","CareTeam.id":"System.String","CareTeam.identifier":"Identifier","CareTeam.implicitRules":"uri","CareTeam.language":"code","CareTeam.managingOrganization":"Reference","CareTeam.meta":"Meta","CareTeam.modifierExtension":"Extension","CareTeam.name":"string","CareTeam.note":"Annotation","CareTeam.participant":"BackboneElement","CareTeam.participant.extension":"Extension","CareTeam.participant.id":"System.String","CareTeam.participant.member":"Reference","CareTeam.participant.modifierExtension":"Extension","CareTeam.participant.onBehalfOf":"Reference","CareTeam.participant.period":"Period","CareTeam.participant.role":"CodeableConcept","CareTeam.period":"Period","CareTeam.reasonCode":"CodeableConcept","CareTeam.reasonReference":"Reference","CareTeam.status":"code","CareTeam.subject":"Reference","CareTeam.telecom":"ContactPoint","CareTeam.text":"Narrative","CatalogEntry.additionalCharacteristic":"CodeableConcept","CatalogEntry.additionalClassification":"CodeableConcept","CatalogEntry.additionalIdentifier":"Identifier","CatalogEntry.classification":"CodeableConcept","CatalogEntry.contained":"Resource","CatalogEntry.extension":"Extension","CatalogEntry.id":"System.String","CatalogEntry.identifier":"Identifier","CatalogEntry.implicitRules":"uri","CatalogEntry.language":"code","CatalogEntry.lastUpdated":"dateTime","CatalogEntry.meta":"Meta","CatalogEntry.modifierExtension":"Extension","CatalogEntry.orderable":"boolean","CatalogEntry.referencedItem":"Reference","CatalogEntry.relatedEntry":"BackboneElement","CatalogEntry.relatedEntry.extension":"Extension","CatalogEntry.relatedEntry.id":"System.String","CatalogEntry.relatedEntry.item":"Reference","CatalogEntry.relatedEntry.modifierExtension":"Extension","CatalogEntry.relatedEntry.relationtype":"code","CatalogEntry.status":"code","CatalogEntry.text":"Narrative","CatalogEntry.type":"CodeableConcept","CatalogEntry.validTo":"dateTime","CatalogEntry.validityPeriod":"Period","ChargeItem.account":"Reference","ChargeItem.bodysite":"CodeableConcept","ChargeItem.code":"CodeableConcept","ChargeItem.contained":"Resource","ChargeItem.context":"Reference","ChargeItem.costCenter":"Reference","ChargeItem.definitionCanonical":"canonical","ChargeItem.definitionUri":"uri","ChargeItem.enteredDate":"dateTime","ChargeItem.enterer":"Reference","ChargeItem.extension":"Extension","ChargeItem.factorOverride":"decimal","ChargeItem.id":"System.String","ChargeItem.identifier":"Identifier","ChargeItem.implicitRules":"uri","ChargeItem.language":"code","ChargeItem.meta":"Meta","ChargeItem.modifierExtension":"Extension","ChargeItem.note":"Annotation","ChargeItem.occurrenceDateTime":"dateTime","ChargeItem.occurrencePeriod":"Period","ChargeItem.occurrenceTiming":"Timing","ChargeItem.overrideReason":"string","ChargeItem.partOf":"Reference","ChargeItem.performer":"BackboneElement","ChargeItem.performer.actor":"Reference","ChargeItem.performer.extension":"Extension","ChargeItem.performer.function":"CodeableConcept","ChargeItem.performer.id":"System.String","ChargeItem.performer.modifierExtension":"Extension","ChargeItem.performingOrganization":"Reference","ChargeItem.priceOverride":"Money","ChargeItem.productCodeableConcept":"CodeableConcept","ChargeItem.productReference":"Reference","ChargeItem.quantity":"Quantity","ChargeItem.reason":"CodeableConcept","ChargeItem.requestingOrganization":"Reference","ChargeItem.service":"Reference","ChargeItem.status":"code","ChargeItem.subject":"Reference","ChargeItem.supportingInformation":"Reference","ChargeItem.text":"Narrative","ChargeItemDefinition.applicability":"BackboneElement","ChargeItemDefinition.applicability.description":"string","ChargeItemDefinition.applicability.expression":"string","ChargeItemDefinition.applicability.extension":"Extension","ChargeItemDefinition.applicability.id":"System.String","ChargeItemDefinition.applicability.language":"string","ChargeItemDefinition.applicability.modifierExtension":"Extension","ChargeItemDefinition.approvalDate":"date","ChargeItemDefinition.code":"CodeableConcept","ChargeItemDefinition.contact":"ContactDetail","ChargeItemDefinition.contained":"Resource","ChargeItemDefinition.copyright":"markdown","ChargeItemDefinition.date":"dateTime","ChargeItemDefinition.derivedFromUri":"uri","ChargeItemDefinition.description":"markdown","ChargeItemDefinition.effectivePeriod":"Period","ChargeItemDefinition.experimental":"boolean","ChargeItemDefinition.extension":"Extension","ChargeItemDefinition.id":"System.String","ChargeItemDefinition.identifier":"Identifier","ChargeItemDefinition.implicitRules":"uri","ChargeItemDefinition.instance":"Reference","ChargeItemDefinition.jurisdiction":"CodeableConcept","ChargeItemDefinition.language":"code","ChargeItemDefinition.lastReviewDate":"date","ChargeItemDefinition.meta":"Meta","ChargeItemDefinition.modifierExtension":"Extension","ChargeItemDefinition.partOf":"canonical","ChargeItemDefinition.propertyGroup":"BackboneElement","ChargeItemDefinition.propertyGroup.extension":"Extension","ChargeItemDefinition.propertyGroup.id":"System.String","ChargeItemDefinition.propertyGroup.modifierExtension":"Extension","ChargeItemDefinition.propertyGroup.priceComponent":"BackboneElement","ChargeItemDefinition.propertyGroup.priceComponent.amount":"Money","ChargeItemDefinition.propertyGroup.priceComponent.code":"CodeableConcept","ChargeItemDefinition.propertyGroup.priceComponent.extension":"Extension","ChargeItemDefinition.propertyGroup.priceComponent.factor":"decimal","ChargeItemDefinition.propertyGroup.priceComponent.id":"System.String","ChargeItemDefinition.propertyGroup.priceComponent.modifierExtension":"Extension","ChargeItemDefinition.propertyGroup.priceComponent.type":"code","ChargeItemDefinition.publisher":"string","ChargeItemDefinition.replaces":"canonical","ChargeItemDefinition.status":"code","ChargeItemDefinition.text":"Narrative","ChargeItemDefinition.title":"string","ChargeItemDefinition.url":"uri","ChargeItemDefinition.useContext":"UsageContext","ChargeItemDefinition.version":"string","Claim.accident":"BackboneElement","Claim.accident.date":"date","Claim.accident.extension":"Extension","Claim.accident.id":"System.String","Claim.accident.locationAddress":"Address","Claim.accident.locationReference":"Reference","Claim.accident.modifierExtension":"Extension","Claim.accident.type":"CodeableConcept","Claim.billablePeriod":"Period","Claim.careTeam":"BackboneElement","Claim.careTeam.extension":"Extension","Claim.careTeam.id":"System.String","Claim.careTeam.modifierExtension":"Extension","Claim.careTeam.provider":"Reference","Claim.careTeam.qualification":"CodeableConcept","Claim.careTeam.responsible":"boolean","Claim.careTeam.role":"CodeableConcept","Claim.careTeam.sequence":"positiveInt","Claim.contained":"Resource","Claim.created":"dateTime","Claim.diagnosis":"BackboneElement","Claim.diagnosis.diagnosisCodeableConcept":"CodeableConcept","Claim.diagnosis.diagnosisReference":"Reference","Claim.diagnosis.extension":"Extension","Claim.diagnosis.id":"System.String","Claim.diagnosis.modifierExtension":"Extension","Claim.diagnosis.onAdmission":"CodeableConcept","Claim.diagnosis.packageCode":"CodeableConcept","Claim.diagnosis.sequence":"positiveInt","Claim.diagnosis.type":"CodeableConcept","Claim.enterer":"Reference","Claim.extension":"Extension","Claim.facility":"Reference","Claim.fundsReserve":"CodeableConcept","Claim.id":"System.String","Claim.identifier":"Identifier","Claim.implicitRules":"uri","Claim.insurance":"BackboneElement","Claim.insurance.businessArrangement":"string","Claim.insurance.claimResponse":"Reference","Claim.insurance.coverage":"Reference","Claim.insurance.extension":"Extension","Claim.insurance.focal":"boolean","Claim.insurance.id":"System.String","Claim.insurance.identifier":"Identifier","Claim.insurance.modifierExtension":"Extension","Claim.insurance.preAuthRef":"string","Claim.insurance.sequence":"positiveInt","Claim.insurer":"Reference","Claim.item":"BackboneElement","Claim.item.bodySite":"CodeableConcept","Claim.item.careTeamSequence":"positiveInt","Claim.item.category":"CodeableConcept","Claim.item.detail":"BackboneElement","Claim.item.detail.category":"CodeableConcept","Claim.item.detail.extension":"Extension","Claim.item.detail.factor":"decimal","Claim.item.detail.id":"System.String","Claim.item.detail.modifier":"CodeableConcept","Claim.item.detail.modifierExtension":"Extension","Claim.item.detail.net":"Money","Claim.item.detail.productOrService":"CodeableConcept","Claim.item.detail.programCode":"CodeableConcept","Claim.item.detail.quantity":"Quantity","Claim.item.detail.revenue":"CodeableConcept","Claim.item.detail.sequence":"positiveInt","Claim.item.detail.subDetail":"BackboneElement","Claim.item.detail.subDetail.category":"CodeableConcept","Claim.item.detail.subDetail.extension":"Extension","Claim.item.detail.subDetail.factor":"decimal","Claim.item.detail.subDetail.id":"System.String","Claim.item.detail.subDetail.modifier":"CodeableConcept","Claim.item.detail.subDetail.modifierExtension":"Extension","Claim.item.detail.subDetail.net":"Money","Claim.item.detail.subDetail.productOrService":"CodeableConcept","Claim.item.detail.subDetail.programCode":"CodeableConcept","Claim.item.detail.subDetail.quantity":"Quantity","Claim.item.detail.subDetail.revenue":"CodeableConcept","Claim.item.detail.subDetail.sequence":"positiveInt","Claim.item.detail.subDetail.udi":"Reference","Claim.item.detail.subDetail.unitPrice":"Money","Claim.item.detail.udi":"Reference","Claim.item.detail.unitPrice":"Money","Claim.item.diagnosisSequence":"positiveInt","Claim.item.encounter":"Reference","Claim.item.extension":"Extension","Claim.item.factor":"decimal","Claim.item.id":"System.String","Claim.item.informationSequence":"positiveInt","Claim.item.locationAddress":"Address","Claim.item.locationCodeableConcept":"CodeableConcept","Claim.item.locationReference":"Reference","Claim.item.modifier":"CodeableConcept","Claim.item.modifierExtension":"Extension","Claim.item.net":"Money","Claim.item.procedureSequence":"positiveInt","Claim.item.productOrService":"CodeableConcept","Claim.item.programCode":"CodeableConcept","Claim.item.quantity":"Quantity","Claim.item.revenue":"CodeableConcept","Claim.item.sequence":"positiveInt","Claim.item.servicedDate":"date","Claim.item.servicedPeriod":"Period","Claim.item.subSite":"CodeableConcept","Claim.item.udi":"Reference","Claim.item.unitPrice":"Money","Claim.language":"code","Claim.meta":"Meta","Claim.modifierExtension":"Extension","Claim.originalPrescription":"Reference","Claim.patient":"Reference","Claim.payee":"BackboneElement","Claim.payee.extension":"Extension","Claim.payee.id":"System.String","Claim.payee.modifierExtension":"Extension","Claim.payee.party":"Reference","Claim.payee.type":"CodeableConcept","Claim.prescription":"Reference","Claim.priority":"CodeableConcept","Claim.procedure":"BackboneElement","Claim.procedure.date":"dateTime","Claim.procedure.extension":"Extension","Claim.procedure.id":"System.String","Claim.procedure.modifierExtension":"Extension","Claim.procedure.procedureCodeableConcept":"CodeableConcept","Claim.procedure.procedureReference":"Reference","Claim.procedure.sequence":"positiveInt","Claim.procedure.type":"CodeableConcept","Claim.procedure.udi":"Reference","Claim.provider":"Reference","Claim.referral":"Reference","Claim.related":"BackboneElement","Claim.related.claim":"Reference","Claim.related.extension":"Extension","Claim.related.id":"System.String","Claim.related.modifierExtension":"Extension","Claim.related.reference":"Identifier","Claim.related.relationship":"CodeableConcept","Claim.status":"code","Claim.subType":"CodeableConcept","Claim.supportingInfo":"BackboneElement","Claim.supportingInfo.category":"CodeableConcept","Claim.supportingInfo.code":"CodeableConcept","Claim.supportingInfo.extension":"Extension","Claim.supportingInfo.id":"System.String","Claim.supportingInfo.modifierExtension":"Extension","Claim.supportingInfo.reason":"CodeableConcept","Claim.supportingInfo.sequence":"positiveInt","Claim.supportingInfo.timingDate":"date","Claim.supportingInfo.timingPeriod":"Period","Claim.supportingInfo.valueAttachment":"Attachment","Claim.supportingInfo.valueBoolean":"boolean","Claim.supportingInfo.valueQuantity":"Quantity","Claim.supportingInfo.valueReference":"Reference","Claim.supportingInfo.valueString":"string","Claim.text":"Narrative","Claim.total":"Money","Claim.type":"CodeableConcept","Claim.use":"code","ClaimResponse.addItem":"BackboneElement","ClaimResponse.addItem.bodySite":"CodeableConcept","ClaimResponse.addItem.detail":"BackboneElement","ClaimResponse.addItem.detail.extension":"Extension","ClaimResponse.addItem.detail.factor":"decimal","ClaimResponse.addItem.detail.id":"System.String","ClaimResponse.addItem.detail.modifier":"CodeableConcept","ClaimResponse.addItem.detail.modifierExtension":"Extension","ClaimResponse.addItem.detail.net":"Money","ClaimResponse.addItem.detail.noteNumber":"positiveInt","ClaimResponse.addItem.detail.productOrService":"CodeableConcept","ClaimResponse.addItem.detail.quantity":"Quantity","ClaimResponse.addItem.detail.subDetail":"BackboneElement","ClaimResponse.addItem.detail.subDetail.extension":"Extension","ClaimResponse.addItem.detail.subDetail.factor":"decimal","ClaimResponse.addItem.detail.subDetail.id":"System.String","ClaimResponse.addItem.detail.subDetail.modifier":"CodeableConcept","ClaimResponse.addItem.detail.subDetail.modifierExtension":"Extension","ClaimResponse.addItem.detail.subDetail.net":"Money","ClaimResponse.addItem.detail.subDetail.noteNumber":"positiveInt","ClaimResponse.addItem.detail.subDetail.productOrService":"CodeableConcept","ClaimResponse.addItem.detail.subDetail.quantity":"Quantity","ClaimResponse.addItem.detail.subDetail.unitPrice":"Money","ClaimResponse.addItem.detail.unitPrice":"Money","ClaimResponse.addItem.detailSequence":"positiveInt","ClaimResponse.addItem.extension":"Extension","ClaimResponse.addItem.factor":"decimal","ClaimResponse.addItem.id":"System.String","ClaimResponse.addItem.itemSequence":"positiveInt","ClaimResponse.addItem.locationAddress":"Address","ClaimResponse.addItem.locationCodeableConcept":"CodeableConcept","ClaimResponse.addItem.locationReference":"Reference","ClaimResponse.addItem.modifier":"CodeableConcept","ClaimResponse.addItem.modifierExtension":"Extension","ClaimResponse.addItem.net":"Money","ClaimResponse.addItem.noteNumber":"positiveInt","ClaimResponse.addItem.productOrService":"CodeableConcept","ClaimResponse.addItem.programCode":"CodeableConcept","ClaimResponse.addItem.provider":"Reference","ClaimResponse.addItem.quantity":"Quantity","ClaimResponse.addItem.servicedDate":"date","ClaimResponse.addItem.servicedPeriod":"Period","ClaimResponse.addItem.subSite":"CodeableConcept","ClaimResponse.addItem.subdetailSequence":"positiveInt","ClaimResponse.addItem.unitPrice":"Money","ClaimResponse.communicationRequest":"Reference","ClaimResponse.contained":"Resource","ClaimResponse.created":"dateTime","ClaimResponse.disposition":"string","ClaimResponse.error":"BackboneElement","ClaimResponse.error.code":"CodeableConcept","ClaimResponse.error.detailSequence":"positiveInt","ClaimResponse.error.extension":"Extension","ClaimResponse.error.id":"System.String","ClaimResponse.error.itemSequence":"positiveInt","ClaimResponse.error.modifierExtension":"Extension","ClaimResponse.error.subDetailSequence":"positiveInt","ClaimResponse.extension":"Extension","ClaimResponse.form":"Attachment","ClaimResponse.formCode":"CodeableConcept","ClaimResponse.fundsReserve":"CodeableConcept","ClaimResponse.id":"System.String","ClaimResponse.identifier":"Identifier","ClaimResponse.implicitRules":"uri","ClaimResponse.insurance":"BackboneElement","ClaimResponse.insurance.businessArrangement":"string","ClaimResponse.insurance.claimResponse":"Reference","ClaimResponse.insurance.coverage":"Reference","ClaimResponse.insurance.extension":"Extension","ClaimResponse.insurance.focal":"boolean","ClaimResponse.insurance.id":"System.String","ClaimResponse.insurance.modifierExtension":"Extension","ClaimResponse.insurance.sequence":"positiveInt","ClaimResponse.insurer":"Reference","ClaimResponse.item":"BackboneElement","ClaimResponse.item.adjudication":"BackboneElement","ClaimResponse.item.adjudication.amount":"Money","ClaimResponse.item.adjudication.category":"CodeableConcept","ClaimResponse.item.adjudication.extension":"Extension","ClaimResponse.item.adjudication.id":"System.String","ClaimResponse.item.adjudication.modifierExtension":"Extension","ClaimResponse.item.adjudication.reason":"CodeableConcept","ClaimResponse.item.adjudication.value":"decimal","ClaimResponse.item.detail":"BackboneElement","ClaimResponse.item.detail.detailSequence":"positiveInt","ClaimResponse.item.detail.extension":"Extension","ClaimResponse.item.detail.id":"System.String","ClaimResponse.item.detail.modifierExtension":"Extension","ClaimResponse.item.detail.noteNumber":"positiveInt","ClaimResponse.item.detail.subDetail":"BackboneElement","ClaimResponse.item.detail.subDetail.extension":"Extension","ClaimResponse.item.detail.subDetail.id":"System.String","ClaimResponse.item.detail.subDetail.modifierExtension":"Extension","ClaimResponse.item.detail.subDetail.noteNumber":"positiveInt","ClaimResponse.item.detail.subDetail.subDetailSequence":"positiveInt","ClaimResponse.item.extension":"Extension","ClaimResponse.item.id":"System.String","ClaimResponse.item.itemSequence":"positiveInt","ClaimResponse.item.modifierExtension":"Extension","ClaimResponse.item.noteNumber":"positiveInt","ClaimResponse.language":"code","ClaimResponse.meta":"Meta","ClaimResponse.modifierExtension":"Extension","ClaimResponse.outcome":"code","ClaimResponse.patient":"Reference","ClaimResponse.payeeType":"CodeableConcept","ClaimResponse.payment":"BackboneElement","ClaimResponse.payment.adjustment":"Money","ClaimResponse.payment.adjustmentReason":"CodeableConcept","ClaimResponse.payment.amount":"Money","ClaimResponse.payment.date":"date","ClaimResponse.payment.extension":"Extension","ClaimResponse.payment.id":"System.String","ClaimResponse.payment.identifier":"Identifier","ClaimResponse.payment.modifierExtension":"Extension","ClaimResponse.payment.type":"CodeableConcept","ClaimResponse.preAuthPeriod":"Period","ClaimResponse.preAuthRef":"string","ClaimResponse.processNote":"BackboneElement","ClaimResponse.processNote.extension":"Extension","ClaimResponse.processNote.id":"System.String","ClaimResponse.processNote.language":"CodeableConcept","ClaimResponse.processNote.modifierExtension":"Extension","ClaimResponse.processNote.number":"positiveInt","ClaimResponse.processNote.text":"string","ClaimResponse.processNote.type":"code","ClaimResponse.request":"Reference","ClaimResponse.requestor":"Reference","ClaimResponse.status":"code","ClaimResponse.subType":"CodeableConcept","ClaimResponse.text":"Narrative","ClaimResponse.total":"BackboneElement","ClaimResponse.total.amount":"Money","ClaimResponse.total.category":"CodeableConcept","ClaimResponse.total.extension":"Extension","ClaimResponse.total.id":"System.String","ClaimResponse.total.modifierExtension":"Extension","ClaimResponse.type":"CodeableConcept","ClaimResponse.use":"code","ClinicalImpression.assessor":"Reference","ClinicalImpression.code":"CodeableConcept","ClinicalImpression.contained":"Resource","ClinicalImpression.date":"dateTime","ClinicalImpression.description":"string","ClinicalImpression.effectiveDateTime":"dateTime","ClinicalImpression.effectivePeriod":"Period","ClinicalImpression.encounter":"Reference","ClinicalImpression.extension":"Extension","ClinicalImpression.finding":"BackboneElement","ClinicalImpression.finding.basis":"string","ClinicalImpression.finding.extension":"Extension","ClinicalImpression.finding.id":"System.String","ClinicalImpression.finding.itemCodeableConcept":"CodeableConcept","ClinicalImpression.finding.itemReference":"Reference","ClinicalImpression.finding.modifierExtension":"Extension","ClinicalImpression.id":"System.String","ClinicalImpression.identifier":"Identifier","ClinicalImpression.implicitRules":"uri","ClinicalImpression.investigation":"BackboneElement","ClinicalImpression.investigation.code":"CodeableConcept","ClinicalImpression.investigation.extension":"Extension","ClinicalImpression.investigation.id":"System.String","ClinicalImpression.investigation.item":"Reference","ClinicalImpression.investigation.modifierExtension":"Extension","ClinicalImpression.language":"code","ClinicalImpression.meta":"Meta","ClinicalImpression.modifierExtension":"Extension","ClinicalImpression.note":"Annotation","ClinicalImpression.previous":"Reference","ClinicalImpression.problem":"Reference","ClinicalImpression.prognosisCodeableConcept":"CodeableConcept","ClinicalImpression.prognosisReference":"Reference","ClinicalImpression.protocol":"uri","ClinicalImpression.status":"code","ClinicalImpression.statusReason":"CodeableConcept","ClinicalImpression.subject":"Reference","ClinicalImpression.summary":"string","ClinicalImpression.supportingInfo":"Reference","ClinicalImpression.text":"Narrative","CodeSystem.caseSensitive":"boolean","CodeSystem.compositional":"boolean","CodeSystem.concept":"BackboneElement","CodeSystem.concept.code":"code","CodeSystem.concept.definition":"string","CodeSystem.concept.designation":"BackboneElement","CodeSystem.concept.designation.extension":"Extension","CodeSystem.concept.designation.id":"System.String","CodeSystem.concept.designation.language":"code","CodeSystem.concept.designation.modifierExtension":"Extension","CodeSystem.concept.designation.use":"Coding","CodeSystem.concept.designation.value":"string","CodeSystem.concept.display":"string","CodeSystem.concept.extension":"Extension","CodeSystem.concept.id":"System.String","CodeSystem.concept.modifierExtension":"Extension","CodeSystem.concept.property":"BackboneElement","CodeSystem.concept.property.code":"code","CodeSystem.concept.property.extension":"Extension","CodeSystem.concept.property.id":"System.String","CodeSystem.concept.property.modifierExtension":"Extension","CodeSystem.concept.property.valueBoolean":"boolean","CodeSystem.concept.property.valueCode":"code","CodeSystem.concept.property.valueCoding":"Coding","CodeSystem.concept.property.valueDateTime":"dateTime","CodeSystem.concept.property.valueDecimal":"decimal","CodeSystem.concept.property.valueInteger":"integer","CodeSystem.concept.property.valueString":"string","CodeSystem.contact":"ContactDetail","CodeSystem.contained":"Resource","CodeSystem.content":"code","CodeSystem.copyright":"markdown","CodeSystem.count":"unsignedInt","CodeSystem.date":"dateTime","CodeSystem.description":"markdown","CodeSystem.experimental":"boolean","CodeSystem.extension":"Extension","CodeSystem.filter":"BackboneElement","CodeSystem.filter.code":"code","CodeSystem.filter.description":"string","CodeSystem.filter.extension":"Extension","CodeSystem.filter.id":"System.String","CodeSystem.filter.modifierExtension":"Extension","CodeSystem.filter.operator":"code","CodeSystem.filter.value":"string","CodeSystem.hierarchyMeaning":"code","CodeSystem.id":"System.String","CodeSystem.identifier":"Identifier","CodeSystem.implicitRules":"uri","CodeSystem.jurisdiction":"CodeableConcept","CodeSystem.language":"code","CodeSystem.meta":"Meta","CodeSystem.modifierExtension":"Extension","CodeSystem.name":"string","CodeSystem.property":"BackboneElement","CodeSystem.property.code":"code","CodeSystem.property.description":"string","CodeSystem.property.extension":"Extension","CodeSystem.property.id":"System.String","CodeSystem.property.modifierExtension":"Extension","CodeSystem.property.type":"code","CodeSystem.property.uri":"uri","CodeSystem.publisher":"string","CodeSystem.purpose":"markdown","CodeSystem.status":"code","CodeSystem.supplements":"canonical","CodeSystem.text":"Narrative","CodeSystem.title":"string","CodeSystem.url":"uri","CodeSystem.useContext":"UsageContext","CodeSystem.valueSet":"canonical","CodeSystem.version":"string","CodeSystem.versionNeeded":"boolean","CodeableConcept.coding":"Coding","CodeableConcept.extension":"Extension","CodeableConcept.id":"System.String","CodeableConcept.text":"string","Coding.code":"code","Coding.display":"string","Coding.extension":"Extension","Coding.id":"System.String","Coding.system":"uri","Coding.userSelected":"boolean","Coding.version":"string","Communication.about":"Reference","Communication.basedOn":"Reference","Communication.category":"CodeableConcept","Communication.contained":"Resource","Communication.encounter":"Reference","Communication.extension":"Extension","Communication.id":"System.String","Communication.identifier":"Identifier","Communication.implicitRules":"uri","Communication.inResponseTo":"Reference","Communication.instantiatesCanonical":"canonical","Communication.instantiatesUri":"uri","Communication.language":"code","Communication.medium":"CodeableConcept","Communication.meta":"Meta","Communication.modifierExtension":"Extension","Communication.note":"Annotation","Communication.partOf":"Reference","Communication.payload":"BackboneElement","Communication.payload.contentAttachment":"Attachment","Communication.payload.contentReference":"Reference","Communication.payload.contentString":"string","Communication.payload.extension":"Extension","Communication.payload.id":"System.String","Communication.payload.modifierExtension":"Extension","Communication.priority":"code","Communication.reasonCode":"CodeableConcept","Communication.reasonReference":"Reference","Communication.received":"dateTime","Communication.recipient":"Reference","Communication.sender":"Reference","Communication.sent":"dateTime","Communication.status":"code","Communication.statusReason":"CodeableConcept","Communication.subject":"Reference","Communication.text":"Narrative","Communication.topic":"CodeableConcept","CommunicationRequest.about":"Reference","CommunicationRequest.authoredOn":"dateTime","CommunicationRequest.basedOn":"Reference","CommunicationRequest.category":"CodeableConcept","CommunicationRequest.contained":"Resource","CommunicationRequest.doNotPerform":"boolean","CommunicationRequest.encounter":"Reference","CommunicationRequest.extension":"Extension","CommunicationRequest.groupIdentifier":"Identifier","CommunicationRequest.id":"System.String","CommunicationRequest.identifier":"Identifier","CommunicationRequest.implicitRules":"uri","CommunicationRequest.language":"code","CommunicationRequest.medium":"CodeableConcept","CommunicationRequest.meta":"Meta","CommunicationRequest.modifierExtension":"Extension","CommunicationRequest.note":"Annotation","CommunicationRequest.occurrenceDateTime":"dateTime","CommunicationRequest.occurrencePeriod":"Period","CommunicationRequest.payload":"BackboneElement","CommunicationRequest.payload.contentAttachment":"Attachment","CommunicationRequest.payload.contentReference":"Reference","CommunicationRequest.payload.contentString":"string","CommunicationRequest.payload.extension":"Extension","CommunicationRequest.payload.id":"System.String","CommunicationRequest.payload.modifierExtension":"Extension","CommunicationRequest.priority":"code","CommunicationRequest.reasonCode":"CodeableConcept","CommunicationRequest.reasonReference":"Reference","CommunicationRequest.recipient":"Reference","CommunicationRequest.replaces":"Reference","CommunicationRequest.requester":"Reference","CommunicationRequest.sender":"Reference","CommunicationRequest.status":"code","CommunicationRequest.statusReason":"CodeableConcept","CommunicationRequest.subject":"Reference","CommunicationRequest.text":"Narrative","CompartmentDefinition.code":"code","CompartmentDefinition.contact":"ContactDetail","CompartmentDefinition.contained":"Resource","CompartmentDefinition.date":"dateTime","CompartmentDefinition.description":"markdown","CompartmentDefinition.experimental":"boolean","CompartmentDefinition.extension":"Extension","CompartmentDefinition.id":"System.String","CompartmentDefinition.implicitRules":"uri","CompartmentDefinition.language":"code","CompartmentDefinition.meta":"Meta","CompartmentDefinition.modifierExtension":"Extension","CompartmentDefinition.name":"string","CompartmentDefinition.publisher":"string","CompartmentDefinition.purpose":"markdown","CompartmentDefinition.resource":"BackboneElement","CompartmentDefinition.resource.code":"code","CompartmentDefinition.resource.documentation":"string","CompartmentDefinition.resource.extension":"Extension","CompartmentDefinition.resource.id":"System.String","CompartmentDefinition.resource.modifierExtension":"Extension","CompartmentDefinition.resource.param":"string","CompartmentDefinition.search":"boolean","CompartmentDefinition.status":"code","CompartmentDefinition.text":"Narrative","CompartmentDefinition.url":"uri","CompartmentDefinition.useContext":"UsageContext","CompartmentDefinition.version":"string","Composition.attester":"BackboneElement","Composition.attester.extension":"Extension","Composition.attester.id":"System.String","Composition.attester.mode":"code","Composition.attester.modifierExtension":"Extension","Composition.attester.party":"Reference","Composition.attester.time":"dateTime","Composition.author":"Reference","Composition.category":"CodeableConcept","Composition.confidentiality":"code","Composition.contained":"Resource","Composition.custodian":"Reference","Composition.date":"dateTime","Composition.encounter":"Reference","Composition.event":"BackboneElement","Composition.event.code":"CodeableConcept","Composition.event.detail":"Reference","Composition.event.extension":"Extension","Composition.event.id":"System.String","Composition.event.modifierExtension":"Extension","Composition.event.period":"Period","Composition.extension":"Extension","Composition.id":"System.String","Composition.identifier":"Identifier","Composition.implicitRules":"uri","Composition.language":"code","Composition.meta":"Meta","Composition.modifierExtension":"Extension","Composition.relatesTo":"BackboneElement","Composition.relatesTo.code":"code","Composition.relatesTo.extension":"Extension","Composition.relatesTo.id":"System.String","Composition.relatesTo.modifierExtension":"Extension","Composition.relatesTo.targetIdentifier":"Identifier","Composition.relatesTo.targetReference":"Reference","Composition.section":"BackboneElement","Composition.section.author":"Reference","Composition.section.code":"CodeableConcept","Composition.section.emptyReason":"CodeableConcept","Composition.section.entry":"Reference","Composition.section.extension":"Extension","Composition.section.focus":"Reference","Composition.section.id":"System.String","Composition.section.mode":"code","Composition.section.modifierExtension":"Extension","Composition.section.orderedBy":"CodeableConcept","Composition.section.text":"Narrative","Composition.section.title":"string","Composition.status":"code","Composition.subject":"Reference","Composition.text":"Narrative","Composition.title":"string","Composition.type":"CodeableConcept","ConceptMap.contact":"ContactDetail","ConceptMap.contained":"Resource","ConceptMap.copyright":"markdown","ConceptMap.date":"dateTime","ConceptMap.description":"markdown","ConceptMap.experimental":"boolean","ConceptMap.extension":"Extension","ConceptMap.group":"BackboneElement","ConceptMap.group.element":"BackboneElement","ConceptMap.group.element.code":"code","ConceptMap.group.element.display":"string","ConceptMap.group.element.extension":"Extension","ConceptMap.group.element.id":"System.String","ConceptMap.group.element.modifierExtension":"Extension","ConceptMap.group.element.target":"BackboneElement","ConceptMap.group.element.target.code":"code","ConceptMap.group.element.target.comment":"string","ConceptMap.group.element.target.dependsOn":"BackboneElement","ConceptMap.group.element.target.dependsOn.display":"string","ConceptMap.group.element.target.dependsOn.extension":"Extension","ConceptMap.group.element.target.dependsOn.id":"System.String","ConceptMap.group.element.target.dependsOn.modifierExtension":"Extension","ConceptMap.group.element.target.dependsOn.property":"uri","ConceptMap.group.element.target.dependsOn.system":"canonical","ConceptMap.group.element.target.dependsOn.value":"string","ConceptMap.group.element.target.display":"string","ConceptMap.group.element.target.equivalence":"code","ConceptMap.group.element.target.extension":"Extension","ConceptMap.group.element.target.id":"System.String","ConceptMap.group.element.target.modifierExtension":"Extension","ConceptMap.group.extension":"Extension","ConceptMap.group.id":"System.String","ConceptMap.group.modifierExtension":"Extension","ConceptMap.group.source":"uri","ConceptMap.group.sourceVersion":"string","ConceptMap.group.target":"uri","ConceptMap.group.targetVersion":"string","ConceptMap.group.unmapped":"BackboneElement","ConceptMap.group.unmapped.code":"code","ConceptMap.group.unmapped.display":"string","ConceptMap.group.unmapped.extension":"Extension","ConceptMap.group.unmapped.id":"System.String","ConceptMap.group.unmapped.mode":"code","ConceptMap.group.unmapped.modifierExtension":"Extension","ConceptMap.group.unmapped.url":"canonical","ConceptMap.id":"System.String","ConceptMap.identifier":"Identifier","ConceptMap.implicitRules":"uri","ConceptMap.jurisdiction":"CodeableConcept","ConceptMap.language":"code","ConceptMap.meta":"Meta","ConceptMap.modifierExtension":"Extension","ConceptMap.name":"string","ConceptMap.publisher":"string","ConceptMap.purpose":"markdown","ConceptMap.sourceCanonical":"canonical","ConceptMap.sourceUri":"uri","ConceptMap.status":"code","ConceptMap.targetCanonical":"canonical","ConceptMap.targetUri":"uri","ConceptMap.text":"Narrative","ConceptMap.title":"string","ConceptMap.url":"uri","ConceptMap.useContext":"UsageContext","ConceptMap.version":"string","Condition.abatementAge":"Age","Condition.abatementDateTime":"dateTime","Condition.abatementPeriod":"Period","Condition.abatementRange":"Range","Condition.abatementString":"string","Condition.asserter":"Reference","Condition.bodySite":"CodeableConcept","Condition.category":"CodeableConcept","Condition.clinicalStatus":"CodeableConcept","Condition.code":"CodeableConcept","Condition.contained":"Resource","Condition.encounter":"Reference","Condition.evidence":"BackboneElement","Condition.evidence.code":"CodeableConcept","Condition.evidence.detail":"Reference","Condition.evidence.extension":"Extension","Condition.evidence.id":"System.String","Condition.evidence.modifierExtension":"Extension","Condition.extension":"Extension","Condition.id":"System.String","Condition.identifier":"Identifier","Condition.implicitRules":"uri","Condition.language":"code","Condition.meta":"Meta","Condition.modifierExtension":"Extension","Condition.note":"Annotation","Condition.onsetAge":"Age","Condition.onsetDateTime":"dateTime","Condition.onsetPeriod":"Period","Condition.onsetRange":"Range","Condition.onsetString":"string","Condition.recordedDate":"dateTime","Condition.recorder":"Reference","Condition.severity":"CodeableConcept","Condition.stage":"BackboneElement","Condition.stage.assessment":"Reference","Condition.stage.extension":"Extension","Condition.stage.id":"System.String","Condition.stage.modifierExtension":"Extension","Condition.stage.summary":"CodeableConcept","Condition.stage.type":"CodeableConcept","Condition.subject":"Reference","Condition.text":"Narrative","Condition.verificationStatus":"CodeableConcept","Consent.category":"CodeableConcept","Consent.contained":"Resource","Consent.dateTime":"dateTime","Consent.extension":"Extension","Consent.id":"System.String","Consent.identifier":"Identifier","Consent.implicitRules":"uri","Consent.language":"code","Consent.meta":"Meta","Consent.modifierExtension":"Extension","Consent.organization":"Reference","Consent.patient":"Reference","Consent.performer":"Reference","Consent.policy":"BackboneElement","Consent.policy.authority":"uri","Consent.policy.extension":"Extension","Consent.policy.id":"System.String","Consent.policy.modifierExtension":"Extension","Consent.policy.uri":"uri","Consent.policyRule":"CodeableConcept","Consent.provision":"BackboneElement","Consent.provision.action":"CodeableConcept","Consent.provision.actor":"BackboneElement","Consent.provision.actor.extension":"Extension","Consent.provision.actor.id":"System.String","Consent.provision.actor.modifierExtension":"Extension","Consent.provision.actor.reference":"Reference","Consent.provision.actor.role":"CodeableConcept","Consent.provision.class":"Coding","Consent.provision.code":"CodeableConcept","Consent.provision.data":"BackboneElement","Consent.provision.data.extension":"Extension","Consent.provision.data.id":"System.String","Consent.provision.data.meaning":"code","Consent.provision.data.modifierExtension":"Extension","Consent.provision.data.reference":"Reference","Consent.provision.dataPeriod":"Period","Consent.provision.extension":"Extension","Consent.provision.id":"System.String","Consent.provision.modifierExtension":"Extension","Consent.provision.period":"Period","Consent.provision.purpose":"Coding","Consent.provision.securityLabel":"Coding","Consent.provision.type":"code","Consent.scope":"CodeableConcept","Consent.sourceAttachment":"Attachment","Consent.sourceReference":"Reference","Consent.status":"code","Consent.text":"Narrative","Consent.verification":"BackboneElement","Consent.verification.extension":"Extension","Consent.verification.id":"System.String","Consent.verification.modifierExtension":"Extension","Consent.verification.verificationDate":"dateTime","Consent.verification.verified":"boolean","Consent.verification.verifiedWith":"Reference","ContactDetail.extension":"Extension","ContactDetail.id":"System.String","ContactDetail.name":"string","ContactDetail.telecom":"ContactPoint","ContactPoint.extension":"Extension","ContactPoint.id":"System.String","ContactPoint.period":"Period","ContactPoint.rank":"positiveInt","ContactPoint.system":"code","ContactPoint.use":"code","ContactPoint.value":"string","Contract.alias":"string","Contract.applies":"Period","Contract.author":"Reference","Contract.authority":"Reference","Contract.contained":"Resource","Contract.contentDefinition":"BackboneElement","Contract.contentDefinition.copyright":"markdown","Contract.contentDefinition.extension":"Extension","Contract.contentDefinition.id":"System.String","Contract.contentDefinition.modifierExtension":"Extension","Contract.contentDefinition.publicationDate":"dateTime","Contract.contentDefinition.publicationStatus":"code","Contract.contentDefinition.publisher":"Reference","Contract.contentDefinition.subType":"CodeableConcept","Contract.contentDefinition.type":"CodeableConcept","Contract.contentDerivative":"CodeableConcept","Contract.domain":"Reference","Contract.expirationType":"CodeableConcept","Contract.extension":"Extension","Contract.friendly":"BackboneElement","Contract.friendly.contentAttachment":"Attachment","Contract.friendly.contentReference":"Reference","Contract.friendly.extension":"Extension","Contract.friendly.id":"System.String","Contract.friendly.modifierExtension":"Extension","Contract.id":"System.String","Contract.identifier":"Identifier","Contract.implicitRules":"uri","Contract.instantiatesCanonical":"Reference","Contract.instantiatesUri":"uri","Contract.issued":"dateTime","Contract.language":"code","Contract.legal":"BackboneElement","Contract.legal.contentAttachment":"Attachment","Contract.legal.contentReference":"Reference","Contract.legal.extension":"Extension","Contract.legal.id":"System.String","Contract.legal.modifierExtension":"Extension","Contract.legalState":"CodeableConcept","Contract.legallyBindingAttachment":"Attachment","Contract.legallyBindingReference":"Reference","Contract.meta":"Meta","Contract.modifierExtension":"Extension","Contract.name":"string","Contract.relevantHistory":"Reference","Contract.rule":"BackboneElement","Contract.rule.contentAttachment":"Attachment","Contract.rule.contentReference":"Reference","Contract.rule.extension":"Extension","Contract.rule.id":"System.String","Contract.rule.modifierExtension":"Extension","Contract.scope":"CodeableConcept","Contract.signer":"BackboneElement","Contract.signer.extension":"Extension","Contract.signer.id":"System.String","Contract.signer.modifierExtension":"Extension","Contract.signer.party":"Reference","Contract.signer.signature":"Signature","Contract.signer.type":"Coding","Contract.site":"Reference","Contract.status":"code","Contract.subType":"CodeableConcept","Contract.subject":"Reference","Contract.subtitle":"string","Contract.supportingInfo":"Reference","Contract.term":"BackboneElement","Contract.term.action":"BackboneElement","Contract.term.action.context":"Reference","Contract.term.action.contextLinkId":"string","Contract.term.action.doNotPerform":"boolean","Contract.term.action.extension":"Extension","Contract.term.action.id":"System.String","Contract.term.action.intent":"CodeableConcept","Contract.term.action.linkId":"string","Contract.term.action.modifierExtension":"Extension","Contract.term.action.note":"Annotation","Contract.term.action.occurrenceDateTime":"dateTime","Contract.term.action.occurrencePeriod":"Period","Contract.term.action.occurrenceTiming":"Timing","Contract.term.action.performer":"Reference","Contract.term.action.performerLinkId":"string","Contract.term.action.performerRole":"CodeableConcept","Contract.term.action.performerType":"CodeableConcept","Contract.term.action.reason":"string","Contract.term.action.reasonCode":"CodeableConcept","Contract.term.action.reasonLinkId":"string","Contract.term.action.reasonReference":"Reference","Contract.term.action.requester":"Reference","Contract.term.action.requesterLinkId":"string","Contract.term.action.securityLabelNumber":"unsignedInt","Contract.term.action.status":"CodeableConcept","Contract.term.action.subject":"BackboneElement","Contract.term.action.subject.extension":"Extension","Contract.term.action.subject.id":"System.String","Contract.term.action.subject.modifierExtension":"Extension","Contract.term.action.subject.reference":"Reference","Contract.term.action.subject.role":"CodeableConcept","Contract.term.action.type":"CodeableConcept","Contract.term.applies":"Period","Contract.term.asset":"BackboneElement","Contract.term.asset.condition":"string","Contract.term.asset.context":"BackboneElement","Contract.term.asset.context.code":"CodeableConcept","Contract.term.asset.context.extension":"Extension","Contract.term.asset.context.id":"System.String","Contract.term.asset.context.modifierExtension":"Extension","Contract.term.asset.context.reference":"Reference","Contract.term.asset.context.text":"string","Contract.term.asset.extension":"Extension","Contract.term.asset.id":"System.String","Contract.term.asset.linkId":"string","Contract.term.asset.modifierExtension":"Extension","Contract.term.asset.period":"Period","Contract.term.asset.periodType":"CodeableConcept","Contract.term.asset.relationship":"Coding","Contract.term.asset.scope":"CodeableConcept","Contract.term.asset.securityLabelNumber":"unsignedInt","Contract.term.asset.subtype":"CodeableConcept","Contract.term.asset.text":"string","Contract.term.asset.type":"CodeableConcept","Contract.term.asset.typeReference":"Reference","Contract.term.asset.usePeriod":"Period","Contract.term.asset.valuedItem":"BackboneElement","Contract.term.asset.valuedItem.effectiveTime":"dateTime","Contract.term.asset.valuedItem.entityCodeableConcept":"CodeableConcept","Contract.term.asset.valuedItem.entityReference":"Reference","Contract.term.asset.valuedItem.extension":"Extension","Contract.term.asset.valuedItem.factor":"decimal","Contract.term.asset.valuedItem.id":"System.String","Contract.term.asset.valuedItem.identifier":"Identifier","Contract.term.asset.valuedItem.linkId":"string","Contract.term.asset.valuedItem.modifierExtension":"Extension","Contract.term.asset.valuedItem.net":"Money","Contract.term.asset.valuedItem.payment":"string","Contract.term.asset.valuedItem.paymentDate":"dateTime","Contract.term.asset.valuedItem.points":"decimal","Contract.term.asset.valuedItem.quantity":"Quantity","Contract.term.asset.valuedItem.recipient":"Reference","Contract.term.asset.valuedItem.responsible":"Reference","Contract.term.asset.valuedItem.securityLabelNumber":"unsignedInt","Contract.term.asset.valuedItem.unitPrice":"Money","Contract.term.extension":"Extension","Contract.term.id":"System.String","Contract.term.identifier":"Identifier","Contract.term.issued":"dateTime","Contract.term.modifierExtension":"Extension","Contract.term.offer":"BackboneElement","Contract.term.offer.answer":"BackboneElement","Contract.term.offer.answer.extension":"Extension","Contract.term.offer.answer.id":"System.String","Contract.term.offer.answer.modifierExtension":"Extension","Contract.term.offer.answer.valueAttachment":"Attachment","Contract.term.offer.answer.valueBoolean":"boolean","Contract.term.offer.answer.valueCoding":"Coding","Contract.term.offer.answer.valueDate":"date","Contract.term.offer.answer.valueDateTime":"dateTime","Contract.term.offer.answer.valueDecimal":"decimal","Contract.term.offer.answer.valueInteger":"integer","Contract.term.offer.answer.valueQuantity":"Quantity","Contract.term.offer.answer.valueReference":"Reference","Contract.term.offer.answer.valueString":"string","Contract.term.offer.answer.valueTime":"time","Contract.term.offer.answer.valueUri":"uri","Contract.term.offer.decision":"CodeableConcept","Contract.term.offer.decisionMode":"CodeableConcept","Contract.term.offer.extension":"Extension","Contract.term.offer.id":"System.String","Contract.term.offer.identifier":"Identifier","Contract.term.offer.linkId":"string","Contract.term.offer.modifierExtension":"Extension","Contract.term.offer.party":"BackboneElement","Contract.term.offer.party.extension":"Extension","Contract.term.offer.party.id":"System.String","Contract.term.offer.party.modifierExtension":"Extension","Contract.term.offer.party.reference":"Reference","Contract.term.offer.party.role":"CodeableConcept","Contract.term.offer.securityLabelNumber":"unsignedInt","Contract.term.offer.text":"string","Contract.term.offer.topic":"Reference","Contract.term.offer.type":"CodeableConcept","Contract.term.securityLabel":"BackboneElement","Contract.term.securityLabel.category":"Coding","Contract.term.securityLabel.classification":"Coding","Contract.term.securityLabel.control":"Coding","Contract.term.securityLabel.extension":"Extension","Contract.term.securityLabel.id":"System.String","Contract.term.securityLabel.modifierExtension":"Extension","Contract.term.securityLabel.number":"unsignedInt","Contract.term.subType":"CodeableConcept","Contract.term.text":"string","Contract.term.topicCodeableConcept":"CodeableConcept","Contract.term.topicReference":"Reference","Contract.term.type":"CodeableConcept","Contract.text":"Narrative","Contract.title":"string","Contract.topicCodeableConcept":"CodeableConcept","Contract.topicReference":"Reference","Contract.type":"CodeableConcept","Contract.url":"uri","Contract.version":"string","Contributor.contact":"ContactDetail","Contributor.extension":"Extension","Contributor.id":"System.String","Contributor.name":"string","Contributor.type":"code","Count.code":"code","Count.comparator":"code","Count.extension":"Extension","Count.id":"System.String","Count.system":"uri","Count.unit":"string","Count.value":"decimal","Coverage.beneficiary":"Reference","Coverage.class":"BackboneElement","Coverage.class.extension":"Extension","Coverage.class.id":"System.String","Coverage.class.modifierExtension":"Extension","Coverage.class.name":"string","Coverage.class.type":"CodeableConcept","Coverage.class.value":"string","Coverage.contained":"Resource","Coverage.contract":"Reference","Coverage.costToBeneficiary":"BackboneElement","Coverage.costToBeneficiary.exception":"BackboneElement","Coverage.costToBeneficiary.exception.extension":"Extension","Coverage.costToBeneficiary.exception.id":"System.String","Coverage.costToBeneficiary.exception.modifierExtension":"Extension","Coverage.costToBeneficiary.exception.period":"Period","Coverage.costToBeneficiary.exception.type":"CodeableConcept","Coverage.costToBeneficiary.extension":"Extension","Coverage.costToBeneficiary.id":"System.String","Coverage.costToBeneficiary.modifierExtension":"Extension","Coverage.costToBeneficiary.type":"CodeableConcept","Coverage.costToBeneficiary.valueMoney":"Money","Coverage.costToBeneficiary.valueQuantity":"Quantity","Coverage.dependent":"string","Coverage.extension":"Extension","Coverage.id":"System.String","Coverage.identifier":"Identifier","Coverage.implicitRules":"uri","Coverage.language":"code","Coverage.meta":"Meta","Coverage.modifierExtension":"Extension","Coverage.network":"string","Coverage.order":"positiveInt","Coverage.payor":"Reference","Coverage.period":"Period","Coverage.policyHolder":"Reference","Coverage.relationship":"CodeableConcept","Coverage.status":"code","Coverage.subrogation":"boolean","Coverage.subscriber":"Reference","Coverage.subscriberId":"string","Coverage.text":"Narrative","Coverage.type":"CodeableConcept","CoverageEligibilityRequest.contained":"Resource","CoverageEligibilityRequest.created":"dateTime","CoverageEligibilityRequest.enterer":"Reference","CoverageEligibilityRequest.extension":"Extension","CoverageEligibilityRequest.facility":"Reference","CoverageEligibilityRequest.id":"System.String","CoverageEligibilityRequest.identifier":"Identifier","CoverageEligibilityRequest.implicitRules":"uri","CoverageEligibilityRequest.insurance":"BackboneElement","CoverageEligibilityRequest.insurance.businessArrangement":"string","CoverageEligibilityRequest.insurance.coverage":"Reference","CoverageEligibilityRequest.insurance.extension":"Extension","CoverageEligibilityRequest.insurance.focal":"boolean","CoverageEligibilityRequest.insurance.id":"System.String","CoverageEligibilityRequest.insurance.modifierExtension":"Extension","CoverageEligibilityRequest.insurer":"Reference","CoverageEligibilityRequest.item":"BackboneElement","CoverageEligibilityRequest.item.category":"CodeableConcept","CoverageEligibilityRequest.item.detail":"Reference","CoverageEligibilityRequest.item.diagnosis":"BackboneElement","CoverageEligibilityRequest.item.diagnosis.diagnosisCodeableConcept":"CodeableConcept","CoverageEligibilityRequest.item.diagnosis.diagnosisReference":"Reference","CoverageEligibilityRequest.item.diagnosis.extension":"Extension","CoverageEligibilityRequest.item.diagnosis.id":"System.String","CoverageEligibilityRequest.item.diagnosis.modifierExtension":"Extension","CoverageEligibilityRequest.item.extension":"Extension","CoverageEligibilityRequest.item.facility":"Reference","CoverageEligibilityRequest.item.id":"System.String","CoverageEligibilityRequest.item.modifier":"CodeableConcept","CoverageEligibilityRequest.item.modifierExtension":"Extension","CoverageEligibilityRequest.item.productOrService":"CodeableConcept","CoverageEligibilityRequest.item.provider":"Reference","CoverageEligibilityRequest.item.quantity":"Quantity","CoverageEligibilityRequest.item.supportingInfoSequence":"positiveInt","CoverageEligibilityRequest.item.unitPrice":"Money","CoverageEligibilityRequest.language":"code","CoverageEligibilityRequest.meta":"Meta","CoverageEligibilityRequest.modifierExtension":"Extension","CoverageEligibilityRequest.patient":"Reference","CoverageEligibilityRequest.priority":"CodeableConcept","CoverageEligibilityRequest.provider":"Reference","CoverageEligibilityRequest.purpose":"code","CoverageEligibilityRequest.servicedDate":"date","CoverageEligibilityRequest.servicedPeriod":"Period","CoverageEligibilityRequest.status":"code","CoverageEligibilityRequest.supportingInfo":"BackboneElement","CoverageEligibilityRequest.supportingInfo.appliesToAll":"boolean","CoverageEligibilityRequest.supportingInfo.extension":"Extension","CoverageEligibilityRequest.supportingInfo.id":"System.String","CoverageEligibilityRequest.supportingInfo.information":"Reference","CoverageEligibilityRequest.supportingInfo.modifierExtension":"Extension","CoverageEligibilityRequest.supportingInfo.sequence":"positiveInt","CoverageEligibilityRequest.text":"Narrative","CoverageEligibilityResponse.contained":"Resource","CoverageEligibilityResponse.created":"dateTime","CoverageEligibilityResponse.disposition":"string","CoverageEligibilityResponse.error":"BackboneElement","CoverageEligibilityResponse.error.code":"CodeableConcept","CoverageEligibilityResponse.error.extension":"Extension","CoverageEligibilityResponse.error.id":"System.String","CoverageEligibilityResponse.error.modifierExtension":"Extension","CoverageEligibilityResponse.extension":"Extension","CoverageEligibilityResponse.form":"CodeableConcept","CoverageEligibilityResponse.id":"System.String","CoverageEligibilityResponse.identifier":"Identifier","CoverageEligibilityResponse.implicitRules":"uri","CoverageEligibilityResponse.insurance":"BackboneElement","CoverageEligibilityResponse.insurance.benefitPeriod":"Period","CoverageEligibilityResponse.insurance.coverage":"Reference","CoverageEligibilityResponse.insurance.extension":"Extension","CoverageEligibilityResponse.insurance.id":"System.String","CoverageEligibilityResponse.insurance.inforce":"boolean","CoverageEligibilityResponse.insurance.item":"BackboneElement","CoverageEligibilityResponse.insurance.item.authorizationRequired":"boolean","CoverageEligibilityResponse.insurance.item.authorizationSupporting":"CodeableConcept","CoverageEligibilityResponse.insurance.item.authorizationUrl":"uri","CoverageEligibilityResponse.insurance.item.benefit":"BackboneElement","CoverageEligibilityResponse.insurance.item.benefit.allowedMoney":"Money","CoverageEligibilityResponse.insurance.item.benefit.allowedString":"string","CoverageEligibilityResponse.insurance.item.benefit.allowedUnsignedInt":"unsignedInt","CoverageEligibilityResponse.insurance.item.benefit.extension":"Extension","CoverageEligibilityResponse.insurance.item.benefit.id":"System.String","CoverageEligibilityResponse.insurance.item.benefit.modifierExtension":"Extension","CoverageEligibilityResponse.insurance.item.benefit.type":"CodeableConcept","CoverageEligibilityResponse.insurance.item.benefit.usedMoney":"Money","CoverageEligibilityResponse.insurance.item.benefit.usedString":"string","CoverageEligibilityResponse.insurance.item.benefit.usedUnsignedInt":"unsignedInt","CoverageEligibilityResponse.insurance.item.category":"CodeableConcept","CoverageEligibilityResponse.insurance.item.description":"string","CoverageEligibilityResponse.insurance.item.excluded":"boolean","CoverageEligibilityResponse.insurance.item.extension":"Extension","CoverageEligibilityResponse.insurance.item.id":"System.String","CoverageEligibilityResponse.insurance.item.modifier":"CodeableConcept","CoverageEligibilityResponse.insurance.item.modifierExtension":"Extension","CoverageEligibilityResponse.insurance.item.name":"string","CoverageEligibilityResponse.insurance.item.network":"CodeableConcept","CoverageEligibilityResponse.insurance.item.productOrService":"CodeableConcept","CoverageEligibilityResponse.insurance.item.provider":"Reference","CoverageEligibilityResponse.insurance.item.term":"CodeableConcept","CoverageEligibilityResponse.insurance.item.unit":"CodeableConcept","CoverageEligibilityResponse.insurance.modifierExtension":"Extension","CoverageEligibilityResponse.insurer":"Reference","CoverageEligibilityResponse.language":"code","CoverageEligibilityResponse.meta":"Meta","CoverageEligibilityResponse.modifierExtension":"Extension","CoverageEligibilityResponse.outcome":"code","CoverageEligibilityResponse.patient":"Reference","CoverageEligibilityResponse.preAuthRef":"string","CoverageEligibilityResponse.purpose":"code","CoverageEligibilityResponse.request":"Reference","CoverageEligibilityResponse.requestor":"Reference","CoverageEligibilityResponse.servicedDate":"date","CoverageEligibilityResponse.servicedPeriod":"Period","CoverageEligibilityResponse.status":"code","CoverageEligibilityResponse.text":"Narrative","DataRequirement.codeFilter.code":"Coding","DataRequirement.codeFilter.extension":"Extension","DataRequirement.codeFilter.id":"System.String","DataRequirement.codeFilter.path":"string","DataRequirement.codeFilter.searchParam":"string","DataRequirement.codeFilter.valueSet":"canonical","DataRequirement.dateFilter.extension":"Extension","DataRequirement.dateFilter.id":"System.String","DataRequirement.dateFilter.path":"string","DataRequirement.dateFilter.searchParam":"string","DataRequirement.dateFilter.valueDateTime":"dateTime","DataRequirement.dateFilter.valueDuration":"Duration","DataRequirement.dateFilter.valuePeriod":"Period","DataRequirement.extension":"Extension","DataRequirement.id":"System.String","DataRequirement.limit":"positiveInt","DataRequirement.mustSupport":"string","DataRequirement.profile":"canonical","DataRequirement.sort.direction":"code","DataRequirement.sort.extension":"Extension","DataRequirement.sort.id":"System.String","DataRequirement.sort.path":"string","DataRequirement.subjectCodeableConcept":"CodeableConcept","DataRequirement.subjectReference":"Reference","DataRequirement.type":"code","DetectedIssue.author":"Reference","DetectedIssue.code":"CodeableConcept","DetectedIssue.contained":"Resource","DetectedIssue.detail":"string","DetectedIssue.evidence":"BackboneElement","DetectedIssue.evidence.code":"CodeableConcept","DetectedIssue.evidence.detail":"Reference","DetectedIssue.evidence.extension":"Extension","DetectedIssue.evidence.id":"System.String","DetectedIssue.evidence.modifierExtension":"Extension","DetectedIssue.extension":"Extension","DetectedIssue.id":"System.String","DetectedIssue.identifiedDateTime":"dateTime","DetectedIssue.identifiedPeriod":"Period","DetectedIssue.identifier":"Identifier","DetectedIssue.implicated":"Reference","DetectedIssue.implicitRules":"uri","DetectedIssue.language":"code","DetectedIssue.meta":"Meta","DetectedIssue.mitigation":"BackboneElement","DetectedIssue.mitigation.action":"CodeableConcept","DetectedIssue.mitigation.author":"Reference","DetectedIssue.mitigation.date":"dateTime","DetectedIssue.mitigation.extension":"Extension","DetectedIssue.mitigation.id":"System.String","DetectedIssue.mitigation.modifierExtension":"Extension","DetectedIssue.modifierExtension":"Extension","DetectedIssue.patient":"Reference","DetectedIssue.reference":"uri","DetectedIssue.severity":"code","DetectedIssue.status":"code","DetectedIssue.text":"Narrative","Device.contact":"ContactPoint","Device.contained":"Resource","Device.definition":"Reference","Device.deviceName":"BackboneElement","Device.deviceName.extension":"Extension","Device.deviceName.id":"System.String","Device.deviceName.modifierExtension":"Extension","Device.deviceName.name":"string","Device.deviceName.type":"code","Device.distinctIdentifier":"string","Device.expirationDate":"dateTime","Device.extension":"Extension","Device.id":"System.String","Device.identifier":"Identifier","Device.implicitRules":"uri","Device.language":"code","Device.location":"Reference","Device.lotNumber":"string","Device.manufactureDate":"dateTime","Device.manufacturer":"string","Device.meta":"Meta","Device.modelNumber":"string","Device.modifierExtension":"Extension","Device.note":"Annotation","Device.owner":"Reference","Device.parent":"Reference","Device.partNumber":"string","Device.patient":"Reference","Device.property":"BackboneElement","Device.property.extension":"Extension","Device.property.id":"System.String","Device.property.modifierExtension":"Extension","Device.property.type":"CodeableConcept","Device.property.valueCode":"CodeableConcept","Device.property.valueQuantity":"Quantity","Device.safety":"CodeableConcept","Device.serialNumber":"string","Device.specialization":"BackboneElement","Device.specialization.extension":"Extension","Device.specialization.id":"System.String","Device.specialization.modifierExtension":"Extension","Device.specialization.systemType":"CodeableConcept","Device.specialization.version":"string","Device.status":"code","Device.statusReason":"CodeableConcept","Device.text":"Narrative","Device.type":"CodeableConcept","Device.udiCarrier":"BackboneElement","Device.udiCarrier.carrierAIDC":"base64Binary","Device.udiCarrier.carrierHRF":"string","Device.udiCarrier.deviceIdentifier":"string","Device.udiCarrier.entryType":"code","Device.udiCarrier.extension":"Extension","Device.udiCarrier.id":"System.String","Device.udiCarrier.issuer":"uri","Device.udiCarrier.jurisdiction":"uri","Device.udiCarrier.modifierExtension":"Extension","Device.url":"uri","Device.version":"BackboneElement","Device.version.component":"Identifier","Device.version.extension":"Extension","Device.version.id":"System.String","Device.version.modifierExtension":"Extension","Device.version.type":"CodeableConcept","Device.version.value":"string","DeviceDefinition.capability":"BackboneElement","DeviceDefinition.capability.description":"CodeableConcept","DeviceDefinition.capability.extension":"Extension","DeviceDefinition.capability.id":"System.String","DeviceDefinition.capability.modifierExtension":"Extension","DeviceDefinition.capability.type":"CodeableConcept","DeviceDefinition.contact":"ContactPoint","DeviceDefinition.contained":"Resource","DeviceDefinition.deviceName":"BackboneElement","DeviceDefinition.deviceName.extension":"Extension","DeviceDefinition.deviceName.id":"System.String","DeviceDefinition.deviceName.modifierExtension":"Extension","DeviceDefinition.deviceName.name":"string","DeviceDefinition.deviceName.type":"code","DeviceDefinition.extension":"Extension","DeviceDefinition.id":"System.String","DeviceDefinition.identifier":"Identifier","DeviceDefinition.implicitRules":"uri","DeviceDefinition.language":"code","DeviceDefinition.languageCode":"CodeableConcept","DeviceDefinition.manufacturerReference":"Reference","DeviceDefinition.manufacturerString":"string","DeviceDefinition.material":"BackboneElement","DeviceDefinition.material.allergenicIndicator":"boolean","DeviceDefinition.material.alternate":"boolean","DeviceDefinition.material.extension":"Extension","DeviceDefinition.material.id":"System.String","DeviceDefinition.material.modifierExtension":"Extension","DeviceDefinition.material.substance":"CodeableConcept","DeviceDefinition.meta":"Meta","DeviceDefinition.modelNumber":"string","DeviceDefinition.modifierExtension":"Extension","DeviceDefinition.note":"Annotation","DeviceDefinition.onlineInformation":"uri","DeviceDefinition.owner":"Reference","DeviceDefinition.parentDevice":"Reference","DeviceDefinition.physicalCharacteristics":"ProdCharacteristic","DeviceDefinition.property":"BackboneElement","DeviceDefinition.property.extension":"Extension","DeviceDefinition.property.id":"System.String","DeviceDefinition.property.modifierExtension":"Extension","DeviceDefinition.property.type":"CodeableConcept","DeviceDefinition.property.valueCode":"CodeableConcept","DeviceDefinition.property.valueQuantity":"Quantity","DeviceDefinition.quantity":"Quantity","DeviceDefinition.safety":"CodeableConcept","DeviceDefinition.shelfLifeStorage":"ProductShelfLife","DeviceDefinition.specialization":"BackboneElement","DeviceDefinition.specialization.extension":"Extension","DeviceDefinition.specialization.id":"System.String","DeviceDefinition.specialization.modifierExtension":"Extension","DeviceDefinition.specialization.systemType":"string","DeviceDefinition.specialization.version":"string","DeviceDefinition.text":"Narrative","DeviceDefinition.type":"CodeableConcept","DeviceDefinition.udiDeviceIdentifier":"BackboneElement","DeviceDefinition.udiDeviceIdentifier.deviceIdentifier":"string","DeviceDefinition.udiDeviceIdentifier.extension":"Extension","DeviceDefinition.udiDeviceIdentifier.id":"System.String","DeviceDefinition.udiDeviceIdentifier.issuer":"uri","DeviceDefinition.udiDeviceIdentifier.jurisdiction":"uri","DeviceDefinition.udiDeviceIdentifier.modifierExtension":"Extension","DeviceDefinition.url":"uri","DeviceDefinition.version":"string","DeviceMetric.calibration":"BackboneElement","DeviceMetric.calibration.extension":"Extension","DeviceMetric.calibration.id":"System.String","DeviceMetric.calibration.modifierExtension":"Extension","DeviceMetric.calibration.state":"code","DeviceMetric.calibration.time":"instant","DeviceMetric.calibration.type":"code","DeviceMetric.category":"code","DeviceMetric.color":"code","DeviceMetric.contained":"Resource","DeviceMetric.extension":"Extension","DeviceMetric.id":"System.String","DeviceMetric.identifier":"Identifier","DeviceMetric.implicitRules":"uri","DeviceMetric.language":"code","DeviceMetric.measurementPeriod":"Timing","DeviceMetric.meta":"Meta","DeviceMetric.modifierExtension":"Extension","DeviceMetric.operationalStatus":"code","DeviceMetric.parent":"Reference","DeviceMetric.source":"Reference","DeviceMetric.text":"Narrative","DeviceMetric.type":"CodeableConcept","DeviceMetric.unit":"CodeableConcept","DeviceRequest.authoredOn":"dateTime","DeviceRequest.basedOn":"Reference","DeviceRequest.codeCodeableConcept":"CodeableConcept","DeviceRequest.codeReference":"Reference","DeviceRequest.contained":"Resource","DeviceRequest.encounter":"Reference","DeviceRequest.extension":"Extension","DeviceRequest.groupIdentifier":"Identifier","DeviceRequest.id":"System.String","DeviceRequest.identifier":"Identifier","DeviceRequest.implicitRules":"uri","DeviceRequest.instantiatesCanonical":"canonical","DeviceRequest.instantiatesUri":"uri","DeviceRequest.insurance":"Reference","DeviceRequest.intent":"code","DeviceRequest.language":"code","DeviceRequest.meta":"Meta","DeviceRequest.modifierExtension":"Extension","DeviceRequest.note":"Annotation","DeviceRequest.occurrenceDateTime":"dateTime","DeviceRequest.occurrencePeriod":"Period","DeviceRequest.occurrenceTiming":"Timing","DeviceRequest.parameter":"BackboneElement","DeviceRequest.parameter.code":"CodeableConcept","DeviceRequest.parameter.extension":"Extension","DeviceRequest.parameter.id":"System.String","DeviceRequest.parameter.modifierExtension":"Extension","DeviceRequest.parameter.valueBoolean":"boolean","DeviceRequest.parameter.valueCodeableConcept":"CodeableConcept","DeviceRequest.parameter.valueQuantity":"Quantity","DeviceRequest.parameter.valueRange":"Range","DeviceRequest.performer":"Reference","DeviceRequest.performerType":"CodeableConcept","DeviceRequest.priorRequest":"Reference","DeviceRequest.priority":"code","DeviceRequest.reasonCode":"CodeableConcept","DeviceRequest.reasonReference":"Reference","DeviceRequest.relevantHistory":"Reference","DeviceRequest.requester":"Reference","DeviceRequest.status":"code","DeviceRequest.subject":"Reference","DeviceRequest.supportingInfo":"Reference","DeviceRequest.text":"Narrative","DeviceUseStatement.basedOn":"Reference","DeviceUseStatement.bodySite":"CodeableConcept","DeviceUseStatement.contained":"Resource","DeviceUseStatement.derivedFrom":"Reference","DeviceUseStatement.device":"Reference","DeviceUseStatement.extension":"Extension","DeviceUseStatement.id":"System.String","DeviceUseStatement.identifier":"Identifier","DeviceUseStatement.implicitRules":"uri","DeviceUseStatement.language":"code","DeviceUseStatement.meta":"Meta","DeviceUseStatement.modifierExtension":"Extension","DeviceUseStatement.note":"Annotation","DeviceUseStatement.reasonCode":"CodeableConcept","DeviceUseStatement.reasonReference":"Reference","DeviceUseStatement.recordedOn":"dateTime","DeviceUseStatement.source":"Reference","DeviceUseStatement.status":"code","DeviceUseStatement.subject":"Reference","DeviceUseStatement.text":"Narrative","DeviceUseStatement.timingDateTime":"dateTime","DeviceUseStatement.timingPeriod":"Period","DeviceUseStatement.timingTiming":"Timing","DiagnosticReport.basedOn":"Reference","DiagnosticReport.category":"CodeableConcept","DiagnosticReport.code":"CodeableConcept","DiagnosticReport.conclusion":"string","DiagnosticReport.conclusionCode":"CodeableConcept","DiagnosticReport.contained":"Resource","DiagnosticReport.effectiveDateTime":"dateTime","DiagnosticReport.effectivePeriod":"Period","DiagnosticReport.encounter":"Reference","DiagnosticReport.extension":"Extension","DiagnosticReport.id":"System.String","DiagnosticReport.identifier":"Identifier","DiagnosticReport.imagingStudy":"Reference","DiagnosticReport.implicitRules":"uri","DiagnosticReport.issued":"instant","DiagnosticReport.language":"code","DiagnosticReport.media":"BackboneElement","DiagnosticReport.media.comment":"string","DiagnosticReport.media.extension":"Extension","DiagnosticReport.media.id":"System.String","DiagnosticReport.media.link":"Reference","DiagnosticReport.media.modifierExtension":"Extension","DiagnosticReport.meta":"Meta","DiagnosticReport.modifierExtension":"Extension","DiagnosticReport.performer":"Reference","DiagnosticReport.presentedForm":"Attachment","DiagnosticReport.result":"Reference","DiagnosticReport.resultsInterpreter":"Reference","DiagnosticReport.specimen":"Reference","DiagnosticReport.status":"code","DiagnosticReport.subject":"Reference","DiagnosticReport.text":"Narrative","Distance.code":"code","Distance.comparator":"code","Distance.extension":"Extension","Distance.id":"System.String","Distance.system":"uri","Distance.unit":"string","Distance.value":"decimal","DocumentManifest.author":"Reference","DocumentManifest.contained":"Resource","DocumentManifest.content":"Reference","DocumentManifest.created":"dateTime","DocumentManifest.description":"string","DocumentManifest.extension":"Extension","DocumentManifest.id":"System.String","DocumentManifest.identifier":"Identifier","DocumentManifest.implicitRules":"uri","DocumentManifest.language":"code","DocumentManifest.masterIdentifier":"Identifier","DocumentManifest.meta":"Meta","DocumentManifest.modifierExtension":"Extension","DocumentManifest.recipient":"Reference","DocumentManifest.related":"BackboneElement","DocumentManifest.related.extension":"Extension","DocumentManifest.related.id":"System.String","DocumentManifest.related.identifier":"Identifier","DocumentManifest.related.modifierExtension":"Extension","DocumentManifest.related.ref":"Reference","DocumentManifest.source":"uri","DocumentManifest.status":"code","DocumentManifest.subject":"Reference","DocumentManifest.text":"Narrative","DocumentManifest.type":"CodeableConcept","DocumentReference.authenticator":"Reference","DocumentReference.author":"Reference","DocumentReference.category":"CodeableConcept","DocumentReference.contained":"Resource","DocumentReference.content":"BackboneElement","DocumentReference.content.attachment":"Attachment","DocumentReference.content.extension":"Extension","DocumentReference.content.format":"Coding","DocumentReference.content.id":"System.String","DocumentReference.content.modifierExtension":"Extension","DocumentReference.context":"BackboneElement","DocumentReference.context.encounter":"Reference","DocumentReference.context.event":"CodeableConcept","DocumentReference.context.extension":"Extension","DocumentReference.context.facilityType":"CodeableConcept","DocumentReference.context.id":"System.String","DocumentReference.context.modifierExtension":"Extension","DocumentReference.context.period":"Period","DocumentReference.context.practiceSetting":"CodeableConcept","DocumentReference.context.related":"Reference","DocumentReference.context.sourcePatientInfo":"Reference","DocumentReference.custodian":"Reference","DocumentReference.date":"instant","DocumentReference.description":"string","DocumentReference.docStatus":"code","DocumentReference.extension":"Extension","DocumentReference.id":"System.String","DocumentReference.identifier":"Identifier","DocumentReference.implicitRules":"uri","DocumentReference.language":"code","DocumentReference.masterIdentifier":"Identifier","DocumentReference.meta":"Meta","DocumentReference.modifierExtension":"Extension","DocumentReference.relatesTo":"BackboneElement","DocumentReference.relatesTo.code":"code","DocumentReference.relatesTo.extension":"Extension","DocumentReference.relatesTo.id":"System.String","DocumentReference.relatesTo.modifierExtension":"Extension","DocumentReference.relatesTo.target":"Reference","DocumentReference.securityLabel":"CodeableConcept","DocumentReference.status":"code","DocumentReference.subject":"Reference","DocumentReference.text":"Narrative","DocumentReference.type":"CodeableConcept","DomainResource.contained":"Resource","DomainResource.extension":"Extension","DomainResource.id":"System.String","DomainResource.implicitRules":"uri","DomainResource.language":"code","DomainResource.meta":"Meta","DomainResource.modifierExtension":"Extension","DomainResource.text":"Narrative","Dosage.additionalInstruction":"CodeableConcept","Dosage.asNeededBoolean":"boolean","Dosage.asNeededCodeableConcept":"CodeableConcept","Dosage.doseAndRate.doseQuantity":"Quantity","Dosage.doseAndRate.doseRange":"Range","Dosage.doseAndRate.extension":"Extension","Dosage.doseAndRate.id":"System.String","Dosage.doseAndRate.rateQuantity":"Quantity","Dosage.doseAndRate.rateRange":"Range","Dosage.doseAndRate.rateRatio":"Ratio","Dosage.doseAndRate.type":"CodeableConcept","Dosage.extension":"Extension","Dosage.id":"System.String","Dosage.maxDosePerAdministration":"Quantity","Dosage.maxDosePerLifetime":"Quantity","Dosage.maxDosePerPeriod":"Ratio","Dosage.method":"CodeableConcept","Dosage.modifierExtension":"Extension","Dosage.patientInstruction":"string","Dosage.route":"CodeableConcept","Dosage.sequence":"integer","Dosage.site":"CodeableConcept","Dosage.text":"string","Dosage.timing":"Timing","Duration.code":"code","Duration.comparator":"code","Duration.extension":"Extension","Duration.id":"System.String","Duration.system":"uri","Duration.unit":"string","Duration.value":"decimal","EffectEvidenceSynthesis.approvalDate":"date","EffectEvidenceSynthesis.author":"ContactDetail","EffectEvidenceSynthesis.certainty":"BackboneElement","EffectEvidenceSynthesis.certainty.certaintySubcomponent":"BackboneElement","EffectEvidenceSynthesis.certainty.certaintySubcomponent.extension":"Extension","EffectEvidenceSynthesis.certainty.certaintySubcomponent.id":"System.String","EffectEvidenceSynthesis.certainty.certaintySubcomponent.modifierExtension":"Extension","EffectEvidenceSynthesis.certainty.certaintySubcomponent.note":"Annotation","EffectEvidenceSynthesis.certainty.certaintySubcomponent.rating":"CodeableConcept","EffectEvidenceSynthesis.certainty.certaintySubcomponent.type":"CodeableConcept","EffectEvidenceSynthesis.certainty.extension":"Extension","EffectEvidenceSynthesis.certainty.id":"System.String","EffectEvidenceSynthesis.certainty.modifierExtension":"Extension","EffectEvidenceSynthesis.certainty.note":"Annotation","EffectEvidenceSynthesis.certainty.rating":"CodeableConcept","EffectEvidenceSynthesis.contact":"ContactDetail","EffectEvidenceSynthesis.contained":"Resource","EffectEvidenceSynthesis.copyright":"markdown","EffectEvidenceSynthesis.date":"dateTime","EffectEvidenceSynthesis.description":"markdown","EffectEvidenceSynthesis.editor":"ContactDetail","EffectEvidenceSynthesis.effectEstimate":"BackboneElement","EffectEvidenceSynthesis.effectEstimate.description":"string","EffectEvidenceSynthesis.effectEstimate.extension":"Extension","EffectEvidenceSynthesis.effectEstimate.id":"System.String","EffectEvidenceSynthesis.effectEstimate.modifierExtension":"Extension","EffectEvidenceSynthesis.effectEstimate.precisionEstimate":"BackboneElement","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.extension":"Extension","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.from":"decimal","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.id":"System.String","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.level":"decimal","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.modifierExtension":"Extension","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.to":"decimal","EffectEvidenceSynthesis.effectEstimate.precisionEstimate.type":"CodeableConcept","EffectEvidenceSynthesis.effectEstimate.type":"CodeableConcept","EffectEvidenceSynthesis.effectEstimate.unitOfMeasure":"CodeableConcept","EffectEvidenceSynthesis.effectEstimate.value":"decimal","EffectEvidenceSynthesis.effectEstimate.variantState":"CodeableConcept","EffectEvidenceSynthesis.effectivePeriod":"Period","EffectEvidenceSynthesis.endorser":"ContactDetail","EffectEvidenceSynthesis.exposure":"Reference","EffectEvidenceSynthesis.exposureAlternative":"Reference","EffectEvidenceSynthesis.extension":"Extension","EffectEvidenceSynthesis.id":"System.String","EffectEvidenceSynthesis.identifier":"Identifier","EffectEvidenceSynthesis.implicitRules":"uri","EffectEvidenceSynthesis.jurisdiction":"CodeableConcept","EffectEvidenceSynthesis.language":"code","EffectEvidenceSynthesis.lastReviewDate":"date","EffectEvidenceSynthesis.meta":"Meta","EffectEvidenceSynthesis.modifierExtension":"Extension","EffectEvidenceSynthesis.name":"string","EffectEvidenceSynthesis.note":"Annotation","EffectEvidenceSynthesis.outcome":"Reference","EffectEvidenceSynthesis.population":"Reference","EffectEvidenceSynthesis.publisher":"string","EffectEvidenceSynthesis.relatedArtifact":"RelatedArtifact","EffectEvidenceSynthesis.resultsByExposure":"BackboneElement","EffectEvidenceSynthesis.resultsByExposure.description":"string","EffectEvidenceSynthesis.resultsByExposure.exposureState":"code","EffectEvidenceSynthesis.resultsByExposure.extension":"Extension","EffectEvidenceSynthesis.resultsByExposure.id":"System.String","EffectEvidenceSynthesis.resultsByExposure.modifierExtension":"Extension","EffectEvidenceSynthesis.resultsByExposure.riskEvidenceSynthesis":"Reference","EffectEvidenceSynthesis.resultsByExposure.variantState":"CodeableConcept","EffectEvidenceSynthesis.reviewer":"ContactDetail","EffectEvidenceSynthesis.sampleSize":"BackboneElement","EffectEvidenceSynthesis.sampleSize.description":"string","EffectEvidenceSynthesis.sampleSize.extension":"Extension","EffectEvidenceSynthesis.sampleSize.id":"System.String","EffectEvidenceSynthesis.sampleSize.modifierExtension":"Extension","EffectEvidenceSynthesis.sampleSize.numberOfParticipants":"integer","EffectEvidenceSynthesis.sampleSize.numberOfStudies":"integer","EffectEvidenceSynthesis.status":"code","EffectEvidenceSynthesis.studyType":"CodeableConcept","EffectEvidenceSynthesis.synthesisType":"CodeableConcept","EffectEvidenceSynthesis.text":"Narrative","EffectEvidenceSynthesis.title":"string","EffectEvidenceSynthesis.topic":"CodeableConcept","EffectEvidenceSynthesis.url":"uri","EffectEvidenceSynthesis.useContext":"UsageContext","EffectEvidenceSynthesis.version":"string","Element.extension":"Extension","Element.id":"System.String","ElementDefinition.alias":"string","ElementDefinition.base.extension":"Extension","ElementDefinition.base.id":"System.String","ElementDefinition.base.max":"string","ElementDefinition.base.min":"unsignedInt","ElementDefinition.base.path":"string","ElementDefinition.binding.description":"string","ElementDefinition.binding.extension":"Extension","ElementDefinition.binding.id":"System.String","ElementDefinition.binding.strength":"code","ElementDefinition.binding.valueSet":"canonical","ElementDefinition.code":"Coding","ElementDefinition.comment":"markdown","ElementDefinition.condition":"id","ElementDefinition.constraint.expression":"string","ElementDefinition.constraint.extension":"Extension","ElementDefinition.constraint.human":"string","ElementDefinition.constraint.id":"System.String","ElementDefinition.constraint.key":"id","ElementDefinition.constraint.requirements":"string","ElementDefinition.constraint.severity":"code","ElementDefinition.constraint.source":"canonical","ElementDefinition.constraint.xpath":"string","ElementDefinition.contentReference":"uri","ElementDefinition.defaultValueAddress":"Address","ElementDefinition.defaultValueAge":"Age","ElementDefinition.defaultValueAnnotation":"Annotation","ElementDefinition.defaultValueAttachment":"Attachment","ElementDefinition.defaultValueBase64Binary":"base64Binary","ElementDefinition.defaultValueBoolean":"boolean","ElementDefinition.defaultValueCanonical":"canonical","ElementDefinition.defaultValueCode":"code","ElementDefinition.defaultValueCodeableConcept":"CodeableConcept","ElementDefinition.defaultValueCoding":"Coding","ElementDefinition.defaultValueContactDetail":"ContactDetail","ElementDefinition.defaultValueContactPoint":"ContactPoint","ElementDefinition.defaultValueContributor":"Contributor","ElementDefinition.defaultValueCount":"Count","ElementDefinition.defaultValueDataRequirement":"DataRequirement","ElementDefinition.defaultValueDate":"date","ElementDefinition.defaultValueDateTime":"dateTime","ElementDefinition.defaultValueDecimal":"decimal","ElementDefinition.defaultValueDistance":"Distance","ElementDefinition.defaultValueDosage":"Dosage","ElementDefinition.defaultValueDuration":"Duration","ElementDefinition.defaultValueExpression":"Expression","ElementDefinition.defaultValueHumanName":"HumanName","ElementDefinition.defaultValueId":"id","ElementDefinition.defaultValueIdentifier":"Identifier","ElementDefinition.defaultValueInstant":"instant","ElementDefinition.defaultValueInteger":"integer","ElementDefinition.defaultValueMarkdown":"markdown","ElementDefinition.defaultValueMeta":"Meta","ElementDefinition.defaultValueMoney":"Money","ElementDefinition.defaultValueOid":"oid","ElementDefinition.defaultValueParameterDefinition":"ParameterDefinition","ElementDefinition.defaultValuePeriod":"Period","ElementDefinition.defaultValuePositiveInt":"positiveInt","ElementDefinition.defaultValueQuantity":"Quantity","ElementDefinition.defaultValueRange":"Range","ElementDefinition.defaultValueRatio":"Ratio","ElementDefinition.defaultValueReference":"Reference","ElementDefinition.defaultValueRelatedArtifact":"RelatedArtifact","ElementDefinition.defaultValueSampledData":"SampledData","ElementDefinition.defaultValueSignature":"Signature","ElementDefinition.defaultValueString":"string","ElementDefinition.defaultValueTime":"time","ElementDefinition.defaultValueTiming":"Timing","ElementDefinition.defaultValueTriggerDefinition":"TriggerDefinition","ElementDefinition.defaultValueUnsignedInt":"unsignedInt","ElementDefinition.defaultValueUri":"uri","ElementDefinition.defaultValueUrl":"url","ElementDefinition.defaultValueUsageContext":"UsageContext","ElementDefinition.defaultValueUuid":"uuid","ElementDefinition.definition":"markdown","ElementDefinition.example.extension":"Extension","ElementDefinition.example.id":"System.String","ElementDefinition.example.label":"string","ElementDefinition.example.valueAddress":"Address","ElementDefinition.example.valueAge":"Age","ElementDefinition.example.valueAnnotation":"Annotation","ElementDefinition.example.valueAttachment":"Attachment","ElementDefinition.example.valueBase64Binary":"base64Binary","ElementDefinition.example.valueBoolean":"boolean","ElementDefinition.example.valueCanonical":"canonical","ElementDefinition.example.valueCode":"code","ElementDefinition.example.valueCodeableConcept":"CodeableConcept","ElementDefinition.example.valueCoding":"Coding","ElementDefinition.example.valueContactDetail":"ContactDetail","ElementDefinition.example.valueContactPoint":"ContactPoint","ElementDefinition.example.valueContributor":"Contributor","ElementDefinition.example.valueCount":"Count","ElementDefinition.example.valueDataRequirement":"DataRequirement","ElementDefinition.example.valueDate":"date","ElementDefinition.example.valueDateTime":"dateTime","ElementDefinition.example.valueDecimal":"decimal","ElementDefinition.example.valueDistance":"Distance","ElementDefinition.example.valueDosage":"Dosage","ElementDefinition.example.valueDuration":"Duration","ElementDefinition.example.valueExpression":"Expression","ElementDefinition.example.valueHumanName":"HumanName","ElementDefinition.example.valueId":"id","ElementDefinition.example.valueIdentifier":"Identifier","ElementDefinition.example.valueInstant":"instant","ElementDefinition.example.valueInteger":"integer","ElementDefinition.example.valueMarkdown":"markdown","ElementDefinition.example.valueMeta":"Meta","ElementDefinition.example.valueMoney":"Money","ElementDefinition.example.valueOid":"oid","ElementDefinition.example.valueParameterDefinition":"ParameterDefinition","ElementDefinition.example.valuePeriod":"Period","ElementDefinition.example.valuePositiveInt":"positiveInt","ElementDefinition.example.valueQuantity":"Quantity","ElementDefinition.example.valueRange":"Range","ElementDefinition.example.valueRatio":"Ratio","ElementDefinition.example.valueReference":"Reference","ElementDefinition.example.valueRelatedArtifact":"RelatedArtifact","ElementDefinition.example.valueSampledData":"SampledData","ElementDefinition.example.valueSignature":"Signature","ElementDefinition.example.valueString":"string","ElementDefinition.example.valueTime":"time","ElementDefinition.example.valueTiming":"Timing","ElementDefinition.example.valueTriggerDefinition":"TriggerDefinition","ElementDefinition.example.valueUnsignedInt":"unsignedInt","ElementDefinition.example.valueUri":"uri","ElementDefinition.example.valueUrl":"url","ElementDefinition.example.valueUsageContext":"UsageContext","ElementDefinition.example.valueUuid":"uuid","ElementDefinition.extension":"Extension","ElementDefinition.extension.extension":"Extension","ElementDefinition.extension.id":"System.String","ElementDefinition.extension.url":"System.String","ElementDefinition.extension.valueCanonical":"canonical","ElementDefinition.extension.valueCodeableConcept":"CodeableConcept","ElementDefinition.extension.valueString":"string","ElementDefinition.fixedAddress":"Address","ElementDefinition.fixedAge":"Age","ElementDefinition.fixedAnnotation":"Annotation","ElementDefinition.fixedAttachment":"Attachment","ElementDefinition.fixedBase64Binary":"base64Binary","ElementDefinition.fixedBoolean":"boolean","ElementDefinition.fixedCanonical":"canonical","ElementDefinition.fixedCode":"code","ElementDefinition.fixedCodeableConcept":"CodeableConcept","ElementDefinition.fixedCoding":"Coding","ElementDefinition.fixedContactDetail":"ContactDetail","ElementDefinition.fixedContactPoint":"ContactPoint","ElementDefinition.fixedContributor":"Contributor","ElementDefinition.fixedCount":"Count","ElementDefinition.fixedDataRequirement":"DataRequirement","ElementDefinition.fixedDate":"date","ElementDefinition.fixedDateTime":"dateTime","ElementDefinition.fixedDecimal":"decimal","ElementDefinition.fixedDistance":"Distance","ElementDefinition.fixedDosage":"Dosage","ElementDefinition.fixedDuration":"Duration","ElementDefinition.fixedExpression":"Expression","ElementDefinition.fixedHumanName":"HumanName","ElementDefinition.fixedId":"id","ElementDefinition.fixedIdentifier":"Identifier","ElementDefinition.fixedInstant":"instant","ElementDefinition.fixedInteger":"integer","ElementDefinition.fixedMarkdown":"markdown","ElementDefinition.fixedMeta":"Meta","ElementDefinition.fixedMoney":"Money","ElementDefinition.fixedOid":"oid","ElementDefinition.fixedParameterDefinition":"ParameterDefinition","ElementDefinition.fixedPeriod":"Period","ElementDefinition.fixedPositiveInt":"positiveInt","ElementDefinition.fixedQuantity":"Quantity","ElementDefinition.fixedRange":"Range","ElementDefinition.fixedRatio":"Ratio","ElementDefinition.fixedReference":"Reference","ElementDefinition.fixedRelatedArtifact":"RelatedArtifact","ElementDefinition.fixedSampledData":"SampledData","ElementDefinition.fixedSignature":"Signature","ElementDefinition.fixedString":"string","ElementDefinition.fixedTime":"time","ElementDefinition.fixedTiming":"Timing","ElementDefinition.fixedTriggerDefinition":"TriggerDefinition","ElementDefinition.fixedUnsignedInt":"unsignedInt","ElementDefinition.fixedUri":"uri","ElementDefinition.fixedUrl":"url","ElementDefinition.fixedUsageContext":"UsageContext","ElementDefinition.fixedUuid":"uuid","ElementDefinition.id":"System.String","ElementDefinition.isModifier":"boolean","ElementDefinition.isModifierReason":"string","ElementDefinition.isSummary":"boolean","ElementDefinition.label":"string","ElementDefinition.mapping.comment":"string","ElementDefinition.mapping.extension":"Extension","ElementDefinition.mapping.id":"System.String","ElementDefinition.mapping.identity":"id","ElementDefinition.mapping.language":"code","ElementDefinition.mapping.map":"string","ElementDefinition.max":"string","ElementDefinition.maxLength":"integer","ElementDefinition.maxValueDate":"date","ElementDefinition.maxValueDateTime":"dateTime","ElementDefinition.maxValueDecimal":"decimal","ElementDefinition.maxValueInstant":"instant","ElementDefinition.maxValueInteger":"integer","ElementDefinition.maxValuePositiveInt":"positiveInt","ElementDefinition.maxValueQuantity":"Quantity","ElementDefinition.maxValueTime":"time","ElementDefinition.maxValueUnsignedInt":"unsignedInt","ElementDefinition.meaningWhenMissing":"markdown","ElementDefinition.min":"unsignedInt","ElementDefinition.minValueDate":"date","ElementDefinition.minValueDateTime":"dateTime","ElementDefinition.minValueDecimal":"decimal","ElementDefinition.minValueInstant":"instant","ElementDefinition.minValueInteger":"integer","ElementDefinition.minValuePositiveInt":"positiveInt","ElementDefinition.minValueQuantity":"Quantity","ElementDefinition.minValueTime":"time","ElementDefinition.minValueUnsignedInt":"unsignedInt","ElementDefinition.modifierExtension":"Extension","ElementDefinition.mustSupport":"boolean","ElementDefinition.orderMeaning":"string","ElementDefinition.path":"string","ElementDefinition.patternAddress":"Address","ElementDefinition.patternAge":"Age","ElementDefinition.patternAnnotation":"Annotation","ElementDefinition.patternAttachment":"Attachment","ElementDefinition.patternBase64Binary":"base64Binary","ElementDefinition.patternBoolean":"boolean","ElementDefinition.patternCanonical":"canonical","ElementDefinition.patternCode":"code","ElementDefinition.patternCodeableConcept":"CodeableConcept","ElementDefinition.patternCoding":"Coding","ElementDefinition.patternContactDetail":"ContactDetail","ElementDefinition.patternContactPoint":"ContactPoint","ElementDefinition.patternContributor":"Contributor","ElementDefinition.patternCount":"Count","ElementDefinition.patternDataRequirement":"DataRequirement","ElementDefinition.patternDate":"date","ElementDefinition.patternDateTime":"dateTime","ElementDefinition.patternDecimal":"decimal","ElementDefinition.patternDistance":"Distance","ElementDefinition.patternDosage":"Dosage","ElementDefinition.patternDuration":"Duration","ElementDefinition.patternExpression":"Expression","ElementDefinition.patternHumanName":"HumanName","ElementDefinition.patternId":"id","ElementDefinition.patternIdentifier":"Identifier","ElementDefinition.patternInstant":"instant","ElementDefinition.patternInteger":"integer","ElementDefinition.patternMarkdown":"markdown","ElementDefinition.patternMeta":"Meta","ElementDefinition.patternMoney":"Money","ElementDefinition.patternOid":"oid","ElementDefinition.patternParameterDefinition":"ParameterDefinition","ElementDefinition.patternPeriod":"Period","ElementDefinition.patternPositiveInt":"positiveInt","ElementDefinition.patternQuantity":"Quantity","ElementDefinition.patternRange":"Range","ElementDefinition.patternRatio":"Ratio","ElementDefinition.patternReference":"Reference","ElementDefinition.patternRelatedArtifact":"RelatedArtifact","ElementDefinition.patternSampledData":"SampledData","ElementDefinition.patternSignature":"Signature","ElementDefinition.patternString":"string","ElementDefinition.patternTime":"time","ElementDefinition.patternTiming":"Timing","ElementDefinition.patternTriggerDefinition":"TriggerDefinition","ElementDefinition.patternUnsignedInt":"unsignedInt","ElementDefinition.patternUri":"uri","ElementDefinition.patternUrl":"url","ElementDefinition.patternUsageContext":"UsageContext","ElementDefinition.patternUuid":"uuid","ElementDefinition.representation":"code","ElementDefinition.requirements":"markdown","ElementDefinition.short":"string","ElementDefinition.sliceIsConstraining":"boolean","ElementDefinition.sliceName":"string","ElementDefinition.slicing.description":"string","ElementDefinition.slicing.discriminator.extension":"Extension","ElementDefinition.slicing.discriminator.id":"System.String","ElementDefinition.slicing.discriminator.path":"string","ElementDefinition.slicing.discriminator.type":"code","ElementDefinition.slicing.extension":"Extension","ElementDefinition.slicing.id":"System.String","ElementDefinition.slicing.ordered":"boolean","ElementDefinition.slicing.rules":"code","ElementDefinition.type.aggregation":"code","ElementDefinition.type.code":"uri","ElementDefinition.type.extension":"Extension","ElementDefinition.type.id":"System.String","ElementDefinition.type.profile":"canonical","ElementDefinition.type.targetProfile":"canonical","ElementDefinition.type.versioning":"code","Encounter.account":"Reference","Encounter.appointment":"Reference","Encounter.basedOn":"Reference","Encounter.class":"Coding","Encounter.classHistory":"BackboneElement","Encounter.classHistory.class":"Coding","Encounter.classHistory.extension":"Extension","Encounter.classHistory.id":"System.String","Encounter.classHistory.modifierExtension":"Extension","Encounter.classHistory.period":"Period","Encounter.contained":"Resource","Encounter.diagnosis":"BackboneElement","Encounter.diagnosis.condition":"Reference","Encounter.diagnosis.extension":"Extension","Encounter.diagnosis.id":"System.String","Encounter.diagnosis.modifierExtension":"Extension","Encounter.diagnosis.rank":"positiveInt","Encounter.diagnosis.use":"CodeableConcept","Encounter.episodeOfCare":"Reference","Encounter.extension":"Extension","Encounter.hospitalization":"BackboneElement","Encounter.hospitalization.admitSource":"CodeableConcept","Encounter.hospitalization.destination":"Reference","Encounter.hospitalization.dietPreference":"CodeableConcept","Encounter.hospitalization.dischargeDisposition":"CodeableConcept","Encounter.hospitalization.extension":"Extension","Encounter.hospitalization.id":"System.String","Encounter.hospitalization.modifierExtension":"Extension","Encounter.hospitalization.origin":"Reference","Encounter.hospitalization.preAdmissionIdentifier":"Identifier","Encounter.hospitalization.reAdmission":"CodeableConcept","Encounter.hospitalization.specialArrangement":"CodeableConcept","Encounter.hospitalization.specialCourtesy":"CodeableConcept","Encounter.id":"System.String","Encounter.identifier":"Identifier","Encounter.implicitRules":"uri","Encounter.language":"code","Encounter.length":"Duration","Encounter.location":"BackboneElement","Encounter.location.extension":"Extension","Encounter.location.id":"System.String","Encounter.location.location":"Reference","Encounter.location.modifierExtension":"Extension","Encounter.location.period":"Period","Encounter.location.physicalType":"CodeableConcept","Encounter.location.status":"code","Encounter.meta":"Meta","Encounter.modifierExtension":"Extension","Encounter.partOf":"Reference","Encounter.participant":"BackboneElement","Encounter.participant.extension":"Extension","Encounter.participant.id":"System.String","Encounter.participant.individual":"Reference","Encounter.participant.modifierExtension":"Extension","Encounter.participant.period":"Period","Encounter.participant.type":"CodeableConcept","Encounter.period":"Period","Encounter.priority":"CodeableConcept","Encounter.reasonCode":"CodeableConcept","Encounter.reasonReference":"Reference","Encounter.serviceProvider":"Reference","Encounter.serviceType":"CodeableConcept","Encounter.status":"code","Encounter.statusHistory":"BackboneElement","Encounter.statusHistory.extension":"Extension","Encounter.statusHistory.id":"System.String","Encounter.statusHistory.modifierExtension":"Extension","Encounter.statusHistory.period":"Period","Encounter.statusHistory.status":"code","Encounter.subject":"Reference","Encounter.text":"Narrative","Encounter.type":"CodeableConcept","Endpoint.address":"url","Endpoint.connectionType":"Coding","Endpoint.contact":"ContactPoint","Endpoint.contained":"Resource","Endpoint.extension":"Extension","Endpoint.header":"string","Endpoint.id":"System.String","Endpoint.identifier":"Identifier","Endpoint.implicitRules":"uri","Endpoint.language":"code","Endpoint.managingOrganization":"Reference","Endpoint.meta":"Meta","Endpoint.modifierExtension":"Extension","Endpoint.name":"string","Endpoint.payloadMimeType":"code","Endpoint.payloadType":"CodeableConcept","Endpoint.period":"Period","Endpoint.status":"code","Endpoint.text":"Narrative","EnrollmentRequest.candidate":"Reference","EnrollmentRequest.contained":"Resource","EnrollmentRequest.coverage":"Reference","EnrollmentRequest.created":"dateTime","EnrollmentRequest.extension":"Extension","EnrollmentRequest.id":"System.String","EnrollmentRequest.identifier":"Identifier","EnrollmentRequest.implicitRules":"uri","EnrollmentRequest.insurer":"Reference","EnrollmentRequest.language":"code","EnrollmentRequest.meta":"Meta","EnrollmentRequest.modifierExtension":"Extension","EnrollmentRequest.provider":"Reference","EnrollmentRequest.status":"code","EnrollmentRequest.text":"Narrative","EnrollmentResponse.contained":"Resource","EnrollmentResponse.created":"dateTime","EnrollmentResponse.disposition":"string","EnrollmentResponse.extension":"Extension","EnrollmentResponse.id":"System.String","EnrollmentResponse.identifier":"Identifier","EnrollmentResponse.implicitRules":"uri","EnrollmentResponse.language":"code","EnrollmentResponse.meta":"Meta","EnrollmentResponse.modifierExtension":"Extension","EnrollmentResponse.organization":"Reference","EnrollmentResponse.outcome":"code","EnrollmentResponse.request":"Reference","EnrollmentResponse.requestProvider":"Reference","EnrollmentResponse.status":"code","EnrollmentResponse.text":"Narrative","EpisodeOfCare.account":"Reference","EpisodeOfCare.careManager":"Reference","EpisodeOfCare.contained":"Resource","EpisodeOfCare.diagnosis":"BackboneElement","EpisodeOfCare.diagnosis.condition":"Reference","EpisodeOfCare.diagnosis.extension":"Extension","EpisodeOfCare.diagnosis.id":"System.String","EpisodeOfCare.diagnosis.modifierExtension":"Extension","EpisodeOfCare.diagnosis.rank":"positiveInt","EpisodeOfCare.diagnosis.role":"CodeableConcept","EpisodeOfCare.extension":"Extension","EpisodeOfCare.id":"System.String","EpisodeOfCare.identifier":"Identifier","EpisodeOfCare.implicitRules":"uri","EpisodeOfCare.language":"code","EpisodeOfCare.managingOrganization":"Reference","EpisodeOfCare.meta":"Meta","EpisodeOfCare.modifierExtension":"Extension","EpisodeOfCare.patient":"Reference","EpisodeOfCare.period":"Period","EpisodeOfCare.referralRequest":"Reference","EpisodeOfCare.status":"code","EpisodeOfCare.statusHistory":"BackboneElement","EpisodeOfCare.statusHistory.extension":"Extension","EpisodeOfCare.statusHistory.id":"System.String","EpisodeOfCare.statusHistory.modifierExtension":"Extension","EpisodeOfCare.statusHistory.period":"Period","EpisodeOfCare.statusHistory.status":"code","EpisodeOfCare.team":"Reference","EpisodeOfCare.text":"Narrative","EpisodeOfCare.type":"CodeableConcept","EventDefinition.approvalDate":"date","EventDefinition.author":"ContactDetail","EventDefinition.contact":"ContactDetail","EventDefinition.contained":"Resource","EventDefinition.copyright":"markdown","EventDefinition.date":"dateTime","EventDefinition.description":"markdown","EventDefinition.editor":"ContactDetail","EventDefinition.effectivePeriod":"Period","EventDefinition.endorser":"ContactDetail","EventDefinition.experimental":"boolean","EventDefinition.extension":"Extension","EventDefinition.id":"System.String","EventDefinition.identifier":"Identifier","EventDefinition.implicitRules":"uri","EventDefinition.jurisdiction":"CodeableConcept","EventDefinition.language":"code","EventDefinition.lastReviewDate":"date","EventDefinition.meta":"Meta","EventDefinition.modifierExtension":"Extension","EventDefinition.name":"string","EventDefinition.publisher":"string","EventDefinition.purpose":"markdown","EventDefinition.relatedArtifact":"RelatedArtifact","EventDefinition.reviewer":"ContactDetail","EventDefinition.status":"code","EventDefinition.subjectCodeableConcept":"CodeableConcept","EventDefinition.subjectReference":"Reference","EventDefinition.subtitle":"string","EventDefinition.text":"Narrative","EventDefinition.title":"string","EventDefinition.topic":"CodeableConcept","EventDefinition.trigger":"TriggerDefinition","EventDefinition.url":"uri","EventDefinition.usage":"string","EventDefinition.useContext":"UsageContext","EventDefinition.version":"string","Evidence.approvalDate":"date","Evidence.author":"ContactDetail","Evidence.contact":"ContactDetail","Evidence.contained":"Resource","Evidence.copyright":"markdown","Evidence.date":"dateTime","Evidence.description":"markdown","Evidence.editor":"ContactDetail","Evidence.effectivePeriod":"Period","Evidence.endorser":"ContactDetail","Evidence.exposureBackground":"Reference","Evidence.exposureVariant":"Reference","Evidence.extension":"Extension","Evidence.id":"System.String","Evidence.identifier":"Identifier","Evidence.implicitRules":"uri","Evidence.jurisdiction":"CodeableConcept","Evidence.language":"code","Evidence.lastReviewDate":"date","Evidence.meta":"Meta","Evidence.modifierExtension":"Extension","Evidence.name":"string","Evidence.note":"Annotation","Evidence.outcome":"Reference","Evidence.publisher":"string","Evidence.relatedArtifact":"RelatedArtifact","Evidence.reviewer":"ContactDetail","Evidence.shortTitle":"string","Evidence.status":"code","Evidence.subtitle":"string","Evidence.text":"Narrative","Evidence.title":"string","Evidence.topic":"CodeableConcept","Evidence.url":"uri","Evidence.useContext":"UsageContext","Evidence.version":"string","EvidenceVariable.approvalDate":"date","EvidenceVariable.author":"ContactDetail","EvidenceVariable.characteristic":"BackboneElement","EvidenceVariable.characteristic.definitionCanonical":"canonical","EvidenceVariable.characteristic.definitionCodeableConcept":"CodeableConcept","EvidenceVariable.characteristic.definitionDataRequirement":"DataRequirement","EvidenceVariable.characteristic.definitionExpression":"Expression","EvidenceVariable.characteristic.definitionReference":"Reference","EvidenceVariable.characteristic.definitionTriggerDefinition":"TriggerDefinition","EvidenceVariable.characteristic.description":"string","EvidenceVariable.characteristic.exclude":"boolean","EvidenceVariable.characteristic.extension":"Extension","EvidenceVariable.characteristic.groupMeasure":"code","EvidenceVariable.characteristic.id":"System.String","EvidenceVariable.characteristic.modifierExtension":"Extension","EvidenceVariable.characteristic.participantEffectiveDateTime":"dateTime","EvidenceVariable.characteristic.participantEffectiveDuration":"Duration","EvidenceVariable.characteristic.participantEffectivePeriod":"Period","EvidenceVariable.characteristic.participantEffectiveTiming":"Timing","EvidenceVariable.characteristic.timeFromStart":"Duration","EvidenceVariable.characteristic.usageContext":"UsageContext","EvidenceVariable.contact":"ContactDetail","EvidenceVariable.contained":"Resource","EvidenceVariable.copyright":"markdown","EvidenceVariable.date":"dateTime","EvidenceVariable.description":"markdown","EvidenceVariable.editor":"ContactDetail","EvidenceVariable.effectivePeriod":"Period","EvidenceVariable.endorser":"ContactDetail","EvidenceVariable.extension":"Extension","EvidenceVariable.id":"System.String","EvidenceVariable.identifier":"Identifier","EvidenceVariable.implicitRules":"uri","EvidenceVariable.jurisdiction":"CodeableConcept","EvidenceVariable.language":"code","EvidenceVariable.lastReviewDate":"date","EvidenceVariable.meta":"Meta","EvidenceVariable.modifierExtension":"Extension","EvidenceVariable.name":"string","EvidenceVariable.note":"Annotation","EvidenceVariable.publisher":"string","EvidenceVariable.relatedArtifact":"RelatedArtifact","EvidenceVariable.reviewer":"ContactDetail","EvidenceVariable.shortTitle":"string","EvidenceVariable.status":"code","EvidenceVariable.subtitle":"string","EvidenceVariable.text":"Narrative","EvidenceVariable.title":"string","EvidenceVariable.topic":"CodeableConcept","EvidenceVariable.type":"code","EvidenceVariable.url":"uri","EvidenceVariable.useContext":"UsageContext","EvidenceVariable.version":"string","ExampleScenario.actor":"BackboneElement","ExampleScenario.actor.actorId":"string","ExampleScenario.actor.description":"markdown","ExampleScenario.actor.extension":"Extension","ExampleScenario.actor.id":"System.String","ExampleScenario.actor.modifierExtension":"Extension","ExampleScenario.actor.name":"string","ExampleScenario.actor.type":"code","ExampleScenario.contact":"ContactDetail","ExampleScenario.contained":"Resource","ExampleScenario.copyright":"markdown","ExampleScenario.date":"dateTime","ExampleScenario.experimental":"boolean","ExampleScenario.extension":"Extension","ExampleScenario.id":"System.String","ExampleScenario.identifier":"Identifier","ExampleScenario.implicitRules":"uri","ExampleScenario.instance":"BackboneElement","ExampleScenario.instance.containedInstance":"BackboneElement","ExampleScenario.instance.containedInstance.extension":"Extension","ExampleScenario.instance.containedInstance.id":"System.String","ExampleScenario.instance.containedInstance.modifierExtension":"Extension","ExampleScenario.instance.containedInstance.resourceId":"string","ExampleScenario.instance.containedInstance.versionId":"string","ExampleScenario.instance.description":"markdown","ExampleScenario.instance.extension":"Extension","ExampleScenario.instance.id":"System.String","ExampleScenario.instance.modifierExtension":"Extension","ExampleScenario.instance.name":"string","ExampleScenario.instance.resourceId":"string","ExampleScenario.instance.resourceType":"code","ExampleScenario.instance.version":"BackboneElement","ExampleScenario.instance.version.description":"markdown","ExampleScenario.instance.version.extension":"Extension","ExampleScenario.instance.version.id":"System.String","ExampleScenario.instance.version.modifierExtension":"Extension","ExampleScenario.instance.version.versionId":"string","ExampleScenario.jurisdiction":"CodeableConcept","ExampleScenario.language":"code","ExampleScenario.meta":"Meta","ExampleScenario.modifierExtension":"Extension","ExampleScenario.name":"string","ExampleScenario.process":"BackboneElement","ExampleScenario.process.description":"markdown","ExampleScenario.process.extension":"Extension","ExampleScenario.process.id":"System.String","ExampleScenario.process.modifierExtension":"Extension","ExampleScenario.process.postConditions":"markdown","ExampleScenario.process.preConditions":"markdown","ExampleScenario.process.step":"BackboneElement","ExampleScenario.process.step.alternative":"BackboneElement","ExampleScenario.process.step.alternative.description":"markdown","ExampleScenario.process.step.alternative.extension":"Extension","ExampleScenario.process.step.alternative.id":"System.String","ExampleScenario.process.step.alternative.modifierExtension":"Extension","ExampleScenario.process.step.alternative.title":"string","ExampleScenario.process.step.extension":"Extension","ExampleScenario.process.step.id":"System.String","ExampleScenario.process.step.modifierExtension":"Extension","ExampleScenario.process.step.operation":"BackboneElement","ExampleScenario.process.step.operation.description":"markdown","ExampleScenario.process.step.operation.extension":"Extension","ExampleScenario.process.step.operation.id":"System.String","ExampleScenario.process.step.operation.initiator":"string","ExampleScenario.process.step.operation.initiatorActive":"boolean","ExampleScenario.process.step.operation.modifierExtension":"Extension","ExampleScenario.process.step.operation.name":"string","ExampleScenario.process.step.operation.number":"string","ExampleScenario.process.step.operation.receiver":"string","ExampleScenario.process.step.operation.receiverActive":"boolean","ExampleScenario.process.step.operation.type":"string","ExampleScenario.process.step.pause":"boolean","ExampleScenario.process.title":"string","ExampleScenario.publisher":"string","ExampleScenario.purpose":"markdown","ExampleScenario.status":"code","ExampleScenario.text":"Narrative","ExampleScenario.url":"uri","ExampleScenario.useContext":"UsageContext","ExampleScenario.version":"string","ExampleScenario.workflow":"canonical","ExplanationOfBenefit.accident":"BackboneElement","ExplanationOfBenefit.accident.date":"date","ExplanationOfBenefit.accident.extension":"Extension","ExplanationOfBenefit.accident.id":"System.String","ExplanationOfBenefit.accident.locationAddress":"Address","ExplanationOfBenefit.accident.locationReference":"Reference","ExplanationOfBenefit.accident.modifierExtension":"Extension","ExplanationOfBenefit.accident.type":"CodeableConcept","ExplanationOfBenefit.addItem":"BackboneElement","ExplanationOfBenefit.addItem.bodySite":"CodeableConcept","ExplanationOfBenefit.addItem.detail":"BackboneElement","ExplanationOfBenefit.addItem.detail.extension":"Extension","ExplanationOfBenefit.addItem.detail.factor":"decimal","ExplanationOfBenefit.addItem.detail.id":"System.String","ExplanationOfBenefit.addItem.detail.modifier":"CodeableConcept","ExplanationOfBenefit.addItem.detail.modifierExtension":"Extension","ExplanationOfBenefit.addItem.detail.net":"Money","ExplanationOfBenefit.addItem.detail.noteNumber":"positiveInt","ExplanationOfBenefit.addItem.detail.productOrService":"CodeableConcept","ExplanationOfBenefit.addItem.detail.quantity":"Quantity","ExplanationOfBenefit.addItem.detail.subDetail":"BackboneElement","ExplanationOfBenefit.addItem.detail.subDetail.extension":"Extension","ExplanationOfBenefit.addItem.detail.subDetail.factor":"decimal","ExplanationOfBenefit.addItem.detail.subDetail.id":"System.String","ExplanationOfBenefit.addItem.detail.subDetail.modifier":"CodeableConcept","ExplanationOfBenefit.addItem.detail.subDetail.modifierExtension":"Extension","ExplanationOfBenefit.addItem.detail.subDetail.net":"Money","ExplanationOfBenefit.addItem.detail.subDetail.noteNumber":"positiveInt","ExplanationOfBenefit.addItem.detail.subDetail.productOrService":"CodeableConcept","ExplanationOfBenefit.addItem.detail.subDetail.quantity":"Quantity","ExplanationOfBenefit.addItem.detail.subDetail.unitPrice":"Money","ExplanationOfBenefit.addItem.detail.unitPrice":"Money","ExplanationOfBenefit.addItem.detailSequence":"positiveInt","ExplanationOfBenefit.addItem.extension":"Extension","ExplanationOfBenefit.addItem.factor":"decimal","ExplanationOfBenefit.addItem.id":"System.String","ExplanationOfBenefit.addItem.itemSequence":"positiveInt","ExplanationOfBenefit.addItem.locationAddress":"Address","ExplanationOfBenefit.addItem.locationCodeableConcept":"CodeableConcept","ExplanationOfBenefit.addItem.locationReference":"Reference","ExplanationOfBenefit.addItem.modifier":"CodeableConcept","ExplanationOfBenefit.addItem.modifierExtension":"Extension","ExplanationOfBenefit.addItem.net":"Money","ExplanationOfBenefit.addItem.noteNumber":"positiveInt","ExplanationOfBenefit.addItem.productOrService":"CodeableConcept","ExplanationOfBenefit.addItem.programCode":"CodeableConcept","ExplanationOfBenefit.addItem.provider":"Reference","ExplanationOfBenefit.addItem.quantity":"Quantity","ExplanationOfBenefit.addItem.servicedDate":"date","ExplanationOfBenefit.addItem.servicedPeriod":"Period","ExplanationOfBenefit.addItem.subDetailSequence":"positiveInt","ExplanationOfBenefit.addItem.subSite":"CodeableConcept","ExplanationOfBenefit.addItem.unitPrice":"Money","ExplanationOfBenefit.benefitBalance":"BackboneElement","ExplanationOfBenefit.benefitBalance.category":"CodeableConcept","ExplanationOfBenefit.benefitBalance.description":"string","ExplanationOfBenefit.benefitBalance.excluded":"boolean","ExplanationOfBenefit.benefitBalance.extension":"Extension","ExplanationOfBenefit.benefitBalance.financial":"BackboneElement","ExplanationOfBenefit.benefitBalance.financial.allowedMoney":"Money","ExplanationOfBenefit.benefitBalance.financial.allowedString":"string","ExplanationOfBenefit.benefitBalance.financial.allowedUnsignedInt":"unsignedInt","ExplanationOfBenefit.benefitBalance.financial.extension":"Extension","ExplanationOfBenefit.benefitBalance.financial.id":"System.String","ExplanationOfBenefit.benefitBalance.financial.modifierExtension":"Extension","ExplanationOfBenefit.benefitBalance.financial.type":"CodeableConcept","ExplanationOfBenefit.benefitBalance.financial.usedMoney":"Money","ExplanationOfBenefit.benefitBalance.financial.usedUnsignedInt":"unsignedInt","ExplanationOfBenefit.benefitBalance.id":"System.String","ExplanationOfBenefit.benefitBalance.modifierExtension":"Extension","ExplanationOfBenefit.benefitBalance.name":"string","ExplanationOfBenefit.benefitBalance.network":"CodeableConcept","ExplanationOfBenefit.benefitBalance.term":"CodeableConcept","ExplanationOfBenefit.benefitBalance.unit":"CodeableConcept","ExplanationOfBenefit.benefitPeriod":"Period","ExplanationOfBenefit.billablePeriod":"Period","ExplanationOfBenefit.careTeam":"BackboneElement","ExplanationOfBenefit.careTeam.extension":"Extension","ExplanationOfBenefit.careTeam.id":"System.String","ExplanationOfBenefit.careTeam.modifierExtension":"Extension","ExplanationOfBenefit.careTeam.provider":"Reference","ExplanationOfBenefit.careTeam.qualification":"CodeableConcept","ExplanationOfBenefit.careTeam.responsible":"boolean","ExplanationOfBenefit.careTeam.role":"CodeableConcept","ExplanationOfBenefit.careTeam.sequence":"positiveInt","ExplanationOfBenefit.claim":"Reference","ExplanationOfBenefit.claimResponse":"Reference","ExplanationOfBenefit.contained":"Resource","ExplanationOfBenefit.created":"dateTime","ExplanationOfBenefit.diagnosis":"BackboneElement","ExplanationOfBenefit.diagnosis.diagnosisCodeableConcept":"CodeableConcept","ExplanationOfBenefit.diagnosis.diagnosisReference":"Reference","ExplanationOfBenefit.diagnosis.extension":"Extension","ExplanationOfBenefit.diagnosis.id":"System.String","ExplanationOfBenefit.diagnosis.modifierExtension":"Extension","ExplanationOfBenefit.diagnosis.onAdmission":"CodeableConcept","ExplanationOfBenefit.diagnosis.packageCode":"CodeableConcept","ExplanationOfBenefit.diagnosis.sequence":"positiveInt","ExplanationOfBenefit.diagnosis.type":"CodeableConcept","ExplanationOfBenefit.disposition":"string","ExplanationOfBenefit.enterer":"Reference","ExplanationOfBenefit.extension":"Extension","ExplanationOfBenefit.facility":"Reference","ExplanationOfBenefit.form":"Attachment","ExplanationOfBenefit.formCode":"CodeableConcept","ExplanationOfBenefit.fundsReserve":"CodeableConcept","ExplanationOfBenefit.fundsReserveRequested":"CodeableConcept","ExplanationOfBenefit.id":"System.String","ExplanationOfBenefit.identifier":"Identifier","ExplanationOfBenefit.implicitRules":"uri","ExplanationOfBenefit.insurance":"BackboneElement","ExplanationOfBenefit.insurance.coverage":"Reference","ExplanationOfBenefit.insurance.extension":"Extension","ExplanationOfBenefit.insurance.focal":"boolean","ExplanationOfBenefit.insurance.id":"System.String","ExplanationOfBenefit.insurance.modifierExtension":"Extension","ExplanationOfBenefit.insurance.preAuthRef":"string","ExplanationOfBenefit.insurer":"Reference","ExplanationOfBenefit.item":"BackboneElement","ExplanationOfBenefit.item.adjudication":"BackboneElement","ExplanationOfBenefit.item.adjudication.amount":"Money","ExplanationOfBenefit.item.adjudication.category":"CodeableConcept","ExplanationOfBenefit.item.adjudication.extension":"Extension","ExplanationOfBenefit.item.adjudication.id":"System.String","ExplanationOfBenefit.item.adjudication.modifierExtension":"Extension","ExplanationOfBenefit.item.adjudication.reason":"CodeableConcept","ExplanationOfBenefit.item.adjudication.value":"decimal","ExplanationOfBenefit.item.bodySite":"CodeableConcept","ExplanationOfBenefit.item.careTeamSequence":"positiveInt","ExplanationOfBenefit.item.category":"CodeableConcept","ExplanationOfBenefit.item.detail":"BackboneElement","ExplanationOfBenefit.item.detail.category":"CodeableConcept","ExplanationOfBenefit.item.detail.extension":"Extension","ExplanationOfBenefit.item.detail.factor":"decimal","ExplanationOfBenefit.item.detail.id":"System.String","ExplanationOfBenefit.item.detail.modifier":"CodeableConcept","ExplanationOfBenefit.item.detail.modifierExtension":"Extension","ExplanationOfBenefit.item.detail.net":"Money","ExplanationOfBenefit.item.detail.noteNumber":"positiveInt","ExplanationOfBenefit.item.detail.productOrService":"CodeableConcept","ExplanationOfBenefit.item.detail.programCode":"CodeableConcept","ExplanationOfBenefit.item.detail.quantity":"Quantity","ExplanationOfBenefit.item.detail.revenue":"CodeableConcept","ExplanationOfBenefit.item.detail.sequence":"positiveInt","ExplanationOfBenefit.item.detail.subDetail":"BackboneElement","ExplanationOfBenefit.item.detail.subDetail.category":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.extension":"Extension","ExplanationOfBenefit.item.detail.subDetail.factor":"decimal","ExplanationOfBenefit.item.detail.subDetail.id":"System.String","ExplanationOfBenefit.item.detail.subDetail.modifier":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.modifierExtension":"Extension","ExplanationOfBenefit.item.detail.subDetail.net":"Money","ExplanationOfBenefit.item.detail.subDetail.noteNumber":"positiveInt","ExplanationOfBenefit.item.detail.subDetail.productOrService":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.programCode":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.quantity":"Quantity","ExplanationOfBenefit.item.detail.subDetail.revenue":"CodeableConcept","ExplanationOfBenefit.item.detail.subDetail.sequence":"positiveInt","ExplanationOfBenefit.item.detail.subDetail.udi":"Reference","ExplanationOfBenefit.item.detail.subDetail.unitPrice":"Money","ExplanationOfBenefit.item.detail.udi":"Reference","ExplanationOfBenefit.item.detail.unitPrice":"Money","ExplanationOfBenefit.item.diagnosisSequence":"positiveInt","ExplanationOfBenefit.item.encounter":"Reference","ExplanationOfBenefit.item.extension":"Extension","ExplanationOfBenefit.item.factor":"decimal","ExplanationOfBenefit.item.id":"System.String","ExplanationOfBenefit.item.informationSequence":"positiveInt","ExplanationOfBenefit.item.locationAddress":"Address","ExplanationOfBenefit.item.locationCodeableConcept":"CodeableConcept","ExplanationOfBenefit.item.locationReference":"Reference","ExplanationOfBenefit.item.modifier":"CodeableConcept","ExplanationOfBenefit.item.modifierExtension":"Extension","ExplanationOfBenefit.item.net":"Money","ExplanationOfBenefit.item.noteNumber":"positiveInt","ExplanationOfBenefit.item.procedureSequence":"positiveInt","ExplanationOfBenefit.item.productOrService":"CodeableConcept","ExplanationOfBenefit.item.programCode":"CodeableConcept","ExplanationOfBenefit.item.quantity":"Quantity","ExplanationOfBenefit.item.revenue":"CodeableConcept","ExplanationOfBenefit.item.sequence":"positiveInt","ExplanationOfBenefit.item.servicedDate":"date","ExplanationOfBenefit.item.servicedPeriod":"Period","ExplanationOfBenefit.item.subSite":"CodeableConcept","ExplanationOfBenefit.item.udi":"Reference","ExplanationOfBenefit.item.unitPrice":"Money","ExplanationOfBenefit.language":"code","ExplanationOfBenefit.meta":"Meta","ExplanationOfBenefit.modifierExtension":"Extension","ExplanationOfBenefit.originalPrescription":"Reference","ExplanationOfBenefit.outcome":"code","ExplanationOfBenefit.patient":"Reference","ExplanationOfBenefit.payee":"BackboneElement","ExplanationOfBenefit.payee.extension":"Extension","ExplanationOfBenefit.payee.id":"System.String","ExplanationOfBenefit.payee.modifierExtension":"Extension","ExplanationOfBenefit.payee.party":"Reference","ExplanationOfBenefit.payee.type":"CodeableConcept","ExplanationOfBenefit.payment":"BackboneElement","ExplanationOfBenefit.payment.adjustment":"Money","ExplanationOfBenefit.payment.adjustmentReason":"CodeableConcept","ExplanationOfBenefit.payment.amount":"Money","ExplanationOfBenefit.payment.date":"date","ExplanationOfBenefit.payment.extension":"Extension","ExplanationOfBenefit.payment.id":"System.String","ExplanationOfBenefit.payment.identifier":"Identifier","ExplanationOfBenefit.payment.modifierExtension":"Extension","ExplanationOfBenefit.payment.type":"CodeableConcept","ExplanationOfBenefit.preAuthRef":"string","ExplanationOfBenefit.preAuthRefPeriod":"Period","ExplanationOfBenefit.precedence":"positiveInt","ExplanationOfBenefit.prescription":"Reference","ExplanationOfBenefit.priority":"CodeableConcept","ExplanationOfBenefit.procedure":"BackboneElement","ExplanationOfBenefit.procedure.date":"dateTime","ExplanationOfBenefit.procedure.extension":"Extension","ExplanationOfBenefit.procedure.id":"System.String","ExplanationOfBenefit.procedure.modifierExtension":"Extension","ExplanationOfBenefit.procedure.procedureCodeableConcept":"CodeableConcept","ExplanationOfBenefit.procedure.procedureReference":"Reference","ExplanationOfBenefit.procedure.sequence":"positiveInt","ExplanationOfBenefit.procedure.type":"CodeableConcept","ExplanationOfBenefit.procedure.udi":"Reference","ExplanationOfBenefit.processNote":"BackboneElement","ExplanationOfBenefit.processNote.extension":"Extension","ExplanationOfBenefit.processNote.id":"System.String","ExplanationOfBenefit.processNote.language":"CodeableConcept","ExplanationOfBenefit.processNote.modifierExtension":"Extension","ExplanationOfBenefit.processNote.number":"positiveInt","ExplanationOfBenefit.processNote.text":"string","ExplanationOfBenefit.processNote.type":"code","ExplanationOfBenefit.provider":"Reference","ExplanationOfBenefit.referral":"Reference","ExplanationOfBenefit.related":"BackboneElement","ExplanationOfBenefit.related.claim":"Reference","ExplanationOfBenefit.related.extension":"Extension","ExplanationOfBenefit.related.id":"System.String","ExplanationOfBenefit.related.modifierExtension":"Extension","ExplanationOfBenefit.related.reference":"Identifier","ExplanationOfBenefit.related.relationship":"CodeableConcept","ExplanationOfBenefit.status":"code","ExplanationOfBenefit.subType":"CodeableConcept","ExplanationOfBenefit.supportingInfo":"BackboneElement","ExplanationOfBenefit.supportingInfo.category":"CodeableConcept","ExplanationOfBenefit.supportingInfo.code":"CodeableConcept","ExplanationOfBenefit.supportingInfo.extension":"Extension","ExplanationOfBenefit.supportingInfo.id":"System.String","ExplanationOfBenefit.supportingInfo.modifierExtension":"Extension","ExplanationOfBenefit.supportingInfo.reason":"Coding","ExplanationOfBenefit.supportingInfo.sequence":"positiveInt","ExplanationOfBenefit.supportingInfo.timingDate":"date","ExplanationOfBenefit.supportingInfo.timingPeriod":"Period","ExplanationOfBenefit.supportingInfo.valueAttachment":"Attachment","ExplanationOfBenefit.supportingInfo.valueBoolean":"boolean","ExplanationOfBenefit.supportingInfo.valueQuantity":"Quantity","ExplanationOfBenefit.supportingInfo.valueReference":"Reference","ExplanationOfBenefit.supportingInfo.valueString":"string","ExplanationOfBenefit.text":"Narrative","ExplanationOfBenefit.total":"BackboneElement","ExplanationOfBenefit.total.amount":"Money","ExplanationOfBenefit.total.category":"CodeableConcept","ExplanationOfBenefit.total.extension":"Extension","ExplanationOfBenefit.total.id":"System.String","ExplanationOfBenefit.total.modifierExtension":"Extension","ExplanationOfBenefit.type":"CodeableConcept","ExplanationOfBenefit.use":"code","Expression.description":"string","Expression.expression":"string","Expression.extension":"Extension","Expression.id":"System.String","Expression.language":"code","Expression.name":"id","Expression.reference":"uri","Extension.extension":"Extension","Extension.id":"System.String","Extension.url":"System.String","Extension.valueAddress":"Address","Extension.valueAge":"Age","Extension.valueAnnotation":"Annotation","Extension.valueAttachment":"Attachment","Extension.valueBase64Binary":"base64Binary","Extension.valueBoolean":"boolean","Extension.valueCanonical":"canonical","Extension.valueCode":"code","Extension.valueCodeableConcept":"CodeableConcept","Extension.valueCoding":"Coding","Extension.valueContactDetail":"ContactDetail","Extension.valueContactPoint":"ContactPoint","Extension.valueContributor":"Contributor","Extension.valueCount":"Count","Extension.valueDataRequirement":"DataRequirement","Extension.valueDate":"date","Extension.valueDateTime":"dateTime","Extension.valueDecimal":"decimal","Extension.valueDistance":"Distance","Extension.valueDosage":"Dosage","Extension.valueDuration":"Duration","Extension.valueExpression":"Expression","Extension.valueHumanName":"HumanName","Extension.valueId":"id","Extension.valueIdentifier":"Identifier","Extension.valueInstant":"instant","Extension.valueInteger":"integer","Extension.valueMarkdown":"markdown","Extension.valueMeta":"Meta","Extension.valueMoney":"Money","Extension.valueOid":"oid","Extension.valueParameterDefinition":"ParameterDefinition","Extension.valuePeriod":"Period","Extension.valuePositiveInt":"positiveInt","Extension.valueQuantity":"Quantity","Extension.valueRange":"Range","Extension.valueRatio":"Ratio","Extension.valueReference":"Reference","Extension.valueRelatedArtifact":"RelatedArtifact","Extension.valueSampledData":"SampledData","Extension.valueSignature":"Signature","Extension.valueString":"string","Extension.valueTime":"time","Extension.valueTiming":"Timing","Extension.valueTriggerDefinition":"TriggerDefinition","Extension.valueUnsignedInt":"unsignedInt","Extension.valueUri":"uri","Extension.valueUrl":"url","Extension.valueUsageContext":"UsageContext","Extension.valueUuid":"uuid","FamilyMemberHistory.ageAge":"Age","FamilyMemberHistory.ageRange":"Range","FamilyMemberHistory.ageString":"string","FamilyMemberHistory.bornDate":"date","FamilyMemberHistory.bornPeriod":"Period","FamilyMemberHistory.bornString":"string","FamilyMemberHistory.condition":"BackboneElement","FamilyMemberHistory.condition.code":"CodeableConcept","FamilyMemberHistory.condition.contributedToDeath":"boolean","FamilyMemberHistory.condition.extension":"Extension","FamilyMemberHistory.condition.id":"System.String","FamilyMemberHistory.condition.modifierExtension":"Extension","FamilyMemberHistory.condition.note":"Annotation","FamilyMemberHistory.condition.onsetAge":"Age","FamilyMemberHistory.condition.onsetPeriod":"Period","FamilyMemberHistory.condition.onsetRange":"Range","FamilyMemberHistory.condition.onsetString":"string","FamilyMemberHistory.condition.outcome":"CodeableConcept","FamilyMemberHistory.contained":"Resource","FamilyMemberHistory.dataAbsentReason":"CodeableConcept","FamilyMemberHistory.date":"dateTime","FamilyMemberHistory.deceasedAge":"Age","FamilyMemberHistory.deceasedBoolean":"boolean","FamilyMemberHistory.deceasedDate":"date","FamilyMemberHistory.deceasedRange":"Range","FamilyMemberHistory.deceasedString":"string","FamilyMemberHistory.estimatedAge":"boolean","FamilyMemberHistory.extension":"Extension","FamilyMemberHistory.id":"System.String","FamilyMemberHistory.identifier":"Identifier","FamilyMemberHistory.implicitRules":"uri","FamilyMemberHistory.instantiatesCanonical":"canonical","FamilyMemberHistory.instantiatesUri":"uri","FamilyMemberHistory.language":"code","FamilyMemberHistory.meta":"Meta","FamilyMemberHistory.modifierExtension":"Extension","FamilyMemberHistory.name":"string","FamilyMemberHistory.note":"Annotation","FamilyMemberHistory.patient":"Reference","FamilyMemberHistory.reasonCode":"CodeableConcept","FamilyMemberHistory.reasonReference":"Reference","FamilyMemberHistory.relationship":"CodeableConcept","FamilyMemberHistory.sex":"CodeableConcept","FamilyMemberHistory.status":"code","FamilyMemberHistory.text":"Narrative","Flag.author":"Reference","Flag.category":"CodeableConcept","Flag.code":"CodeableConcept","Flag.contained":"Resource","Flag.encounter":"Reference","Flag.extension":"Extension","Flag.id":"System.String","Flag.identifier":"Identifier","Flag.implicitRules":"uri","Flag.language":"code","Flag.meta":"Meta","Flag.modifierExtension":"Extension","Flag.period":"Period","Flag.status":"code","Flag.subject":"Reference","Flag.text":"Narrative","Goal.achievementStatus":"CodeableConcept","Goal.addresses":"Reference","Goal.category":"CodeableConcept","Goal.contained":"Resource","Goal.description":"CodeableConcept","Goal.expressedBy":"Reference","Goal.extension":"Extension","Goal.id":"System.String","Goal.identifier":"Identifier","Goal.implicitRules":"uri","Goal.language":"code","Goal.lifecycleStatus":"code","Goal.meta":"Meta","Goal.modifierExtension":"Extension","Goal.note":"Annotation","Goal.outcomeCode":"CodeableConcept","Goal.outcomeReference":"Reference","Goal.priority":"CodeableConcept","Goal.startCodeableConcept":"CodeableConcept","Goal.startDate":"date","Goal.statusDate":"date","Goal.statusReason":"string","Goal.subject":"Reference","Goal.target":"BackboneElement","Goal.target.detailBoolean":"boolean","Goal.target.detailCodeableConcept":"CodeableConcept","Goal.target.detailInteger":"integer","Goal.target.detailQuantity":"Quantity","Goal.target.detailRange":"Range","Goal.target.detailRatio":"Ratio","Goal.target.detailString":"string","Goal.target.dueDate":"date","Goal.target.dueDuration":"Duration","Goal.target.extension":"Extension","Goal.target.id":"System.String","Goal.target.measure":"CodeableConcept","Goal.target.modifierExtension":"Extension","Goal.text":"Narrative","GraphDefinition.contact":"ContactDetail","GraphDefinition.contained":"Resource","GraphDefinition.date":"dateTime","GraphDefinition.description":"markdown","GraphDefinition.experimental":"boolean","GraphDefinition.extension":"Extension","GraphDefinition.id":"System.String","GraphDefinition.implicitRules":"uri","GraphDefinition.jurisdiction":"CodeableConcept","GraphDefinition.language":"code","GraphDefinition.link":"BackboneElement","GraphDefinition.link.description":"string","GraphDefinition.link.extension":"Extension","GraphDefinition.link.id":"System.String","GraphDefinition.link.max":"string","GraphDefinition.link.min":"integer","GraphDefinition.link.modifierExtension":"Extension","GraphDefinition.link.path":"string","GraphDefinition.link.sliceName":"string","GraphDefinition.link.target":"BackboneElement","GraphDefinition.link.target.compartment":"BackboneElement","GraphDefinition.link.target.compartment.code":"code","GraphDefinition.link.target.compartment.description":"string","GraphDefinition.link.target.compartment.expression":"string","GraphDefinition.link.target.compartment.extension":"Extension","GraphDefinition.link.target.compartment.id":"System.String","GraphDefinition.link.target.compartment.modifierExtension":"Extension","GraphDefinition.link.target.compartment.rule":"code","GraphDefinition.link.target.compartment.use":"code","GraphDefinition.link.target.extension":"Extension","GraphDefinition.link.target.id":"System.String","GraphDefinition.link.target.modifierExtension":"Extension","GraphDefinition.link.target.params":"string","GraphDefinition.link.target.profile":"canonical","GraphDefinition.link.target.type":"code","GraphDefinition.meta":"Meta","GraphDefinition.modifierExtension":"Extension","GraphDefinition.name":"string","GraphDefinition.profile":"canonical","GraphDefinition.publisher":"string","GraphDefinition.purpose":"markdown","GraphDefinition.start":"code","GraphDefinition.status":"code","GraphDefinition.text":"Narrative","GraphDefinition.url":"uri","GraphDefinition.useContext":"UsageContext","GraphDefinition.version":"string","Group.active":"boolean","Group.actual":"boolean","Group.characteristic":"BackboneElement","Group.characteristic.code":"CodeableConcept","Group.characteristic.exclude":"boolean","Group.characteristic.extension":"Extension","Group.characteristic.id":"System.String","Group.characteristic.modifierExtension":"Extension","Group.characteristic.period":"Period","Group.characteristic.valueBoolean":"boolean","Group.characteristic.valueCodeableConcept":"CodeableConcept","Group.characteristic.valueQuantity":"Quantity","Group.characteristic.valueRange":"Range","Group.characteristic.valueReference":"Reference","Group.code":"CodeableConcept","Group.contained":"Resource","Group.extension":"Extension","Group.id":"System.String","Group.identifier":"Identifier","Group.implicitRules":"uri","Group.language":"code","Group.managingEntity":"Reference","Group.member":"BackboneElement","Group.member.entity":"Reference","Group.member.extension":"Extension","Group.member.id":"System.String","Group.member.inactive":"boolean","Group.member.modifierExtension":"Extension","Group.member.period":"Period","Group.meta":"Meta","Group.modifierExtension":"Extension","Group.name":"string","Group.quantity":"unsignedInt","Group.text":"Narrative","Group.type":"code","GuidanceResponse.contained":"Resource","GuidanceResponse.dataRequirement":"DataRequirement","GuidanceResponse.encounter":"Reference","GuidanceResponse.evaluationMessage":"Reference","GuidanceResponse.extension":"Extension","GuidanceResponse.id":"System.String","GuidanceResponse.identifier":"Identifier","GuidanceResponse.implicitRules":"uri","GuidanceResponse.language":"code","GuidanceResponse.meta":"Meta","GuidanceResponse.modifierExtension":"Extension","GuidanceResponse.moduleCanonical":"canonical","GuidanceResponse.moduleCodeableConcept":"CodeableConcept","GuidanceResponse.moduleUri":"uri","GuidanceResponse.note":"Annotation","GuidanceResponse.occurrenceDateTime":"dateTime","GuidanceResponse.outputParameters":"Reference","GuidanceResponse.performer":"Reference","GuidanceResponse.reasonCode":"CodeableConcept","GuidanceResponse.reasonReference":"Reference","GuidanceResponse.requestIdentifier":"Identifier","GuidanceResponse.result":"Reference","GuidanceResponse.status":"code","GuidanceResponse.subject":"Reference","GuidanceResponse.text":"Narrative","HealthcareService.active":"boolean","HealthcareService.appointmentRequired":"boolean","HealthcareService.availabilityExceptions":"string","HealthcareService.availableTime":"BackboneElement","HealthcareService.availableTime.allDay":"boolean","HealthcareService.availableTime.availableEndTime":"time","HealthcareService.availableTime.availableStartTime":"time","HealthcareService.availableTime.daysOfWeek":"code","HealthcareService.availableTime.extension":"Extension","HealthcareService.availableTime.id":"System.String","HealthcareService.availableTime.modifierExtension":"Extension","HealthcareService.category":"CodeableConcept","HealthcareService.characteristic":"CodeableConcept","HealthcareService.comment":"string","HealthcareService.communication":"CodeableConcept","HealthcareService.contained":"Resource","HealthcareService.coverageArea":"Reference","HealthcareService.eligibility":"BackboneElement","HealthcareService.eligibility.code":"CodeableConcept","HealthcareService.eligibility.comment":"markdown","HealthcareService.eligibility.extension":"Extension","HealthcareService.eligibility.id":"System.String","HealthcareService.eligibility.modifierExtension":"Extension","HealthcareService.endpoint":"Reference","HealthcareService.extension":"Extension","HealthcareService.extraDetails":"markdown","HealthcareService.id":"System.String","HealthcareService.identifier":"Identifier","HealthcareService.implicitRules":"uri","HealthcareService.language":"code","HealthcareService.location":"Reference","HealthcareService.meta":"Meta","HealthcareService.modifierExtension":"Extension","HealthcareService.name":"string","HealthcareService.notAvailable":"BackboneElement","HealthcareService.notAvailable.description":"string","HealthcareService.notAvailable.during":"Period","HealthcareService.notAvailable.extension":"Extension","HealthcareService.notAvailable.id":"System.String","HealthcareService.notAvailable.modifierExtension":"Extension","HealthcareService.photo":"Attachment","HealthcareService.program":"CodeableConcept","HealthcareService.providedBy":"Reference","HealthcareService.referralMethod":"CodeableConcept","HealthcareService.serviceProvisionCode":"CodeableConcept","HealthcareService.specialty":"CodeableConcept","HealthcareService.telecom":"ContactPoint","HealthcareService.text":"Narrative","HealthcareService.type":"CodeableConcept","HumanName.extension":"Extension","HumanName.family":"string","HumanName.given":"string","HumanName.id":"System.String","HumanName.period":"Period","HumanName.prefix":"string","HumanName.suffix":"string","HumanName.text":"string","HumanName.use":"code","Identifier.assigner":"Reference","Identifier.extension":"Extension","Identifier.id":"System.String","Identifier.period":"Period","Identifier.system":"uri","Identifier.type":"CodeableConcept","Identifier.use":"code","Identifier.value":"string","ImagingStudy.basedOn":"Reference","ImagingStudy.contained":"Resource","ImagingStudy.description":"string","ImagingStudy.encounter":"Reference","ImagingStudy.endpoint":"Reference","ImagingStudy.extension":"Extension","ImagingStudy.id":"System.String","ImagingStudy.identifier":"Identifier","ImagingStudy.implicitRules":"uri","ImagingStudy.interpreter":"Reference","ImagingStudy.language":"code","ImagingStudy.location":"Reference","ImagingStudy.meta":"Meta","ImagingStudy.modality":"Coding","ImagingStudy.modifierExtension":"Extension","ImagingStudy.note":"Annotation","ImagingStudy.numberOfInstances":"unsignedInt","ImagingStudy.numberOfSeries":"unsignedInt","ImagingStudy.procedureCode":"CodeableConcept","ImagingStudy.procedureReference":"Reference","ImagingStudy.reasonCode":"CodeableConcept","ImagingStudy.reasonReference":"Reference","ImagingStudy.referrer":"Reference","ImagingStudy.series":"BackboneElement","ImagingStudy.series.bodySite":"Coding","ImagingStudy.series.description":"string","ImagingStudy.series.endpoint":"Reference","ImagingStudy.series.extension":"Extension","ImagingStudy.series.id":"System.String","ImagingStudy.series.instance":"BackboneElement","ImagingStudy.series.instance.extension":"Extension","ImagingStudy.series.instance.id":"System.String","ImagingStudy.series.instance.modifierExtension":"Extension","ImagingStudy.series.instance.number":"unsignedInt","ImagingStudy.series.instance.sopClass":"Coding","ImagingStudy.series.instance.title":"string","ImagingStudy.series.instance.uid":"id","ImagingStudy.series.laterality":"Coding","ImagingStudy.series.modality":"Coding","ImagingStudy.series.modifierExtension":"Extension","ImagingStudy.series.number":"unsignedInt","ImagingStudy.series.numberOfInstances":"unsignedInt","ImagingStudy.series.performer":"BackboneElement","ImagingStudy.series.performer.actor":"Reference","ImagingStudy.series.performer.extension":"Extension","ImagingStudy.series.performer.function":"CodeableConcept","ImagingStudy.series.performer.id":"System.String","ImagingStudy.series.performer.modifierExtension":"Extension","ImagingStudy.series.specimen":"Reference","ImagingStudy.series.started":"dateTime","ImagingStudy.series.uid":"id","ImagingStudy.started":"dateTime","ImagingStudy.status":"code","ImagingStudy.subject":"Reference","ImagingStudy.text":"Narrative","Immunization.contained":"Resource","Immunization.doseQuantity":"Quantity","Immunization.education":"BackboneElement","Immunization.education.documentType":"string","Immunization.education.extension":"Extension","Immunization.education.id":"System.String","Immunization.education.modifierExtension":"Extension","Immunization.education.presentationDate":"dateTime","Immunization.education.publicationDate":"dateTime","Immunization.education.reference":"uri","Immunization.encounter":"Reference","Immunization.expirationDate":"date","Immunization.extension":"Extension","Immunization.fundingSource":"CodeableConcept","Immunization.id":"System.String","Immunization.identifier":"Identifier","Immunization.implicitRules":"uri","Immunization.isSubpotent":"boolean","Immunization.language":"code","Immunization.location":"Reference","Immunization.lotNumber":"string","Immunization.manufacturer":"Reference","Immunization.meta":"Meta","Immunization.modifierExtension":"Extension","Immunization.note":"Annotation","Immunization.occurrenceDateTime":"dateTime","Immunization.occurrenceString":"string","Immunization.patient":"Reference","Immunization.performer":"BackboneElement","Immunization.performer.actor":"Reference","Immunization.performer.extension":"Extension","Immunization.performer.function":"CodeableConcept","Immunization.performer.id":"System.String","Immunization.performer.modifierExtension":"Extension","Immunization.primarySource":"boolean","Immunization.programEligibility":"CodeableConcept","Immunization.protocolApplied":"BackboneElement","Immunization.protocolApplied.authority":"Reference","Immunization.protocolApplied.doseNumberPositiveInt":"positiveInt","Immunization.protocolApplied.doseNumberString":"string","Immunization.protocolApplied.extension":"Extension","Immunization.protocolApplied.id":"System.String","Immunization.protocolApplied.modifierExtension":"Extension","Immunization.protocolApplied.series":"string","Immunization.protocolApplied.seriesDosesPositiveInt":"positiveInt","Immunization.protocolApplied.seriesDosesString":"string","Immunization.protocolApplied.targetDisease":"CodeableConcept","Immunization.reaction":"BackboneElement","Immunization.reaction.date":"dateTime","Immunization.reaction.detail":"Reference","Immunization.reaction.extension":"Extension","Immunization.reaction.id":"System.String","Immunization.reaction.modifierExtension":"Extension","Immunization.reaction.reported":"boolean","Immunization.reasonCode":"CodeableConcept","Immunization.reasonReference":"Reference","Immunization.recorded":"dateTime","Immunization.reportOrigin":"CodeableConcept","Immunization.route":"CodeableConcept","Immunization.site":"CodeableConcept","Immunization.status":"code","Immunization.statusReason":"CodeableConcept","Immunization.subpotentReason":"CodeableConcept","Immunization.text":"Narrative","Immunization.vaccineCode":"CodeableConcept","ImmunizationEvaluation.authority":"Reference","ImmunizationEvaluation.contained":"Resource","ImmunizationEvaluation.date":"dateTime","ImmunizationEvaluation.description":"string","ImmunizationEvaluation.doseNumberPositiveInt":"positiveInt","ImmunizationEvaluation.doseNumberString":"string","ImmunizationEvaluation.doseStatus":"CodeableConcept","ImmunizationEvaluation.doseStatusReason":"CodeableConcept","ImmunizationEvaluation.extension":"Extension","ImmunizationEvaluation.id":"System.String","ImmunizationEvaluation.identifier":"Identifier","ImmunizationEvaluation.immunizationEvent":"Reference","ImmunizationEvaluation.implicitRules":"uri","ImmunizationEvaluation.language":"code","ImmunizationEvaluation.meta":"Meta","ImmunizationEvaluation.modifierExtension":"Extension","ImmunizationEvaluation.patient":"Reference","ImmunizationEvaluation.series":"string","ImmunizationEvaluation.seriesDosesPositiveInt":"positiveInt","ImmunizationEvaluation.seriesDosesString":"string","ImmunizationEvaluation.status":"code","ImmunizationEvaluation.targetDisease":"CodeableConcept","ImmunizationEvaluation.text":"Narrative","ImmunizationRecommendation.authority":"Reference","ImmunizationRecommendation.contained":"Resource","ImmunizationRecommendation.date":"dateTime","ImmunizationRecommendation.extension":"Extension","ImmunizationRecommendation.id":"System.String","ImmunizationRecommendation.identifier":"Identifier","ImmunizationRecommendation.implicitRules":"uri","ImmunizationRecommendation.language":"code","ImmunizationRecommendation.meta":"Meta","ImmunizationRecommendation.modifierExtension":"Extension","ImmunizationRecommendation.patient":"Reference","ImmunizationRecommendation.recommendation":"BackboneElement","ImmunizationRecommendation.recommendation.contraindicatedVaccineCode":"CodeableConcept","ImmunizationRecommendation.recommendation.dateCriterion":"BackboneElement","ImmunizationRecommendation.recommendation.dateCriterion.code":"CodeableConcept","ImmunizationRecommendation.recommendation.dateCriterion.extension":"Extension","ImmunizationRecommendation.recommendation.dateCriterion.id":"System.String","ImmunizationRecommendation.recommendation.dateCriterion.modifierExtension":"Extension","ImmunizationRecommendation.recommendation.dateCriterion.value":"dateTime","ImmunizationRecommendation.recommendation.description":"string","ImmunizationRecommendation.recommendation.doseNumberPositiveInt":"positiveInt","ImmunizationRecommendation.recommendation.doseNumberString":"string","ImmunizationRecommendation.recommendation.extension":"Extension","ImmunizationRecommendation.recommendation.forecastReason":"CodeableConcept","ImmunizationRecommendation.recommendation.forecastStatus":"CodeableConcept","ImmunizationRecommendation.recommendation.id":"System.String","ImmunizationRecommendation.recommendation.modifierExtension":"Extension","ImmunizationRecommendation.recommendation.series":"string","ImmunizationRecommendation.recommendation.seriesDosesPositiveInt":"positiveInt","ImmunizationRecommendation.recommendation.seriesDosesString":"string","ImmunizationRecommendation.recommendation.supportingImmunization":"Reference","ImmunizationRecommendation.recommendation.supportingPatientInformation":"Reference","ImmunizationRecommendation.recommendation.targetDisease":"CodeableConcept","ImmunizationRecommendation.recommendation.vaccineCode":"CodeableConcept","ImmunizationRecommendation.text":"Narrative","ImplementationGuide.contact":"ContactDetail","ImplementationGuide.contained":"Resource","ImplementationGuide.copyright":"markdown","ImplementationGuide.date":"dateTime","ImplementationGuide.definition":"BackboneElement","ImplementationGuide.definition.extension":"Extension","ImplementationGuide.definition.grouping":"BackboneElement","ImplementationGuide.definition.grouping.description":"string","ImplementationGuide.definition.grouping.extension":"Extension","ImplementationGuide.definition.grouping.id":"System.String","ImplementationGuide.definition.grouping.modifierExtension":"Extension","ImplementationGuide.definition.grouping.name":"string","ImplementationGuide.definition.id":"System.String","ImplementationGuide.definition.modifierExtension":"Extension","ImplementationGuide.definition.page":"BackboneElement","ImplementationGuide.definition.page.extension":"Extension","ImplementationGuide.definition.page.generation":"code","ImplementationGuide.definition.page.id":"System.String","ImplementationGuide.definition.page.modifierExtension":"Extension","ImplementationGuide.definition.page.nameReference":"Reference","ImplementationGuide.definition.page.nameUrl":"url","ImplementationGuide.definition.page.title":"string","ImplementationGuide.definition.parameter":"BackboneElement","ImplementationGuide.definition.parameter.code":"code","ImplementationGuide.definition.parameter.extension":"Extension","ImplementationGuide.definition.parameter.id":"System.String","ImplementationGuide.definition.parameter.modifierExtension":"Extension","ImplementationGuide.definition.parameter.value":"string","ImplementationGuide.definition.resource":"BackboneElement","ImplementationGuide.definition.resource.description":"string","ImplementationGuide.definition.resource.exampleBoolean":"boolean","ImplementationGuide.definition.resource.exampleCanonical":"canonical","ImplementationGuide.definition.resource.extension":"Extension","ImplementationGuide.definition.resource.fhirVersion":"code","ImplementationGuide.definition.resource.groupingId":"id","ImplementationGuide.definition.resource.id":"System.String","ImplementationGuide.definition.resource.modifierExtension":"Extension","ImplementationGuide.definition.resource.name":"string","ImplementationGuide.definition.resource.reference":"Reference","ImplementationGuide.definition.template":"BackboneElement","ImplementationGuide.definition.template.code":"code","ImplementationGuide.definition.template.extension":"Extension","ImplementationGuide.definition.template.id":"System.String","ImplementationGuide.definition.template.modifierExtension":"Extension","ImplementationGuide.definition.template.scope":"string","ImplementationGuide.definition.template.source":"string","ImplementationGuide.dependsOn":"BackboneElement","ImplementationGuide.dependsOn.extension":"Extension","ImplementationGuide.dependsOn.id":"System.String","ImplementationGuide.dependsOn.modifierExtension":"Extension","ImplementationGuide.dependsOn.packageId":"id","ImplementationGuide.dependsOn.uri":"canonical","ImplementationGuide.dependsOn.version":"string","ImplementationGuide.description":"markdown","ImplementationGuide.experimental":"boolean","ImplementationGuide.extension":"Extension","ImplementationGuide.fhirVersion":"code","ImplementationGuide.global":"BackboneElement","ImplementationGuide.global.extension":"Extension","ImplementationGuide.global.id":"System.String","ImplementationGuide.global.modifierExtension":"Extension","ImplementationGuide.global.profile":"canonical","ImplementationGuide.global.type":"code","ImplementationGuide.id":"System.String","ImplementationGuide.implicitRules":"uri","ImplementationGuide.jurisdiction":"CodeableConcept","ImplementationGuide.language":"code","ImplementationGuide.license":"code","ImplementationGuide.manifest":"BackboneElement","ImplementationGuide.manifest.extension":"Extension","ImplementationGuide.manifest.id":"System.String","ImplementationGuide.manifest.image":"string","ImplementationGuide.manifest.modifierExtension":"Extension","ImplementationGuide.manifest.other":"string","ImplementationGuide.manifest.page":"BackboneElement","ImplementationGuide.manifest.page.anchor":"string","ImplementationGuide.manifest.page.extension":"Extension","ImplementationGuide.manifest.page.id":"System.String","ImplementationGuide.manifest.page.modifierExtension":"Extension","ImplementationGuide.manifest.page.name":"string","ImplementationGuide.manifest.page.title":"string","ImplementationGuide.manifest.rendering":"url","ImplementationGuide.manifest.resource":"BackboneElement","ImplementationGuide.manifest.resource.exampleBoolean":"boolean","ImplementationGuide.manifest.resource.exampleCanonical":"canonical","ImplementationGuide.manifest.resource.extension":"Extension","ImplementationGuide.manifest.resource.id":"System.String","ImplementationGuide.manifest.resource.modifierExtension":"Extension","ImplementationGuide.manifest.resource.reference":"Reference","ImplementationGuide.manifest.resource.relativePath":"url","ImplementationGuide.meta":"Meta","ImplementationGuide.modifierExtension":"Extension","ImplementationGuide.name":"string","ImplementationGuide.packageId":"id","ImplementationGuide.publisher":"string","ImplementationGuide.status":"code","ImplementationGuide.text":"Narrative","ImplementationGuide.title":"string","ImplementationGuide.url":"uri","ImplementationGuide.useContext":"UsageContext","ImplementationGuide.version":"string","InsurancePlan.administeredBy":"Reference","InsurancePlan.alias":"string","InsurancePlan.contact":"BackboneElement","InsurancePlan.contact.address":"Address","InsurancePlan.contact.extension":"Extension","InsurancePlan.contact.id":"System.String","InsurancePlan.contact.modifierExtension":"Extension","InsurancePlan.contact.name":"HumanName","InsurancePlan.contact.purpose":"CodeableConcept","InsurancePlan.contact.telecom":"ContactPoint","InsurancePlan.contained":"Resource","InsurancePlan.coverage":"BackboneElement","InsurancePlan.coverage.benefit":"BackboneElement","InsurancePlan.coverage.benefit.extension":"Extension","InsurancePlan.coverage.benefit.id":"System.String","InsurancePlan.coverage.benefit.limit":"BackboneElement","InsurancePlan.coverage.benefit.limit.code":"CodeableConcept","InsurancePlan.coverage.benefit.limit.extension":"Extension","InsurancePlan.coverage.benefit.limit.id":"System.String","InsurancePlan.coverage.benefit.limit.modifierExtension":"Extension","InsurancePlan.coverage.benefit.limit.value":"Quantity","InsurancePlan.coverage.benefit.modifierExtension":"Extension","InsurancePlan.coverage.benefit.requirement":"string","InsurancePlan.coverage.benefit.type":"CodeableConcept","InsurancePlan.coverage.extension":"Extension","InsurancePlan.coverage.id":"System.String","InsurancePlan.coverage.modifierExtension":"Extension","InsurancePlan.coverage.network":"Reference","InsurancePlan.coverage.type":"CodeableConcept","InsurancePlan.coverageArea":"Reference","InsurancePlan.endpoint":"Reference","InsurancePlan.extension":"Extension","InsurancePlan.id":"System.String","InsurancePlan.identifier":"Identifier","InsurancePlan.implicitRules":"uri","InsurancePlan.language":"code","InsurancePlan.meta":"Meta","InsurancePlan.modifierExtension":"Extension","InsurancePlan.name":"string","InsurancePlan.network":"Reference","InsurancePlan.ownedBy":"Reference","InsurancePlan.period":"Period","InsurancePlan.plan":"BackboneElement","InsurancePlan.plan.coverageArea":"Reference","InsurancePlan.plan.extension":"Extension","InsurancePlan.plan.generalCost":"BackboneElement","InsurancePlan.plan.generalCost.comment":"string","InsurancePlan.plan.generalCost.cost":"Money","InsurancePlan.plan.generalCost.extension":"Extension","InsurancePlan.plan.generalCost.groupSize":"positiveInt","InsurancePlan.plan.generalCost.id":"System.String","InsurancePlan.plan.generalCost.modifierExtension":"Extension","InsurancePlan.plan.generalCost.type":"CodeableConcept","InsurancePlan.plan.id":"System.String","InsurancePlan.plan.identifier":"Identifier","InsurancePlan.plan.modifierExtension":"Extension","InsurancePlan.plan.network":"Reference","InsurancePlan.plan.specificCost":"BackboneElement","InsurancePlan.plan.specificCost.benefit":"BackboneElement","InsurancePlan.plan.specificCost.benefit.cost":"BackboneElement","InsurancePlan.plan.specificCost.benefit.cost.applicability":"CodeableConcept","InsurancePlan.plan.specificCost.benefit.cost.extension":"Extension","InsurancePlan.plan.specificCost.benefit.cost.id":"System.String","InsurancePlan.plan.specificCost.benefit.cost.modifierExtension":"Extension","InsurancePlan.plan.specificCost.benefit.cost.qualifiers":"CodeableConcept","InsurancePlan.plan.specificCost.benefit.cost.type":"CodeableConcept","InsurancePlan.plan.specificCost.benefit.cost.value":"Quantity","InsurancePlan.plan.specificCost.benefit.extension":"Extension","InsurancePlan.plan.specificCost.benefit.id":"System.String","InsurancePlan.plan.specificCost.benefit.modifierExtension":"Extension","InsurancePlan.plan.specificCost.benefit.type":"CodeableConcept","InsurancePlan.plan.specificCost.category":"CodeableConcept","InsurancePlan.plan.specificCost.extension":"Extension","InsurancePlan.plan.specificCost.id":"System.String","InsurancePlan.plan.specificCost.modifierExtension":"Extension","InsurancePlan.plan.type":"CodeableConcept","InsurancePlan.status":"code","InsurancePlan.text":"Narrative","InsurancePlan.type":"CodeableConcept","Invoice.account":"Reference","Invoice.cancelledReason":"string","Invoice.contained":"Resource","Invoice.date":"dateTime","Invoice.extension":"Extension","Invoice.id":"System.String","Invoice.identifier":"Identifier","Invoice.implicitRules":"uri","Invoice.issuer":"Reference","Invoice.language":"code","Invoice.lineItem":"BackboneElement","Invoice.lineItem.chargeItemCodeableConcept":"CodeableConcept","Invoice.lineItem.chargeItemReference":"Reference","Invoice.lineItem.extension":"Extension","Invoice.lineItem.id":"System.String","Invoice.lineItem.modifierExtension":"Extension","Invoice.lineItem.priceComponent":"BackboneElement","Invoice.lineItem.priceComponent.amount":"Money","Invoice.lineItem.priceComponent.code":"CodeableConcept","Invoice.lineItem.priceComponent.extension":"Extension","Invoice.lineItem.priceComponent.factor":"decimal","Invoice.lineItem.priceComponent.id":"System.String","Invoice.lineItem.priceComponent.modifierExtension":"Extension","Invoice.lineItem.priceComponent.type":"code","Invoice.lineItem.sequence":"positiveInt","Invoice.meta":"Meta","Invoice.modifierExtension":"Extension","Invoice.note":"Annotation","Invoice.participant":"BackboneElement","Invoice.participant.actor":"Reference","Invoice.participant.extension":"Extension","Invoice.participant.id":"System.String","Invoice.participant.modifierExtension":"Extension","Invoice.participant.role":"CodeableConcept","Invoice.paymentTerms":"markdown","Invoice.recipient":"Reference","Invoice.status":"code","Invoice.subject":"Reference","Invoice.text":"Narrative","Invoice.totalGross":"Money","Invoice.totalNet":"Money","Invoice.type":"CodeableConcept","Library.approvalDate":"date","Library.author":"ContactDetail","Library.contact":"ContactDetail","Library.contained":"Resource","Library.content":"Attachment","Library.copyright":"markdown","Library.dataRequirement":"DataRequirement","Library.date":"dateTime","Library.description":"markdown","Library.editor":"ContactDetail","Library.effectivePeriod":"Period","Library.endorser":"ContactDetail","Library.experimental":"boolean","Library.extension":"Extension","Library.id":"System.String","Library.identifier":"Identifier","Library.implicitRules":"uri","Library.jurisdiction":"CodeableConcept","Library.language":"code","Library.lastReviewDate":"date","Library.meta":"Meta","Library.modifierExtension":"Extension","Library.name":"string","Library.parameter":"ParameterDefinition","Library.publisher":"string","Library.purpose":"markdown","Library.relatedArtifact":"RelatedArtifact","Library.reviewer":"ContactDetail","Library.status":"code","Library.subjectCodeableConcept":"CodeableConcept","Library.subjectReference":"Reference","Library.subtitle":"string","Library.text":"Narrative","Library.title":"string","Library.topic":"CodeableConcept","Library.type":"CodeableConcept","Library.url":"uri","Library.usage":"string","Library.useContext":"UsageContext","Library.version":"string","Linkage.active":"boolean","Linkage.author":"Reference","Linkage.contained":"Resource","Linkage.extension":"Extension","Linkage.id":"System.String","Linkage.implicitRules":"uri","Linkage.item":"BackboneElement","Linkage.item.extension":"Extension","Linkage.item.id":"System.String","Linkage.item.modifierExtension":"Extension","Linkage.item.resource":"Reference","Linkage.item.type":"code","Linkage.language":"code","Linkage.meta":"Meta","Linkage.modifierExtension":"Extension","Linkage.text":"Narrative","List.code":"CodeableConcept","List.contained":"Resource","List.date":"dateTime","List.emptyReason":"CodeableConcept","List.encounter":"Reference","List.entry":"BackboneElement","List.entry.date":"dateTime","List.entry.deleted":"boolean","List.entry.extension":"Extension","List.entry.flag":"CodeableConcept","List.entry.id":"System.String","List.entry.item":"Reference","List.entry.modifierExtension":"Extension","List.extension":"Extension","List.id":"System.String","List.identifier":"Identifier","List.implicitRules":"uri","List.language":"code","List.meta":"Meta","List.mode":"code","List.modifierExtension":"Extension","List.note":"Annotation","List.orderedBy":"CodeableConcept","List.source":"Reference","List.status":"code","List.subject":"Reference","List.text":"Narrative","List.title":"string","Location.address":"Address","Location.alias":"string","Location.availabilityExceptions":"string","Location.contained":"Resource","Location.description":"string","Location.endpoint":"Reference","Location.extension":"Extension","Location.hoursOfOperation":"BackboneElement","Location.hoursOfOperation.allDay":"boolean","Location.hoursOfOperation.closingTime":"time","Location.hoursOfOperation.daysOfWeek":"code","Location.hoursOfOperation.extension":"Extension","Location.hoursOfOperation.id":"System.String","Location.hoursOfOperation.modifierExtension":"Extension","Location.hoursOfOperation.openingTime":"time","Location.id":"System.String","Location.identifier":"Identifier","Location.implicitRules":"uri","Location.language":"code","Location.managingOrganization":"Reference","Location.meta":"Meta","Location.mode":"code","Location.modifierExtension":"Extension","Location.name":"string","Location.operationalStatus":"Coding","Location.partOf":"Reference","Location.physicalType":"CodeableConcept","Location.position":"BackboneElement","Location.position.altitude":"decimal","Location.position.extension":"Extension","Location.position.id":"System.String","Location.position.latitude":"decimal","Location.position.longitude":"decimal","Location.position.modifierExtension":"Extension","Location.status":"code","Location.telecom":"ContactPoint","Location.text":"Narrative","Location.type":"CodeableConcept","MarketingStatus.country":"CodeableConcept","MarketingStatus.dateRange":"Period","MarketingStatus.extension":"Extension","MarketingStatus.id":"System.String","MarketingStatus.jurisdiction":"CodeableConcept","MarketingStatus.modifierExtension":"Extension","MarketingStatus.restoreDate":"dateTime","MarketingStatus.status":"CodeableConcept","Measure.approvalDate":"date","Measure.author":"ContactDetail","Measure.clinicalRecommendationStatement":"markdown","Measure.compositeScoring":"CodeableConcept","Measure.contact":"ContactDetail","Measure.contained":"Resource","Measure.copyright":"markdown","Measure.date":"dateTime","Measure.definition":"markdown","Measure.description":"markdown","Measure.disclaimer":"markdown","Measure.editor":"ContactDetail","Measure.effectivePeriod":"Period","Measure.endorser":"ContactDetail","Measure.experimental":"boolean","Measure.extension":"Extension","Measure.group":"BackboneElement","Measure.group.code":"CodeableConcept","Measure.group.description":"string","Measure.group.extension":"Extension","Measure.group.id":"System.String","Measure.group.modifierExtension":"Extension","Measure.group.population":"BackboneElement","Measure.group.population.code":"CodeableConcept","Measure.group.population.criteria":"Expression","Measure.group.population.description":"string","Measure.group.population.extension":"Extension","Measure.group.population.id":"System.String","Measure.group.population.modifierExtension":"Extension","Measure.group.stratifier":"BackboneElement","Measure.group.stratifier.code":"CodeableConcept","Measure.group.stratifier.component":"BackboneElement","Measure.group.stratifier.component.code":"CodeableConcept","Measure.group.stratifier.component.criteria":"Expression","Measure.group.stratifier.component.description":"string","Measure.group.stratifier.component.extension":"Extension","Measure.group.stratifier.component.id":"System.String","Measure.group.stratifier.component.modifierExtension":"Extension","Measure.group.stratifier.criteria":"Expression","Measure.group.stratifier.description":"string","Measure.group.stratifier.extension":"Extension","Measure.group.stratifier.id":"System.String","Measure.group.stratifier.modifierExtension":"Extension","Measure.guidance":"markdown","Measure.id":"System.String","Measure.identifier":"Identifier","Measure.implicitRules":"uri","Measure.improvementNotation":"CodeableConcept","Measure.jurisdiction":"CodeableConcept","Measure.language":"code","Measure.lastReviewDate":"date","Measure.library":"canonical","Measure.meta":"Meta","Measure.modifierExtension":"Extension","Measure.name":"string","Measure.publisher":"string","Measure.purpose":"markdown","Measure.rateAggregation":"string","Measure.rationale":"markdown","Measure.relatedArtifact":"RelatedArtifact","Measure.reviewer":"ContactDetail","Measure.riskAdjustment":"string","Measure.scoring":"CodeableConcept","Measure.status":"code","Measure.subjectCodeableConcept":"CodeableConcept","Measure.subjectReference":"Reference","Measure.subtitle":"string","Measure.supplementalData":"BackboneElement","Measure.supplementalData.code":"CodeableConcept","Measure.supplementalData.criteria":"Expression","Measure.supplementalData.description":"string","Measure.supplementalData.extension":"Extension","Measure.supplementalData.id":"System.String","Measure.supplementalData.modifierExtension":"Extension","Measure.supplementalData.usage":"CodeableConcept","Measure.text":"Narrative","Measure.title":"string","Measure.topic":"CodeableConcept","Measure.type":"CodeableConcept","Measure.url":"uri","Measure.usage":"string","Measure.useContext":"UsageContext","Measure.version":"string","MeasureReport.contained":"Resource","MeasureReport.date":"dateTime","MeasureReport.evaluatedResource":"Reference","MeasureReport.extension":"Extension","MeasureReport.group":"BackboneElement","MeasureReport.group.code":"CodeableConcept","MeasureReport.group.extension":"Extension","MeasureReport.group.id":"System.String","MeasureReport.group.measureScore":"Quantity","MeasureReport.group.modifierExtension":"Extension","MeasureReport.group.population":"BackboneElement","MeasureReport.group.population.code":"CodeableConcept","MeasureReport.group.population.count":"integer","MeasureReport.group.population.extension":"Extension","MeasureReport.group.population.id":"System.String","MeasureReport.group.population.modifierExtension":"Extension","MeasureReport.group.population.subjectResults":"Reference","MeasureReport.group.stratifier":"BackboneElement","MeasureReport.group.stratifier.code":"CodeableConcept","MeasureReport.group.stratifier.extension":"Extension","MeasureReport.group.stratifier.id":"System.String","MeasureReport.group.stratifier.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum":"BackboneElement","MeasureReport.group.stratifier.stratum.component":"BackboneElement","MeasureReport.group.stratifier.stratum.component.code":"CodeableConcept","MeasureReport.group.stratifier.stratum.component.extension":"Extension","MeasureReport.group.stratifier.stratum.component.id":"System.String","MeasureReport.group.stratifier.stratum.component.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.component.value":"CodeableConcept","MeasureReport.group.stratifier.stratum.extension":"Extension","MeasureReport.group.stratifier.stratum.id":"System.String","MeasureReport.group.stratifier.stratum.measureScore":"Quantity","MeasureReport.group.stratifier.stratum.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.population":"BackboneElement","MeasureReport.group.stratifier.stratum.population.code":"CodeableConcept","MeasureReport.group.stratifier.stratum.population.count":"integer","MeasureReport.group.stratifier.stratum.population.extension":"Extension","MeasureReport.group.stratifier.stratum.population.id":"System.String","MeasureReport.group.stratifier.stratum.population.modifierExtension":"Extension","MeasureReport.group.stratifier.stratum.population.subjectResults":"Reference","MeasureReport.group.stratifier.stratum.value":"CodeableConcept","MeasureReport.id":"System.String","MeasureReport.identifier":"Identifier","MeasureReport.implicitRules":"uri","MeasureReport.improvementNotation":"CodeableConcept","MeasureReport.language":"code","MeasureReport.measure":"canonical","MeasureReport.meta":"Meta","MeasureReport.modifierExtension":"Extension","MeasureReport.period":"Period","MeasureReport.reporter":"Reference","MeasureReport.status":"code","MeasureReport.subject":"Reference","MeasureReport.text":"Narrative","MeasureReport.type":"code","Media.basedOn":"Reference","Media.bodySite":"CodeableConcept","Media.contained":"Resource","Media.content":"Attachment","Media.createdDateTime":"dateTime","Media.createdPeriod":"Period","Media.device":"Reference","Media.deviceName":"string","Media.duration":"decimal","Media.encounter":"Reference","Media.extension":"Extension","Media.frames":"positiveInt","Media.height":"positiveInt","Media.id":"System.String","Media.identifier":"Identifier","Media.implicitRules":"uri","Media.issued":"instant","Media.language":"code","Media.meta":"Meta","Media.modality":"CodeableConcept","Media.modifierExtension":"Extension","Media.note":"Annotation","Media.operator":"Reference","Media.partOf":"Reference","Media.reasonCode":"CodeableConcept","Media.status":"code","Media.subject":"Reference","Media.text":"Narrative","Media.type":"CodeableConcept","Media.view":"CodeableConcept","Media.width":"positiveInt","Medication.amount":"Ratio","Medication.batch":"BackboneElement","Medication.batch.expirationDate":"dateTime","Medication.batch.extension":"Extension","Medication.batch.id":"System.String","Medication.batch.lotNumber":"string","Medication.batch.modifierExtension":"Extension","Medication.code":"CodeableConcept","Medication.contained":"Resource","Medication.extension":"Extension","Medication.form":"CodeableConcept","Medication.id":"System.String","Medication.identifier":"Identifier","Medication.implicitRules":"uri","Medication.ingredient":"BackboneElement","Medication.ingredient.extension":"Extension","Medication.ingredient.id":"System.String","Medication.ingredient.isActive":"boolean","Medication.ingredient.itemCodeableConcept":"CodeableConcept","Medication.ingredient.itemReference":"Reference","Medication.ingredient.modifierExtension":"Extension","Medication.ingredient.strength":"Ratio","Medication.language":"code","Medication.manufacturer":"Reference","Medication.meta":"Meta","Medication.modifierExtension":"Extension","Medication.status":"code","Medication.text":"Narrative","MedicationAdministration.category":"CodeableConcept","MedicationAdministration.contained":"Resource","MedicationAdministration.context":"Reference","MedicationAdministration.device":"Reference","MedicationAdministration.dosage":"BackboneElement","MedicationAdministration.dosage.dose":"Quantity","MedicationAdministration.dosage.extension":"Extension","MedicationAdministration.dosage.id":"System.String","MedicationAdministration.dosage.method":"CodeableConcept","MedicationAdministration.dosage.modifierExtension":"Extension","MedicationAdministration.dosage.rateQuantity":"Quantity","MedicationAdministration.dosage.rateRatio":"Ratio","MedicationAdministration.dosage.route":"CodeableConcept","MedicationAdministration.dosage.site":"CodeableConcept","MedicationAdministration.dosage.text":"string","MedicationAdministration.effectiveDateTime":"dateTime","MedicationAdministration.effectivePeriod":"Period","MedicationAdministration.eventHistory":"Reference","MedicationAdministration.extension":"Extension","MedicationAdministration.id":"System.String","MedicationAdministration.identifier":"Identifier","MedicationAdministration.implicitRules":"uri","MedicationAdministration.instantiates":"uri","MedicationAdministration.language":"code","MedicationAdministration.medicationCodeableConcept":"CodeableConcept","MedicationAdministration.medicationReference":"Reference","MedicationAdministration.meta":"Meta","MedicationAdministration.modifierExtension":"Extension","MedicationAdministration.note":"Annotation","MedicationAdministration.partOf":"Reference","MedicationAdministration.performer":"BackboneElement","MedicationAdministration.performer.actor":"Reference","MedicationAdministration.performer.extension":"Extension","MedicationAdministration.performer.function":"CodeableConcept","MedicationAdministration.performer.id":"System.String","MedicationAdministration.performer.modifierExtension":"Extension","MedicationAdministration.reasonCode":"CodeableConcept","MedicationAdministration.reasonReference":"Reference","MedicationAdministration.request":"Reference","MedicationAdministration.status":"code","MedicationAdministration.statusReason":"CodeableConcept","MedicationAdministration.subject":"Reference","MedicationAdministration.supportingInformation":"Reference","MedicationAdministration.text":"Narrative","MedicationDispense.authorizingPrescription":"Reference","MedicationDispense.category":"CodeableConcept","MedicationDispense.contained":"Resource","MedicationDispense.context":"Reference","MedicationDispense.daysSupply":"Quantity","MedicationDispense.destination":"Reference","MedicationDispense.detectedIssue":"Reference","MedicationDispense.dosageInstruction":"Dosage","MedicationDispense.eventHistory":"Reference","MedicationDispense.extension":"Extension","MedicationDispense.id":"System.String","MedicationDispense.identifier":"Identifier","MedicationDispense.implicitRules":"uri","MedicationDispense.language":"code","MedicationDispense.location":"Reference","MedicationDispense.medicationCodeableConcept":"CodeableConcept","MedicationDispense.medicationReference":"Reference","MedicationDispense.meta":"Meta","MedicationDispense.modifierExtension":"Extension","MedicationDispense.note":"Annotation","MedicationDispense.partOf":"Reference","MedicationDispense.performer":"BackboneElement","MedicationDispense.performer.actor":"Reference","MedicationDispense.performer.extension":"Extension","MedicationDispense.performer.function":"CodeableConcept","MedicationDispense.performer.id":"System.String","MedicationDispense.performer.modifierExtension":"Extension","MedicationDispense.quantity":"Quantity","MedicationDispense.receiver":"Reference","MedicationDispense.status":"code","MedicationDispense.statusReasonCodeableConcept":"CodeableConcept","MedicationDispense.statusReasonReference":"Reference","MedicationDispense.subject":"Reference","MedicationDispense.substitution":"BackboneElement","MedicationDispense.substitution.extension":"Extension","MedicationDispense.substitution.id":"System.String","MedicationDispense.substitution.modifierExtension":"Extension","MedicationDispense.substitution.reason":"CodeableConcept","MedicationDispense.substitution.responsibleParty":"Reference","MedicationDispense.substitution.type":"CodeableConcept","MedicationDispense.substitution.wasSubstituted":"boolean","MedicationDispense.supportingInformation":"Reference","MedicationDispense.text":"Narrative","MedicationDispense.type":"CodeableConcept","MedicationDispense.whenHandedOver":"dateTime","MedicationDispense.whenPrepared":"dateTime","MedicationKnowledge.administrationGuidelines":"BackboneElement","MedicationKnowledge.administrationGuidelines.dosage":"BackboneElement","MedicationKnowledge.administrationGuidelines.dosage.dosage":"Dosage","MedicationKnowledge.administrationGuidelines.dosage.extension":"Extension","MedicationKnowledge.administrationGuidelines.dosage.id":"System.String","MedicationKnowledge.administrationGuidelines.dosage.modifierExtension":"Extension","MedicationKnowledge.administrationGuidelines.dosage.type":"CodeableConcept","MedicationKnowledge.administrationGuidelines.extension":"Extension","MedicationKnowledge.administrationGuidelines.id":"System.String","MedicationKnowledge.administrationGuidelines.indicationCodeableConcept":"CodeableConcept","MedicationKnowledge.administrationGuidelines.indicationReference":"Reference","MedicationKnowledge.administrationGuidelines.modifierExtension":"Extension","MedicationKnowledge.administrationGuidelines.patientCharacteristics":"BackboneElement","MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicCodeableConcept":"CodeableConcept","MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicQuantity":"Quantity","MedicationKnowledge.administrationGuidelines.patientCharacteristics.extension":"Extension","MedicationKnowledge.administrationGuidelines.patientCharacteristics.id":"System.String","MedicationKnowledge.administrationGuidelines.patientCharacteristics.modifierExtension":"Extension","MedicationKnowledge.administrationGuidelines.patientCharacteristics.value":"string","MedicationKnowledge.amount":"Quantity","MedicationKnowledge.associatedMedication":"Reference","MedicationKnowledge.code":"CodeableConcept","MedicationKnowledge.contained":"Resource","MedicationKnowledge.contraindication":"Reference","MedicationKnowledge.cost":"BackboneElement","MedicationKnowledge.cost.cost":"Money","MedicationKnowledge.cost.extension":"Extension","MedicationKnowledge.cost.id":"System.String","MedicationKnowledge.cost.modifierExtension":"Extension","MedicationKnowledge.cost.source":"string","MedicationKnowledge.cost.type":"CodeableConcept","MedicationKnowledge.doseForm":"CodeableConcept","MedicationKnowledge.drugCharacteristic":"BackboneElement","MedicationKnowledge.drugCharacteristic.extension":"Extension","MedicationKnowledge.drugCharacteristic.id":"System.String","MedicationKnowledge.drugCharacteristic.modifierExtension":"Extension","MedicationKnowledge.drugCharacteristic.type":"CodeableConcept","MedicationKnowledge.drugCharacteristic.valueBase64Binary":"base64Binary","MedicationKnowledge.drugCharacteristic.valueCodeableConcept":"CodeableConcept","MedicationKnowledge.drugCharacteristic.valueQuantity":"Quantity","MedicationKnowledge.drugCharacteristic.valueString":"string","MedicationKnowledge.extension":"Extension","MedicationKnowledge.id":"System.String","MedicationKnowledge.implicitRules":"uri","MedicationKnowledge.ingredient":"BackboneElement","MedicationKnowledge.ingredient.extension":"Extension","MedicationKnowledge.ingredient.id":"System.String","MedicationKnowledge.ingredient.isActive":"boolean","MedicationKnowledge.ingredient.itemCodeableConcept":"CodeableConcept","MedicationKnowledge.ingredient.itemReference":"Reference","MedicationKnowledge.ingredient.modifierExtension":"Extension","MedicationKnowledge.ingredient.strength":"Ratio","MedicationKnowledge.intendedRoute":"CodeableConcept","MedicationKnowledge.kinetics":"BackboneElement","MedicationKnowledge.kinetics.areaUnderCurve":"Quantity","MedicationKnowledge.kinetics.extension":"Extension","MedicationKnowledge.kinetics.halfLifePeriod":"Duration","MedicationKnowledge.kinetics.id":"System.String","MedicationKnowledge.kinetics.lethalDose50":"Quantity","MedicationKnowledge.kinetics.modifierExtension":"Extension","MedicationKnowledge.language":"code","MedicationKnowledge.manufacturer":"Reference","MedicationKnowledge.medicineClassification":"BackboneElement","MedicationKnowledge.medicineClassification.classification":"CodeableConcept","MedicationKnowledge.medicineClassification.extension":"Extension","MedicationKnowledge.medicineClassification.id":"System.String","MedicationKnowledge.medicineClassification.modifierExtension":"Extension","MedicationKnowledge.medicineClassification.type":"CodeableConcept","MedicationKnowledge.meta":"Meta","MedicationKnowledge.modifierExtension":"Extension","MedicationKnowledge.monitoringProgram":"BackboneElement","MedicationKnowledge.monitoringProgram.extension":"Extension","MedicationKnowledge.monitoringProgram.id":"System.String","MedicationKnowledge.monitoringProgram.modifierExtension":"Extension","MedicationKnowledge.monitoringProgram.name":"string","MedicationKnowledge.monitoringProgram.type":"CodeableConcept","MedicationKnowledge.monograph":"BackboneElement","MedicationKnowledge.monograph.extension":"Extension","MedicationKnowledge.monograph.id":"System.String","MedicationKnowledge.monograph.modifierExtension":"Extension","MedicationKnowledge.monograph.source":"Reference","MedicationKnowledge.monograph.type":"CodeableConcept","MedicationKnowledge.packaging":"BackboneElement","MedicationKnowledge.packaging.extension":"Extension","MedicationKnowledge.packaging.id":"System.String","MedicationKnowledge.packaging.modifierExtension":"Extension","MedicationKnowledge.packaging.quantity":"Quantity","MedicationKnowledge.packaging.type":"CodeableConcept","MedicationKnowledge.preparationInstruction":"markdown","MedicationKnowledge.productType":"CodeableConcept","MedicationKnowledge.regulatory":"BackboneElement","MedicationKnowledge.regulatory.extension":"Extension","MedicationKnowledge.regulatory.id":"System.String","MedicationKnowledge.regulatory.maxDispense":"BackboneElement","MedicationKnowledge.regulatory.maxDispense.extension":"Extension","MedicationKnowledge.regulatory.maxDispense.id":"System.String","MedicationKnowledge.regulatory.maxDispense.modifierExtension":"Extension","MedicationKnowledge.regulatory.maxDispense.period":"Duration","MedicationKnowledge.regulatory.maxDispense.quantity":"Quantity","MedicationKnowledge.regulatory.modifierExtension":"Extension","MedicationKnowledge.regulatory.regulatoryAuthority":"Reference","MedicationKnowledge.regulatory.schedule":"BackboneElement","MedicationKnowledge.regulatory.schedule.extension":"Extension","MedicationKnowledge.regulatory.schedule.id":"System.String","MedicationKnowledge.regulatory.schedule.modifierExtension":"Extension","MedicationKnowledge.regulatory.schedule.schedule":"CodeableConcept","MedicationKnowledge.regulatory.substitution":"BackboneElement","MedicationKnowledge.regulatory.substitution.allowed":"boolean","MedicationKnowledge.regulatory.substitution.extension":"Extension","MedicationKnowledge.regulatory.substitution.id":"System.String","MedicationKnowledge.regulatory.substitution.modifierExtension":"Extension","MedicationKnowledge.regulatory.substitution.type":"CodeableConcept","MedicationKnowledge.relatedMedicationKnowledge":"BackboneElement","MedicationKnowledge.relatedMedicationKnowledge.extension":"Extension","MedicationKnowledge.relatedMedicationKnowledge.id":"System.String","MedicationKnowledge.relatedMedicationKnowledge.modifierExtension":"Extension","MedicationKnowledge.relatedMedicationKnowledge.reference":"Reference","MedicationKnowledge.relatedMedicationKnowledge.type":"CodeableConcept","MedicationKnowledge.status":"code","MedicationKnowledge.synonym":"string","MedicationKnowledge.text":"Narrative","MedicationRequest.authoredOn":"dateTime","MedicationRequest.basedOn":"Reference","MedicationRequest.category":"CodeableConcept","MedicationRequest.contained":"Resource","MedicationRequest.courseOfTherapyType":"CodeableConcept","MedicationRequest.detectedIssue":"Reference","MedicationRequest.dispenseRequest":"BackboneElement","MedicationRequest.dispenseRequest.dispenseInterval":"Duration","MedicationRequest.dispenseRequest.expectedSupplyDuration":"Duration","MedicationRequest.dispenseRequest.extension":"Extension","MedicationRequest.dispenseRequest.id":"System.String","MedicationRequest.dispenseRequest.initialFill":"BackboneElement","MedicationRequest.dispenseRequest.initialFill.duration":"Duration","MedicationRequest.dispenseRequest.initialFill.extension":"Extension","MedicationRequest.dispenseRequest.initialFill.id":"System.String","MedicationRequest.dispenseRequest.initialFill.modifierExtension":"Extension","MedicationRequest.dispenseRequest.initialFill.quantity":"Quantity","MedicationRequest.dispenseRequest.modifierExtension":"Extension","MedicationRequest.dispenseRequest.numberOfRepeatsAllowed":"unsignedInt","MedicationRequest.dispenseRequest.performer":"Reference","MedicationRequest.dispenseRequest.quantity":"Quantity","MedicationRequest.dispenseRequest.validityPeriod":"Period","MedicationRequest.doNotPerform":"boolean","MedicationRequest.dosageInstruction":"Dosage","MedicationRequest.encounter":"Reference","MedicationRequest.eventHistory":"Reference","MedicationRequest.extension":"Extension","MedicationRequest.groupIdentifier":"Identifier","MedicationRequest.id":"System.String","MedicationRequest.identifier":"Identifier","MedicationRequest.implicitRules":"uri","MedicationRequest.instantiatesCanonical":"canonical","MedicationRequest.instantiatesUri":"uri","MedicationRequest.insurance":"Reference","MedicationRequest.intent":"code","MedicationRequest.language":"code","MedicationRequest.medicationCodeableConcept":"CodeableConcept","MedicationRequest.medicationReference":"Reference","MedicationRequest.meta":"Meta","MedicationRequest.modifierExtension":"Extension","MedicationRequest.note":"Annotation","MedicationRequest.performer":"Reference","MedicationRequest.performerType":"CodeableConcept","MedicationRequest.priorPrescription":"Reference","MedicationRequest.priority":"code","MedicationRequest.reasonCode":"CodeableConcept","MedicationRequest.reasonReference":"Reference","MedicationRequest.recorder":"Reference","MedicationRequest.reportedBoolean":"boolean","MedicationRequest.reportedReference":"Reference","MedicationRequest.requester":"Reference","MedicationRequest.status":"code","MedicationRequest.statusReason":"CodeableConcept","MedicationRequest.subject":"Reference","MedicationRequest.substitution":"BackboneElement","MedicationRequest.substitution.allowedBoolean":"boolean","MedicationRequest.substitution.allowedCodeableConcept":"CodeableConcept","MedicationRequest.substitution.extension":"Extension","MedicationRequest.substitution.id":"System.String","MedicationRequest.substitution.modifierExtension":"Extension","MedicationRequest.substitution.reason":"CodeableConcept","MedicationRequest.supportingInformation":"Reference","MedicationRequest.text":"Narrative","MedicationStatement.basedOn":"Reference","MedicationStatement.category":"CodeableConcept","MedicationStatement.contained":"Resource","MedicationStatement.context":"Reference","MedicationStatement.dateAsserted":"dateTime","MedicationStatement.derivedFrom":"Reference","MedicationStatement.dosage":"Dosage","MedicationStatement.effectiveDateTime":"dateTime","MedicationStatement.effectivePeriod":"Period","MedicationStatement.extension":"Extension","MedicationStatement.id":"System.String","MedicationStatement.identifier":"Identifier","MedicationStatement.implicitRules":"uri","MedicationStatement.informationSource":"Reference","MedicationStatement.language":"code","MedicationStatement.medicationCodeableConcept":"CodeableConcept","MedicationStatement.medicationReference":"Reference","MedicationStatement.meta":"Meta","MedicationStatement.modifierExtension":"Extension","MedicationStatement.note":"Annotation","MedicationStatement.partOf":"Reference","MedicationStatement.reasonCode":"CodeableConcept","MedicationStatement.reasonReference":"Reference","MedicationStatement.status":"code","MedicationStatement.statusReason":"CodeableConcept","MedicationStatement.subject":"Reference","MedicationStatement.text":"Narrative","MedicinalProduct.additionalMonitoringIndicator":"CodeableConcept","MedicinalProduct.attachedDocument":"Reference","MedicinalProduct.clinicalTrial":"Reference","MedicinalProduct.combinedPharmaceuticalDoseForm":"CodeableConcept","MedicinalProduct.contact":"Reference","MedicinalProduct.contained":"Resource","MedicinalProduct.crossReference":"Identifier","MedicinalProduct.domain":"Coding","MedicinalProduct.extension":"Extension","MedicinalProduct.id":"System.String","MedicinalProduct.identifier":"Identifier","MedicinalProduct.implicitRules":"uri","MedicinalProduct.language":"code","MedicinalProduct.legalStatusOfSupply":"CodeableConcept","MedicinalProduct.manufacturingBusinessOperation":"BackboneElement","MedicinalProduct.manufacturingBusinessOperation.authorisationReferenceNumber":"Identifier","MedicinalProduct.manufacturingBusinessOperation.confidentialityIndicator":"CodeableConcept","MedicinalProduct.manufacturingBusinessOperation.effectiveDate":"dateTime","MedicinalProduct.manufacturingBusinessOperation.extension":"Extension","MedicinalProduct.manufacturingBusinessOperation.id":"System.String","MedicinalProduct.manufacturingBusinessOperation.manufacturer":"Reference","MedicinalProduct.manufacturingBusinessOperation.modifierExtension":"Extension","MedicinalProduct.manufacturingBusinessOperation.operationType":"CodeableConcept","MedicinalProduct.manufacturingBusinessOperation.regulator":"Reference","MedicinalProduct.marketingStatus":"MarketingStatus","MedicinalProduct.masterFile":"Reference","MedicinalProduct.meta":"Meta","MedicinalProduct.modifierExtension":"Extension","MedicinalProduct.name":"BackboneElement","MedicinalProduct.name.countryLanguage":"BackboneElement","MedicinalProduct.name.countryLanguage.country":"CodeableConcept","MedicinalProduct.name.countryLanguage.extension":"Extension","MedicinalProduct.name.countryLanguage.id":"System.String","MedicinalProduct.name.countryLanguage.jurisdiction":"CodeableConcept","MedicinalProduct.name.countryLanguage.language":"CodeableConcept","MedicinalProduct.name.countryLanguage.modifierExtension":"Extension","MedicinalProduct.name.extension":"Extension","MedicinalProduct.name.id":"System.String","MedicinalProduct.name.modifierExtension":"Extension","MedicinalProduct.name.namePart":"BackboneElement","MedicinalProduct.name.namePart.extension":"Extension","MedicinalProduct.name.namePart.id":"System.String","MedicinalProduct.name.namePart.modifierExtension":"Extension","MedicinalProduct.name.namePart.part":"string","MedicinalProduct.name.namePart.type":"Coding","MedicinalProduct.name.productName":"string","MedicinalProduct.packagedMedicinalProduct":"Reference","MedicinalProduct.paediatricUseIndicator":"CodeableConcept","MedicinalProduct.pharmaceuticalProduct":"Reference","MedicinalProduct.productClassification":"CodeableConcept","MedicinalProduct.specialDesignation":"BackboneElement","MedicinalProduct.specialDesignation.date":"dateTime","MedicinalProduct.specialDesignation.extension":"Extension","MedicinalProduct.specialDesignation.id":"System.String","MedicinalProduct.specialDesignation.identifier":"Identifier","MedicinalProduct.specialDesignation.indicationCodeableConcept":"CodeableConcept","MedicinalProduct.specialDesignation.indicationReference":"Reference","MedicinalProduct.specialDesignation.intendedUse":"CodeableConcept","MedicinalProduct.specialDesignation.modifierExtension":"Extension","MedicinalProduct.specialDesignation.species":"CodeableConcept","MedicinalProduct.specialDesignation.status":"CodeableConcept","MedicinalProduct.specialDesignation.type":"CodeableConcept","MedicinalProduct.specialMeasures":"string","MedicinalProduct.text":"Narrative","MedicinalProduct.type":"CodeableConcept","MedicinalProductAuthorization.contained":"Resource","MedicinalProductAuthorization.country":"CodeableConcept","MedicinalProductAuthorization.dataExclusivityPeriod":"Period","MedicinalProductAuthorization.dateOfFirstAuthorization":"dateTime","MedicinalProductAuthorization.extension":"Extension","MedicinalProductAuthorization.holder":"Reference","MedicinalProductAuthorization.id":"System.String","MedicinalProductAuthorization.identifier":"Identifier","MedicinalProductAuthorization.implicitRules":"uri","MedicinalProductAuthorization.internationalBirthDate":"dateTime","MedicinalProductAuthorization.jurisdiction":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization":"BackboneElement","MedicinalProductAuthorization.jurisdictionalAuthorization.country":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.extension":"Extension","MedicinalProductAuthorization.jurisdictionalAuthorization.id":"System.String","MedicinalProductAuthorization.jurisdictionalAuthorization.identifier":"Identifier","MedicinalProductAuthorization.jurisdictionalAuthorization.jurisdiction":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.legalStatusOfSupply":"CodeableConcept","MedicinalProductAuthorization.jurisdictionalAuthorization.modifierExtension":"Extension","MedicinalProductAuthorization.jurisdictionalAuthorization.validityPeriod":"Period","MedicinalProductAuthorization.language":"code","MedicinalProductAuthorization.legalBasis":"CodeableConcept","MedicinalProductAuthorization.meta":"Meta","MedicinalProductAuthorization.modifierExtension":"Extension","MedicinalProductAuthorization.procedure":"BackboneElement","MedicinalProductAuthorization.procedure.dateDateTime":"dateTime","MedicinalProductAuthorization.procedure.datePeriod":"Period","MedicinalProductAuthorization.procedure.extension":"Extension","MedicinalProductAuthorization.procedure.id":"System.String","MedicinalProductAuthorization.procedure.identifier":"Identifier","MedicinalProductAuthorization.procedure.modifierExtension":"Extension","MedicinalProductAuthorization.procedure.type":"CodeableConcept","MedicinalProductAuthorization.regulator":"Reference","MedicinalProductAuthorization.restoreDate":"dateTime","MedicinalProductAuthorization.status":"CodeableConcept","MedicinalProductAuthorization.statusDate":"dateTime","MedicinalProductAuthorization.subject":"Reference","MedicinalProductAuthorization.text":"Narrative","MedicinalProductAuthorization.validityPeriod":"Period","MedicinalProductContraindication.comorbidity":"CodeableConcept","MedicinalProductContraindication.contained":"Resource","MedicinalProductContraindication.disease":"CodeableConcept","MedicinalProductContraindication.diseaseStatus":"CodeableConcept","MedicinalProductContraindication.extension":"Extension","MedicinalProductContraindication.id":"System.String","MedicinalProductContraindication.implicitRules":"uri","MedicinalProductContraindication.language":"code","MedicinalProductContraindication.meta":"Meta","MedicinalProductContraindication.modifierExtension":"Extension","MedicinalProductContraindication.otherTherapy":"BackboneElement","MedicinalProductContraindication.otherTherapy.extension":"Extension","MedicinalProductContraindication.otherTherapy.id":"System.String","MedicinalProductContraindication.otherTherapy.medicationCodeableConcept":"CodeableConcept","MedicinalProductContraindication.otherTherapy.medicationReference":"Reference","MedicinalProductContraindication.otherTherapy.modifierExtension":"Extension","MedicinalProductContraindication.otherTherapy.therapyRelationshipType":"CodeableConcept","MedicinalProductContraindication.population":"Population","MedicinalProductContraindication.subject":"Reference","MedicinalProductContraindication.text":"Narrative","MedicinalProductContraindication.therapeuticIndication":"Reference","MedicinalProductIndication.comorbidity":"CodeableConcept","MedicinalProductIndication.contained":"Resource","MedicinalProductIndication.diseaseStatus":"CodeableConcept","MedicinalProductIndication.diseaseSymptomProcedure":"CodeableConcept","MedicinalProductIndication.duration":"Quantity","MedicinalProductIndication.extension":"Extension","MedicinalProductIndication.id":"System.String","MedicinalProductIndication.implicitRules":"uri","MedicinalProductIndication.intendedEffect":"CodeableConcept","MedicinalProductIndication.language":"code","MedicinalProductIndication.meta":"Meta","MedicinalProductIndication.modifierExtension":"Extension","MedicinalProductIndication.otherTherapy":"BackboneElement","MedicinalProductIndication.otherTherapy.extension":"Extension","MedicinalProductIndication.otherTherapy.id":"System.String","MedicinalProductIndication.otherTherapy.medicationCodeableConcept":"CodeableConcept","MedicinalProductIndication.otherTherapy.medicationReference":"Reference","MedicinalProductIndication.otherTherapy.modifierExtension":"Extension","MedicinalProductIndication.otherTherapy.therapyRelationshipType":"CodeableConcept","MedicinalProductIndication.population":"Population","MedicinalProductIndication.subject":"Reference","MedicinalProductIndication.text":"Narrative","MedicinalProductIndication.undesirableEffect":"Reference","MedicinalProductIngredient.allergenicIndicator":"boolean","MedicinalProductIngredient.contained":"Resource","MedicinalProductIngredient.extension":"Extension","MedicinalProductIngredient.id":"System.String","MedicinalProductIngredient.identifier":"Identifier","MedicinalProductIngredient.implicitRules":"uri","MedicinalProductIngredient.language":"code","MedicinalProductIngredient.manufacturer":"Reference","MedicinalProductIngredient.meta":"Meta","MedicinalProductIngredient.modifierExtension":"Extension","MedicinalProductIngredient.role":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance":"BackboneElement","MedicinalProductIngredient.specifiedSubstance.code":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.confidentiality":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.extension":"Extension","MedicinalProductIngredient.specifiedSubstance.group":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.id":"System.String","MedicinalProductIngredient.specifiedSubstance.modifierExtension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength":"BackboneElement","MedicinalProductIngredient.specifiedSubstance.strength.concentration":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.concentrationLowLimit":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.country":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.strength.extension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.id":"System.String","MedicinalProductIngredient.specifiedSubstance.strength.measurementPoint":"string","MedicinalProductIngredient.specifiedSubstance.strength.modifierExtension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.presentation":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.presentationLowLimit":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength":"BackboneElement","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.country":"CodeableConcept","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.extension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.id":"System.String","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.measurementPoint":"string","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.modifierExtension":"Extension","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.strength":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.strengthLowLimit":"Ratio","MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.substance":"CodeableConcept","MedicinalProductIngredient.substance":"BackboneElement","MedicinalProductIngredient.substance.code":"CodeableConcept","MedicinalProductIngredient.substance.extension":"Extension","MedicinalProductIngredient.substance.id":"System.String","MedicinalProductIngredient.substance.modifierExtension":"Extension","MedicinalProductIngredient.text":"Narrative","MedicinalProductInteraction.contained":"Resource","MedicinalProductInteraction.description":"string","MedicinalProductInteraction.effect":"CodeableConcept","MedicinalProductInteraction.extension":"Extension","MedicinalProductInteraction.id":"System.String","MedicinalProductInteraction.implicitRules":"uri","MedicinalProductInteraction.incidence":"CodeableConcept","MedicinalProductInteraction.interactant":"BackboneElement","MedicinalProductInteraction.interactant.extension":"Extension","MedicinalProductInteraction.interactant.id":"System.String","MedicinalProductInteraction.interactant.itemCodeableConcept":"CodeableConcept","MedicinalProductInteraction.interactant.itemReference":"Reference","MedicinalProductInteraction.interactant.modifierExtension":"Extension","MedicinalProductInteraction.language":"code","MedicinalProductInteraction.management":"CodeableConcept","MedicinalProductInteraction.meta":"Meta","MedicinalProductInteraction.modifierExtension":"Extension","MedicinalProductInteraction.subject":"Reference","MedicinalProductInteraction.text":"Narrative","MedicinalProductInteraction.type":"CodeableConcept","MedicinalProductManufactured.contained":"Resource","MedicinalProductManufactured.extension":"Extension","MedicinalProductManufactured.id":"System.String","MedicinalProductManufactured.implicitRules":"uri","MedicinalProductManufactured.ingredient":"Reference","MedicinalProductManufactured.language":"code","MedicinalProductManufactured.manufacturedDoseForm":"CodeableConcept","MedicinalProductManufactured.manufacturer":"Reference","MedicinalProductManufactured.meta":"Meta","MedicinalProductManufactured.modifierExtension":"Extension","MedicinalProductManufactured.otherCharacteristics":"CodeableConcept","MedicinalProductManufactured.physicalCharacteristics":"ProdCharacteristic","MedicinalProductManufactured.quantity":"Quantity","MedicinalProductManufactured.text":"Narrative","MedicinalProductManufactured.unitOfPresentation":"CodeableConcept","MedicinalProductPackaged.batchIdentifier":"BackboneElement","MedicinalProductPackaged.batchIdentifier.extension":"Extension","MedicinalProductPackaged.batchIdentifier.id":"System.String","MedicinalProductPackaged.batchIdentifier.immediatePackaging":"Identifier","MedicinalProductPackaged.batchIdentifier.modifierExtension":"Extension","MedicinalProductPackaged.batchIdentifier.outerPackaging":"Identifier","MedicinalProductPackaged.contained":"Resource","MedicinalProductPackaged.description":"string","MedicinalProductPackaged.extension":"Extension","MedicinalProductPackaged.id":"System.String","MedicinalProductPackaged.identifier":"Identifier","MedicinalProductPackaged.implicitRules":"uri","MedicinalProductPackaged.language":"code","MedicinalProductPackaged.legalStatusOfSupply":"CodeableConcept","MedicinalProductPackaged.manufacturer":"Reference","MedicinalProductPackaged.marketingAuthorization":"Reference","MedicinalProductPackaged.marketingStatus":"MarketingStatus","MedicinalProductPackaged.meta":"Meta","MedicinalProductPackaged.modifierExtension":"Extension","MedicinalProductPackaged.packageItem":"BackboneElement","MedicinalProductPackaged.packageItem.alternateMaterial":"CodeableConcept","MedicinalProductPackaged.packageItem.device":"Reference","MedicinalProductPackaged.packageItem.extension":"Extension","MedicinalProductPackaged.packageItem.id":"System.String","MedicinalProductPackaged.packageItem.identifier":"Identifier","MedicinalProductPackaged.packageItem.manufacturedItem":"Reference","MedicinalProductPackaged.packageItem.manufacturer":"Reference","MedicinalProductPackaged.packageItem.material":"CodeableConcept","MedicinalProductPackaged.packageItem.modifierExtension":"Extension","MedicinalProductPackaged.packageItem.otherCharacteristics":"CodeableConcept","MedicinalProductPackaged.packageItem.physicalCharacteristics":"ProdCharacteristic","MedicinalProductPackaged.packageItem.quantity":"Quantity","MedicinalProductPackaged.packageItem.shelfLifeStorage":"ProductShelfLife","MedicinalProductPackaged.packageItem.type":"CodeableConcept","MedicinalProductPackaged.subject":"Reference","MedicinalProductPackaged.text":"Narrative","MedicinalProductPharmaceutical.administrableDoseForm":"CodeableConcept","MedicinalProductPharmaceutical.characteristics":"BackboneElement","MedicinalProductPharmaceutical.characteristics.code":"CodeableConcept","MedicinalProductPharmaceutical.characteristics.extension":"Extension","MedicinalProductPharmaceutical.characteristics.id":"System.String","MedicinalProductPharmaceutical.characteristics.modifierExtension":"Extension","MedicinalProductPharmaceutical.characteristics.status":"CodeableConcept","MedicinalProductPharmaceutical.contained":"Resource","MedicinalProductPharmaceutical.device":"Reference","MedicinalProductPharmaceutical.extension":"Extension","MedicinalProductPharmaceutical.id":"System.String","MedicinalProductPharmaceutical.identifier":"Identifier","MedicinalProductPharmaceutical.implicitRules":"uri","MedicinalProductPharmaceutical.ingredient":"Reference","MedicinalProductPharmaceutical.language":"code","MedicinalProductPharmaceutical.meta":"Meta","MedicinalProductPharmaceutical.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration":"BackboneElement","MedicinalProductPharmaceutical.routeOfAdministration.code":"CodeableConcept","MedicinalProductPharmaceutical.routeOfAdministration.extension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.firstDose":"Quantity","MedicinalProductPharmaceutical.routeOfAdministration.id":"System.String","MedicinalProductPharmaceutical.routeOfAdministration.maxDosePerDay":"Quantity","MedicinalProductPharmaceutical.routeOfAdministration.maxDosePerTreatmentPeriod":"Ratio","MedicinalProductPharmaceutical.routeOfAdministration.maxSingleDose":"Quantity","MedicinalProductPharmaceutical.routeOfAdministration.maxTreatmentPeriod":"Duration","MedicinalProductPharmaceutical.routeOfAdministration.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies":"BackboneElement","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.code":"CodeableConcept","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.extension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.id":"System.String","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod":"BackboneElement","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.extension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.id":"System.String","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.modifierExtension":"Extension","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.supportingInformation":"string","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.tissue":"CodeableConcept","MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.value":"Quantity","MedicinalProductPharmaceutical.text":"Narrative","MedicinalProductPharmaceutical.unitOfPresentation":"CodeableConcept","MedicinalProductUndesirableEffect.classification":"CodeableConcept","MedicinalProductUndesirableEffect.contained":"Resource","MedicinalProductUndesirableEffect.extension":"Extension","MedicinalProductUndesirableEffect.frequencyOfOccurrence":"CodeableConcept","MedicinalProductUndesirableEffect.id":"System.String","MedicinalProductUndesirableEffect.implicitRules":"uri","MedicinalProductUndesirableEffect.language":"code","MedicinalProductUndesirableEffect.meta":"Meta","MedicinalProductUndesirableEffect.modifierExtension":"Extension","MedicinalProductUndesirableEffect.population":"Population","MedicinalProductUndesirableEffect.subject":"Reference","MedicinalProductUndesirableEffect.symptomConditionEffect":"CodeableConcept","MedicinalProductUndesirableEffect.text":"Narrative","MessageDefinition.allowedResponse":"BackboneElement","MessageDefinition.allowedResponse.extension":"Extension","MessageDefinition.allowedResponse.id":"System.String","MessageDefinition.allowedResponse.message":"canonical","MessageDefinition.allowedResponse.modifierExtension":"Extension","MessageDefinition.allowedResponse.situation":"markdown","MessageDefinition.base":"canonical","MessageDefinition.category":"code","MessageDefinition.contact":"ContactDetail","MessageDefinition.contained":"Resource","MessageDefinition.copyright":"markdown","MessageDefinition.date":"dateTime","MessageDefinition.description":"markdown","MessageDefinition.eventCoding":"Coding","MessageDefinition.eventUri":"uri","MessageDefinition.experimental":"boolean","MessageDefinition.extension":"Extension","MessageDefinition.focus":"BackboneElement","MessageDefinition.focus.code":"code","MessageDefinition.focus.extension":"Extension","MessageDefinition.focus.id":"System.String","MessageDefinition.focus.max":"string","MessageDefinition.focus.min":"unsignedInt","MessageDefinition.focus.modifierExtension":"Extension","MessageDefinition.focus.profile":"canonical","MessageDefinition.graph":"canonical","MessageDefinition.id":"System.String","MessageDefinition.identifier":"Identifier","MessageDefinition.implicitRules":"uri","MessageDefinition.jurisdiction":"CodeableConcept","MessageDefinition.language":"code","MessageDefinition.meta":"Meta","MessageDefinition.modifierExtension":"Extension","MessageDefinition.name":"string","MessageDefinition.parent":"canonical","MessageDefinition.publisher":"string","MessageDefinition.purpose":"markdown","MessageDefinition.replaces":"canonical","MessageDefinition.responseRequired":"code","MessageDefinition.status":"code","MessageDefinition.text":"Narrative","MessageDefinition.title":"string","MessageDefinition.url":"uri","MessageDefinition.useContext":"UsageContext","MessageDefinition.version":"string","MessageHeader.author":"Reference","MessageHeader.contained":"Resource","MessageHeader.definition":"canonical","MessageHeader.destination":"BackboneElement","MessageHeader.destination.endpoint":"url","MessageHeader.destination.extension":"Extension","MessageHeader.destination.id":"System.String","MessageHeader.destination.modifierExtension":"Extension","MessageHeader.destination.name":"string","MessageHeader.destination.receiver":"Reference","MessageHeader.destination.target":"Reference","MessageHeader.enterer":"Reference","MessageHeader.eventCoding":"Coding","MessageHeader.eventUri":"uri","MessageHeader.extension":"Extension","MessageHeader.focus":"Reference","MessageHeader.id":"System.String","MessageHeader.implicitRules":"uri","MessageHeader.language":"code","MessageHeader.meta":"Meta","MessageHeader.modifierExtension":"Extension","MessageHeader.reason":"CodeableConcept","MessageHeader.response":"BackboneElement","MessageHeader.response.code":"code","MessageHeader.response.details":"Reference","MessageHeader.response.extension":"Extension","MessageHeader.response.id":"System.String","MessageHeader.response.identifier":"id","MessageHeader.response.modifierExtension":"Extension","MessageHeader.responsible":"Reference","MessageHeader.sender":"Reference","MessageHeader.source":"BackboneElement","MessageHeader.source.contact":"ContactPoint","MessageHeader.source.endpoint":"url","MessageHeader.source.extension":"Extension","MessageHeader.source.id":"System.String","MessageHeader.source.modifierExtension":"Extension","MessageHeader.source.name":"string","MessageHeader.source.software":"string","MessageHeader.source.version":"string","MessageHeader.text":"Narrative","Meta.extension":"Extension","Meta.id":"System.String","Meta.lastUpdated":"instant","Meta.profile":"canonical","Meta.security":"Coding","Meta.source":"uri","Meta.tag":"Coding","Meta.versionId":"id","MetadataResource.contact":"ContactDetail","MetadataResource.contained":"Resource","MetadataResource.date":"dateTime","MetadataResource.description":"markdown","MetadataResource.experimental":"boolean","MetadataResource.extension":"Extension","MetadataResource.id":"System.String","MetadataResource.implicitRules":"uri","MetadataResource.jurisdiction":"CodeableConcept","MetadataResource.language":"code","MetadataResource.meta":"Meta","MetadataResource.modifierExtension":"Extension","MetadataResource.name":"string","MetadataResource.publisher":"string","MetadataResource.status":"code","MetadataResource.text":"Narrative","MetadataResource.title":"string","MetadataResource.url":"uri","MetadataResource.useContext":"UsageContext","MetadataResource.version":"string","MolecularSequence.contained":"Resource","MolecularSequence.coordinateSystem":"integer","MolecularSequence.device":"Reference","MolecularSequence.extension":"Extension","MolecularSequence.id":"System.String","MolecularSequence.identifier":"Identifier","MolecularSequence.implicitRules":"uri","MolecularSequence.language":"code","MolecularSequence.meta":"Meta","MolecularSequence.modifierExtension":"Extension","MolecularSequence.observedSeq":"string","MolecularSequence.patient":"Reference","MolecularSequence.performer":"Reference","MolecularSequence.pointer":"Reference","MolecularSequence.quality":"BackboneElement","MolecularSequence.quality.end":"integer","MolecularSequence.quality.extension":"Extension","MolecularSequence.quality.fScore":"decimal","MolecularSequence.quality.gtFP":"decimal","MolecularSequence.quality.id":"System.String","MolecularSequence.quality.method":"CodeableConcept","MolecularSequence.quality.modifierExtension":"Extension","MolecularSequence.quality.precision":"decimal","MolecularSequence.quality.queryFP":"decimal","MolecularSequence.quality.queryTP":"decimal","MolecularSequence.quality.recall":"decimal","MolecularSequence.quality.roc":"BackboneElement","MolecularSequence.quality.roc.extension":"Extension","MolecularSequence.quality.roc.fMeasure":"decimal","MolecularSequence.quality.roc.id":"System.String","MolecularSequence.quality.roc.modifierExtension":"Extension","MolecularSequence.quality.roc.numFN":"integer","MolecularSequence.quality.roc.numFP":"integer","MolecularSequence.quality.roc.numTP":"integer","MolecularSequence.quality.roc.precision":"decimal","MolecularSequence.quality.roc.score":"integer","MolecularSequence.quality.roc.sensitivity":"decimal","MolecularSequence.quality.score":"Quantity","MolecularSequence.quality.standardSequence":"CodeableConcept","MolecularSequence.quality.start":"integer","MolecularSequence.quality.truthFN":"decimal","MolecularSequence.quality.truthTP":"decimal","MolecularSequence.quality.type":"code","MolecularSequence.quantity":"Quantity","MolecularSequence.readCoverage":"integer","MolecularSequence.referenceSeq":"BackboneElement","MolecularSequence.referenceSeq.chromosome":"CodeableConcept","MolecularSequence.referenceSeq.extension":"Extension","MolecularSequence.referenceSeq.genomeBuild":"string","MolecularSequence.referenceSeq.id":"System.String","MolecularSequence.referenceSeq.modifierExtension":"Extension","MolecularSequence.referenceSeq.orientation":"code","MolecularSequence.referenceSeq.referenceSeqId":"CodeableConcept","MolecularSequence.referenceSeq.referenceSeqPointer":"Reference","MolecularSequence.referenceSeq.referenceSeqString":"string","MolecularSequence.referenceSeq.strand":"code","MolecularSequence.referenceSeq.windowEnd":"integer","MolecularSequence.referenceSeq.windowStart":"integer","MolecularSequence.repository":"BackboneElement","MolecularSequence.repository.datasetId":"string","MolecularSequence.repository.extension":"Extension","MolecularSequence.repository.id":"System.String","MolecularSequence.repository.modifierExtension":"Extension","MolecularSequence.repository.name":"string","MolecularSequence.repository.readsetId":"string","MolecularSequence.repository.type":"code","MolecularSequence.repository.url":"uri","MolecularSequence.repository.variantsetId":"string","MolecularSequence.specimen":"Reference","MolecularSequence.structureVariant":"BackboneElement","MolecularSequence.structureVariant.exact":"boolean","MolecularSequence.structureVariant.extension":"Extension","MolecularSequence.structureVariant.id":"System.String","MolecularSequence.structureVariant.inner":"BackboneElement","MolecularSequence.structureVariant.inner.end":"integer","MolecularSequence.structureVariant.inner.extension":"Extension","MolecularSequence.structureVariant.inner.id":"System.String","MolecularSequence.structureVariant.inner.modifierExtension":"Extension","MolecularSequence.structureVariant.inner.start":"integer","MolecularSequence.structureVariant.length":"integer","MolecularSequence.structureVariant.modifierExtension":"Extension","MolecularSequence.structureVariant.outer":"BackboneElement","MolecularSequence.structureVariant.outer.end":"integer","MolecularSequence.structureVariant.outer.extension":"Extension","MolecularSequence.structureVariant.outer.id":"System.String","MolecularSequence.structureVariant.outer.modifierExtension":"Extension","MolecularSequence.structureVariant.outer.start":"integer","MolecularSequence.structureVariant.variantType":"CodeableConcept","MolecularSequence.text":"Narrative","MolecularSequence.type":"code","MolecularSequence.variant":"BackboneElement","MolecularSequence.variant.cigar":"string","MolecularSequence.variant.end":"integer","MolecularSequence.variant.extension":"Extension","MolecularSequence.variant.id":"System.String","MolecularSequence.variant.modifierExtension":"Extension","MolecularSequence.variant.observedAllele":"string","MolecularSequence.variant.referenceAllele":"string","MolecularSequence.variant.start":"integer","MolecularSequence.variant.variantPointer":"Reference","Money.currency":"code","Money.extension":"Extension","Money.id":"System.String","Money.value":"decimal","NamingSystem.contact":"ContactDetail","NamingSystem.contained":"Resource","NamingSystem.date":"dateTime","NamingSystem.description":"markdown","NamingSystem.extension":"Extension","NamingSystem.id":"System.String","NamingSystem.implicitRules":"uri","NamingSystem.jurisdiction":"CodeableConcept","NamingSystem.kind":"code","NamingSystem.language":"code","NamingSystem.meta":"Meta","NamingSystem.modifierExtension":"Extension","NamingSystem.name":"string","NamingSystem.publisher":"string","NamingSystem.responsible":"string","NamingSystem.status":"code","NamingSystem.text":"Narrative","NamingSystem.type":"CodeableConcept","NamingSystem.uniqueId":"BackboneElement","NamingSystem.uniqueId.comment":"string","NamingSystem.uniqueId.extension":"Extension","NamingSystem.uniqueId.id":"System.String","NamingSystem.uniqueId.modifierExtension":"Extension","NamingSystem.uniqueId.period":"Period","NamingSystem.uniqueId.preferred":"boolean","NamingSystem.uniqueId.type":"code","NamingSystem.uniqueId.value":"string","NamingSystem.usage":"string","NamingSystem.useContext":"UsageContext","Narrative.div":"xhtml","Narrative.extension":"Extension","Narrative.id":"System.String","Narrative.status":"code","NutritionOrder.allergyIntolerance":"Reference","NutritionOrder.contained":"Resource","NutritionOrder.dateTime":"dateTime","NutritionOrder.encounter":"Reference","NutritionOrder.enteralFormula":"BackboneElement","NutritionOrder.enteralFormula.additiveProductName":"string","NutritionOrder.enteralFormula.additiveType":"CodeableConcept","NutritionOrder.enteralFormula.administration":"BackboneElement","NutritionOrder.enteralFormula.administration.extension":"Extension","NutritionOrder.enteralFormula.administration.id":"System.String","NutritionOrder.enteralFormula.administration.modifierExtension":"Extension","NutritionOrder.enteralFormula.administration.quantity":"Quantity","NutritionOrder.enteralFormula.administration.rateQuantity":"Quantity","NutritionOrder.enteralFormula.administration.rateRatio":"Ratio","NutritionOrder.enteralFormula.administration.schedule":"Timing","NutritionOrder.enteralFormula.administrationInstruction":"string","NutritionOrder.enteralFormula.baseFormulaProductName":"string","NutritionOrder.enteralFormula.baseFormulaType":"CodeableConcept","NutritionOrder.enteralFormula.caloricDensity":"Quantity","NutritionOrder.enteralFormula.extension":"Extension","NutritionOrder.enteralFormula.id":"System.String","NutritionOrder.enteralFormula.maxVolumeToDeliver":"Quantity","NutritionOrder.enteralFormula.modifierExtension":"Extension","NutritionOrder.enteralFormula.routeofAdministration":"CodeableConcept","NutritionOrder.excludeFoodModifier":"CodeableConcept","NutritionOrder.extension":"Extension","NutritionOrder.foodPreferenceModifier":"CodeableConcept","NutritionOrder.id":"System.String","NutritionOrder.identifier":"Identifier","NutritionOrder.implicitRules":"uri","NutritionOrder.instantiates":"uri","NutritionOrder.instantiatesCanonical":"canonical","NutritionOrder.instantiatesUri":"uri","NutritionOrder.intent":"code","NutritionOrder.language":"code","NutritionOrder.meta":"Meta","NutritionOrder.modifierExtension":"Extension","NutritionOrder.note":"Annotation","NutritionOrder.oralDiet":"BackboneElement","NutritionOrder.oralDiet.extension":"Extension","NutritionOrder.oralDiet.fluidConsistencyType":"CodeableConcept","NutritionOrder.oralDiet.id":"System.String","NutritionOrder.oralDiet.instruction":"string","NutritionOrder.oralDiet.modifierExtension":"Extension","NutritionOrder.oralDiet.nutrient":"BackboneElement","NutritionOrder.oralDiet.nutrient.amount":"Quantity","NutritionOrder.oralDiet.nutrient.extension":"Extension","NutritionOrder.oralDiet.nutrient.id":"System.String","NutritionOrder.oralDiet.nutrient.modifier":"CodeableConcept","NutritionOrder.oralDiet.nutrient.modifierExtension":"Extension","NutritionOrder.oralDiet.schedule":"Timing","NutritionOrder.oralDiet.texture":"BackboneElement","NutritionOrder.oralDiet.texture.extension":"Extension","NutritionOrder.oralDiet.texture.foodType":"CodeableConcept","NutritionOrder.oralDiet.texture.id":"System.String","NutritionOrder.oralDiet.texture.modifier":"CodeableConcept","NutritionOrder.oralDiet.texture.modifierExtension":"Extension","NutritionOrder.oralDiet.type":"CodeableConcept","NutritionOrder.orderer":"Reference","NutritionOrder.patient":"Reference","NutritionOrder.status":"code","NutritionOrder.supplement":"BackboneElement","NutritionOrder.supplement.extension":"Extension","NutritionOrder.supplement.id":"System.String","NutritionOrder.supplement.instruction":"string","NutritionOrder.supplement.modifierExtension":"Extension","NutritionOrder.supplement.productName":"string","NutritionOrder.supplement.quantity":"Quantity","NutritionOrder.supplement.schedule":"Timing","NutritionOrder.supplement.type":"CodeableConcept","NutritionOrder.text":"Narrative","Observation.basedOn":"Reference","Observation.bodySite":"CodeableConcept","Observation.category":"CodeableConcept","Observation.code":"CodeableConcept","Observation.component":"BackboneElement","Observation.component.code":"CodeableConcept","Observation.component.dataAbsentReason":"CodeableConcept","Observation.component.extension":"Extension","Observation.component.id":"System.String","Observation.component.interpretation":"CodeableConcept","Observation.component.modifierExtension":"Extension","Observation.component.valueBoolean":"boolean","Observation.component.valueCodeableConcept":"CodeableConcept","Observation.component.valueDateTime":"dateTime","Observation.component.valueInteger":"integer","Observation.component.valuePeriod":"Period","Observation.component.valueQuantity":"Quantity","Observation.component.valueRange":"Range","Observation.component.valueRatio":"Ratio","Observation.component.valueSampledData":"SampledData","Observation.component.valueString":"string","Observation.component.valueTime":"time","Observation.contained":"Resource","Observation.dataAbsentReason":"CodeableConcept","Observation.derivedFrom":"Reference","Observation.device":"Reference","Observation.effectiveDateTime":"dateTime","Observation.effectiveInstant":"instant","Observation.effectivePeriod":"Period","Observation.effectiveTiming":"Timing","Observation.encounter":"Reference","Observation.extension":"Extension","Observation.focus":"Reference","Observation.hasMember":"Reference","Observation.id":"System.String","Observation.identifier":"Identifier","Observation.implicitRules":"uri","Observation.interpretation":"CodeableConcept","Observation.issued":"instant","Observation.language":"code","Observation.meta":"Meta","Observation.method":"CodeableConcept","Observation.modifierExtension":"Extension","Observation.note":"Annotation","Observation.partOf":"Reference","Observation.performer":"Reference","Observation.referenceRange":"BackboneElement","Observation.referenceRange.age":"Range","Observation.referenceRange.appliesTo":"CodeableConcept","Observation.referenceRange.extension":"Extension","Observation.referenceRange.high":"Quantity","Observation.referenceRange.id":"System.String","Observation.referenceRange.low":"Quantity","Observation.referenceRange.modifierExtension":"Extension","Observation.referenceRange.text":"string","Observation.referenceRange.type":"CodeableConcept","Observation.specimen":"Reference","Observation.status":"code","Observation.subject":"Reference","Observation.text":"Narrative","Observation.valueBoolean":"boolean","Observation.valueCodeableConcept":"CodeableConcept","Observation.valueDateTime":"dateTime","Observation.valueInteger":"integer","Observation.valuePeriod":"Period","Observation.valueQuantity":"Quantity","Observation.valueRange":"Range","Observation.valueRatio":"Ratio","Observation.valueSampledData":"SampledData","Observation.valueString":"string","Observation.valueTime":"time","ObservationDefinition.abnormalCodedValueSet":"Reference","ObservationDefinition.category":"CodeableConcept","ObservationDefinition.code":"CodeableConcept","ObservationDefinition.contained":"Resource","ObservationDefinition.criticalCodedValueSet":"Reference","ObservationDefinition.extension":"Extension","ObservationDefinition.id":"System.String","ObservationDefinition.identifier":"Identifier","ObservationDefinition.implicitRules":"uri","ObservationDefinition.language":"code","ObservationDefinition.meta":"Meta","ObservationDefinition.method":"CodeableConcept","ObservationDefinition.modifierExtension":"Extension","ObservationDefinition.multipleResultsAllowed":"boolean","ObservationDefinition.normalCodedValueSet":"Reference","ObservationDefinition.permittedDataType":"code","ObservationDefinition.preferredReportName":"string","ObservationDefinition.qualifiedInterval":"BackboneElement","ObservationDefinition.qualifiedInterval.age":"Range","ObservationDefinition.qualifiedInterval.appliesTo":"CodeableConcept","ObservationDefinition.qualifiedInterval.category":"code","ObservationDefinition.qualifiedInterval.condition":"string","ObservationDefinition.qualifiedInterval.context":"CodeableConcept","ObservationDefinition.qualifiedInterval.extension":"Extension","ObservationDefinition.qualifiedInterval.gender":"code","ObservationDefinition.qualifiedInterval.gestationalAge":"Range","ObservationDefinition.qualifiedInterval.id":"System.String","ObservationDefinition.qualifiedInterval.modifierExtension":"Extension","ObservationDefinition.qualifiedInterval.range":"Range","ObservationDefinition.quantitativeDetails":"BackboneElement","ObservationDefinition.quantitativeDetails.conversionFactor":"decimal","ObservationDefinition.quantitativeDetails.customaryUnit":"CodeableConcept","ObservationDefinition.quantitativeDetails.decimalPrecision":"integer","ObservationDefinition.quantitativeDetails.extension":"Extension","ObservationDefinition.quantitativeDetails.id":"System.String","ObservationDefinition.quantitativeDetails.modifierExtension":"Extension","ObservationDefinition.quantitativeDetails.unit":"CodeableConcept","ObservationDefinition.text":"Narrative","ObservationDefinition.validCodedValueSet":"Reference","OperationDefinition.affectsState":"boolean","OperationDefinition.base":"canonical","OperationDefinition.code":"code","OperationDefinition.comment":"markdown","OperationDefinition.contact":"ContactDetail","OperationDefinition.contained":"Resource","OperationDefinition.date":"dateTime","OperationDefinition.description":"markdown","OperationDefinition.experimental":"boolean","OperationDefinition.extension":"Extension","OperationDefinition.id":"System.String","OperationDefinition.implicitRules":"uri","OperationDefinition.inputProfile":"canonical","OperationDefinition.instance":"boolean","OperationDefinition.jurisdiction":"CodeableConcept","OperationDefinition.kind":"code","OperationDefinition.language":"code","OperationDefinition.meta":"Meta","OperationDefinition.modifierExtension":"Extension","OperationDefinition.name":"string","OperationDefinition.outputProfile":"canonical","OperationDefinition.overload":"BackboneElement","OperationDefinition.overload.comment":"string","OperationDefinition.overload.extension":"Extension","OperationDefinition.overload.id":"System.String","OperationDefinition.overload.modifierExtension":"Extension","OperationDefinition.overload.parameterName":"string","OperationDefinition.parameter":"BackboneElement","OperationDefinition.parameter.binding":"BackboneElement","OperationDefinition.parameter.binding.extension":"Extension","OperationDefinition.parameter.binding.id":"System.String","OperationDefinition.parameter.binding.modifierExtension":"Extension","OperationDefinition.parameter.binding.strength":"code","OperationDefinition.parameter.binding.valueSet":"canonical","OperationDefinition.parameter.documentation":"string","OperationDefinition.parameter.extension":"Extension","OperationDefinition.parameter.id":"System.String","OperationDefinition.parameter.max":"string","OperationDefinition.parameter.min":"integer","OperationDefinition.parameter.modifierExtension":"Extension","OperationDefinition.parameter.name":"code","OperationDefinition.parameter.referencedFrom":"BackboneElement","OperationDefinition.parameter.referencedFrom.extension":"Extension","OperationDefinition.parameter.referencedFrom.id":"System.String","OperationDefinition.parameter.referencedFrom.modifierExtension":"Extension","OperationDefinition.parameter.referencedFrom.source":"string","OperationDefinition.parameter.referencedFrom.sourceId":"string","OperationDefinition.parameter.searchType":"code","OperationDefinition.parameter.targetProfile":"canonical","OperationDefinition.parameter.type":"code","OperationDefinition.parameter.use":"code","OperationDefinition.publisher":"string","OperationDefinition.purpose":"markdown","OperationDefinition.resource":"code","OperationDefinition.status":"code","OperationDefinition.system":"boolean","OperationDefinition.text":"Narrative","OperationDefinition.title":"string","OperationDefinition.type":"boolean","OperationDefinition.url":"uri","OperationDefinition.useContext":"UsageContext","OperationDefinition.version":"string","OperationOutcome.contained":"Resource","OperationOutcome.extension":"Extension","OperationOutcome.id":"System.String","OperationOutcome.implicitRules":"uri","OperationOutcome.issue":"BackboneElement","OperationOutcome.issue.code":"code","OperationOutcome.issue.details":"CodeableConcept","OperationOutcome.issue.diagnostics":"string","OperationOutcome.issue.expression":"string","OperationOutcome.issue.extension":"Extension","OperationOutcome.issue.id":"System.String","OperationOutcome.issue.location":"string","OperationOutcome.issue.modifierExtension":"Extension","OperationOutcome.issue.severity":"code","OperationOutcome.language":"code","OperationOutcome.meta":"Meta","OperationOutcome.modifierExtension":"Extension","OperationOutcome.text":"Narrative","Organization.active":"boolean","Organization.address":"Address","Organization.alias":"string","Organization.contact":"BackboneElement","Organization.contact.address":"Address","Organization.contact.extension":"Extension","Organization.contact.id":"System.String","Organization.contact.modifierExtension":"Extension","Organization.contact.name":"HumanName","Organization.contact.purpose":"CodeableConcept","Organization.contact.telecom":"ContactPoint","Organization.contained":"Resource","Organization.endpoint":"Reference","Organization.extension":"Extension","Organization.id":"System.String","Organization.identifier":"Identifier","Organization.implicitRules":"uri","Organization.language":"code","Organization.meta":"Meta","Organization.modifierExtension":"Extension","Organization.name":"string","Organization.partOf":"Reference","Organization.telecom":"ContactPoint","Organization.text":"Narrative","Organization.type":"CodeableConcept","OrganizationAffiliation.active":"boolean","OrganizationAffiliation.code":"CodeableConcept","OrganizationAffiliation.contained":"Resource","OrganizationAffiliation.endpoint":"Reference","OrganizationAffiliation.extension":"Extension","OrganizationAffiliation.healthcareService":"Reference","OrganizationAffiliation.id":"System.String","OrganizationAffiliation.identifier":"Identifier","OrganizationAffiliation.implicitRules":"uri","OrganizationAffiliation.language":"code","OrganizationAffiliation.location":"Reference","OrganizationAffiliation.meta":"Meta","OrganizationAffiliation.modifierExtension":"Extension","OrganizationAffiliation.network":"Reference","OrganizationAffiliation.organization":"Reference","OrganizationAffiliation.participatingOrganization":"Reference","OrganizationAffiliation.period":"Period","OrganizationAffiliation.specialty":"CodeableConcept","OrganizationAffiliation.telecom":"ContactPoint","OrganizationAffiliation.text":"Narrative","ParameterDefinition.documentation":"string","ParameterDefinition.extension":"Extension","ParameterDefinition.id":"System.String","ParameterDefinition.max":"string","ParameterDefinition.min":"integer","ParameterDefinition.name":"code","ParameterDefinition.profile":"canonical","ParameterDefinition.type":"code","ParameterDefinition.use":"code","Parameters.id":"System.String","Parameters.implicitRules":"uri","Parameters.language":"code","Parameters.meta":"Meta","Parameters.parameter":"BackboneElement","Parameters.parameter.extension":"Extension","Parameters.parameter.id":"System.String","Parameters.parameter.modifierExtension":"Extension","Parameters.parameter.name":"string","Parameters.parameter.resource":"Resource","Parameters.parameter.valueAddress":"Address","Parameters.parameter.valueAge":"Age","Parameters.parameter.valueAnnotation":"Annotation","Parameters.parameter.valueAttachment":"Attachment","Parameters.parameter.valueBase64Binary":"base64Binary","Parameters.parameter.valueBoolean":"boolean","Parameters.parameter.valueCanonical":"canonical","Parameters.parameter.valueCode":"code","Parameters.parameter.valueCodeableConcept":"CodeableConcept","Parameters.parameter.valueCoding":"Coding","Parameters.parameter.valueContactDetail":"ContactDetail","Parameters.parameter.valueContactPoint":"ContactPoint","Parameters.parameter.valueContributor":"Contributor","Parameters.parameter.valueCount":"Count","Parameters.parameter.valueDataRequirement":"DataRequirement","Parameters.parameter.valueDate":"date","Parameters.parameter.valueDateTime":"dateTime","Parameters.parameter.valueDecimal":"decimal","Parameters.parameter.valueDistance":"Distance","Parameters.parameter.valueDosage":"Dosage","Parameters.parameter.valueDuration":"Duration","Parameters.parameter.valueExpression":"Expression","Parameters.parameter.valueHumanName":"HumanName","Parameters.parameter.valueId":"id","Parameters.parameter.valueIdentifier":"Identifier","Parameters.parameter.valueInstant":"instant","Parameters.parameter.valueInteger":"integer","Parameters.parameter.valueMarkdown":"markdown","Parameters.parameter.valueMeta":"Meta","Parameters.parameter.valueMoney":"Money","Parameters.parameter.valueOid":"oid","Parameters.parameter.valueParameterDefinition":"ParameterDefinition","Parameters.parameter.valuePeriod":"Period","Parameters.parameter.valuePositiveInt":"positiveInt","Parameters.parameter.valueQuantity":"Quantity","Parameters.parameter.valueRange":"Range","Parameters.parameter.valueRatio":"Ratio","Parameters.parameter.valueReference":"Reference","Parameters.parameter.valueRelatedArtifact":"RelatedArtifact","Parameters.parameter.valueSampledData":"SampledData","Parameters.parameter.valueSignature":"Signature","Parameters.parameter.valueString":"string","Parameters.parameter.valueTime":"time","Parameters.parameter.valueTiming":"Timing","Parameters.parameter.valueTriggerDefinition":"TriggerDefinition","Parameters.parameter.valueUnsignedInt":"unsignedInt","Parameters.parameter.valueUri":"uri","Parameters.parameter.valueUrl":"url","Parameters.parameter.valueUsageContext":"UsageContext","Parameters.parameter.valueUuid":"uuid","Patient.active":"boolean","Patient.address":"Address","Patient.birthDate":"date","Patient.communication":"BackboneElement","Patient.communication.extension":"Extension","Patient.communication.id":"System.String","Patient.communication.language":"CodeableConcept","Patient.communication.modifierExtension":"Extension","Patient.communication.preferred":"boolean","Patient.contact":"BackboneElement","Patient.contact.address":"Address","Patient.contact.extension":"Extension","Patient.contact.gender":"code","Patient.contact.id":"System.String","Patient.contact.modifierExtension":"Extension","Patient.contact.name":"HumanName","Patient.contact.organization":"Reference","Patient.contact.period":"Period","Patient.contact.relationship":"CodeableConcept","Patient.contact.telecom":"ContactPoint","Patient.contained":"Resource","Patient.deceasedBoolean":"boolean","Patient.deceasedDateTime":"dateTime","Patient.extension":"Extension","Patient.gender":"code","Patient.generalPractitioner":"Reference","Patient.id":"System.String","Patient.identifier":"Identifier","Patient.implicitRules":"uri","Patient.language":"code","Patient.link":"BackboneElement","Patient.link.extension":"Extension","Patient.link.id":"System.String","Patient.link.modifierExtension":"Extension","Patient.link.other":"Reference","Patient.link.type":"code","Patient.managingOrganization":"Reference","Patient.maritalStatus":"CodeableConcept","Patient.meta":"Meta","Patient.modifierExtension":"Extension","Patient.multipleBirthBoolean":"boolean","Patient.multipleBirthInteger":"integer","Patient.name":"HumanName","Patient.photo":"Attachment","Patient.telecom":"ContactPoint","Patient.text":"Narrative","PaymentNotice.amount":"Money","PaymentNotice.contained":"Resource","PaymentNotice.created":"dateTime","PaymentNotice.extension":"Extension","PaymentNotice.id":"System.String","PaymentNotice.identifier":"Identifier","PaymentNotice.implicitRules":"uri","PaymentNotice.language":"code","PaymentNotice.meta":"Meta","PaymentNotice.modifierExtension":"Extension","PaymentNotice.payee":"Reference","PaymentNotice.payment":"Reference","PaymentNotice.paymentDate":"date","PaymentNotice.paymentStatus":"CodeableConcept","PaymentNotice.provider":"Reference","PaymentNotice.recipient":"Reference","PaymentNotice.request":"Reference","PaymentNotice.response":"Reference","PaymentNotice.status":"code","PaymentNotice.text":"Narrative","PaymentReconciliation.contained":"Resource","PaymentReconciliation.created":"dateTime","PaymentReconciliation.detail":"BackboneElement","PaymentReconciliation.detail.amount":"Money","PaymentReconciliation.detail.date":"date","PaymentReconciliation.detail.extension":"Extension","PaymentReconciliation.detail.id":"System.String","PaymentReconciliation.detail.identifier":"Identifier","PaymentReconciliation.detail.modifierExtension":"Extension","PaymentReconciliation.detail.payee":"Reference","PaymentReconciliation.detail.predecessor":"Identifier","PaymentReconciliation.detail.request":"Reference","PaymentReconciliation.detail.response":"Reference","PaymentReconciliation.detail.responsible":"Reference","PaymentReconciliation.detail.submitter":"Reference","PaymentReconciliation.detail.type":"CodeableConcept","PaymentReconciliation.disposition":"string","PaymentReconciliation.extension":"Extension","PaymentReconciliation.formCode":"CodeableConcept","PaymentReconciliation.id":"System.String","PaymentReconciliation.identifier":"Identifier","PaymentReconciliation.implicitRules":"uri","PaymentReconciliation.language":"code","PaymentReconciliation.meta":"Meta","PaymentReconciliation.modifierExtension":"Extension","PaymentReconciliation.outcome":"code","PaymentReconciliation.paymentAmount":"Money","PaymentReconciliation.paymentDate":"date","PaymentReconciliation.paymentIdentifier":"Identifier","PaymentReconciliation.paymentIssuer":"Reference","PaymentReconciliation.period":"Period","PaymentReconciliation.processNote":"BackboneElement","PaymentReconciliation.processNote.extension":"Extension","PaymentReconciliation.processNote.id":"System.String","PaymentReconciliation.processNote.modifierExtension":"Extension","PaymentReconciliation.processNote.text":"string","PaymentReconciliation.processNote.type":"code","PaymentReconciliation.request":"Reference","PaymentReconciliation.requestor":"Reference","PaymentReconciliation.status":"code","PaymentReconciliation.text":"Narrative","Period.end":"dateTime","Period.extension":"Extension","Period.id":"System.String","Period.start":"dateTime","Person.active":"boolean","Person.address":"Address","Person.birthDate":"date","Person.contained":"Resource","Person.extension":"Extension","Person.gender":"code","Person.id":"System.String","Person.identifier":"Identifier","Person.implicitRules":"uri","Person.language":"code","Person.link":"BackboneElement","Person.link.assurance":"code","Person.link.extension":"Extension","Person.link.id":"System.String","Person.link.modifierExtension":"Extension","Person.link.target":"Reference","Person.managingOrganization":"Reference","Person.meta":"Meta","Person.modifierExtension":"Extension","Person.name":"HumanName","Person.photo":"Attachment","Person.telecom":"ContactPoint","Person.text":"Narrative","PlanDefinition.action":"BackboneElement","PlanDefinition.action.cardinalityBehavior":"code","PlanDefinition.action.code":"CodeableConcept","PlanDefinition.action.condition":"BackboneElement","PlanDefinition.action.condition.expression":"Expression","PlanDefinition.action.condition.extension":"Extension","PlanDefinition.action.condition.id":"System.String","PlanDefinition.action.condition.kind":"code","PlanDefinition.action.condition.modifierExtension":"Extension","PlanDefinition.action.definitionCanonical":"canonical","PlanDefinition.action.definitionUri":"uri","PlanDefinition.action.description":"string","PlanDefinition.action.documentation":"RelatedArtifact","PlanDefinition.action.dynamicValue":"BackboneElement","PlanDefinition.action.dynamicValue.expression":"Expression","PlanDefinition.action.dynamicValue.extension":"Extension","PlanDefinition.action.dynamicValue.id":"System.String","PlanDefinition.action.dynamicValue.modifierExtension":"Extension","PlanDefinition.action.dynamicValue.path":"string","PlanDefinition.action.extension":"Extension","PlanDefinition.action.goalId":"id","PlanDefinition.action.groupingBehavior":"code","PlanDefinition.action.id":"System.String","PlanDefinition.action.input":"DataRequirement","PlanDefinition.action.modifierExtension":"Extension","PlanDefinition.action.output":"DataRequirement","PlanDefinition.action.participant":"BackboneElement","PlanDefinition.action.participant.extension":"Extension","PlanDefinition.action.participant.id":"System.String","PlanDefinition.action.participant.modifierExtension":"Extension","PlanDefinition.action.participant.role":"CodeableConcept","PlanDefinition.action.participant.type":"code","PlanDefinition.action.precheckBehavior":"code","PlanDefinition.action.prefix":"string","PlanDefinition.action.priority":"code","PlanDefinition.action.reason":"CodeableConcept","PlanDefinition.action.relatedAction":"BackboneElement","PlanDefinition.action.relatedAction.actionId":"id","PlanDefinition.action.relatedAction.extension":"Extension","PlanDefinition.action.relatedAction.id":"System.String","PlanDefinition.action.relatedAction.modifierExtension":"Extension","PlanDefinition.action.relatedAction.offsetDuration":"Duration","PlanDefinition.action.relatedAction.offsetRange":"Range","PlanDefinition.action.relatedAction.relationship":"code","PlanDefinition.action.requiredBehavior":"code","PlanDefinition.action.selectionBehavior":"code","PlanDefinition.action.subjectCodeableConcept":"CodeableConcept","PlanDefinition.action.subjectReference":"Reference","PlanDefinition.action.textEquivalent":"string","PlanDefinition.action.timingAge":"Age","PlanDefinition.action.timingDateTime":"dateTime","PlanDefinition.action.timingDuration":"Duration","PlanDefinition.action.timingPeriod":"Period","PlanDefinition.action.timingRange":"Range","PlanDefinition.action.timingTiming":"Timing","PlanDefinition.action.title":"string","PlanDefinition.action.transform":"canonical","PlanDefinition.action.trigger":"TriggerDefinition","PlanDefinition.action.type":"CodeableConcept","PlanDefinition.approvalDate":"date","PlanDefinition.author":"ContactDetail","PlanDefinition.contact":"ContactDetail","PlanDefinition.contained":"Resource","PlanDefinition.copyright":"markdown","PlanDefinition.date":"dateTime","PlanDefinition.description":"markdown","PlanDefinition.editor":"ContactDetail","PlanDefinition.effectivePeriod":"Period","PlanDefinition.endorser":"ContactDetail","PlanDefinition.experimental":"boolean","PlanDefinition.extension":"Extension","PlanDefinition.goal":"BackboneElement","PlanDefinition.goal.addresses":"CodeableConcept","PlanDefinition.goal.category":"CodeableConcept","PlanDefinition.goal.description":"CodeableConcept","PlanDefinition.goal.documentation":"RelatedArtifact","PlanDefinition.goal.extension":"Extension","PlanDefinition.goal.id":"System.String","PlanDefinition.goal.modifierExtension":"Extension","PlanDefinition.goal.priority":"CodeableConcept","PlanDefinition.goal.start":"CodeableConcept","PlanDefinition.goal.target":"BackboneElement","PlanDefinition.goal.target.detailCodeableConcept":"CodeableConcept","PlanDefinition.goal.target.detailQuantity":"Quantity","PlanDefinition.goal.target.detailRange":"Range","PlanDefinition.goal.target.due":"Duration","PlanDefinition.goal.target.extension":"Extension","PlanDefinition.goal.target.id":"System.String","PlanDefinition.goal.target.measure":"CodeableConcept","PlanDefinition.goal.target.modifierExtension":"Extension","PlanDefinition.id":"System.String","PlanDefinition.identifier":"Identifier","PlanDefinition.implicitRules":"uri","PlanDefinition.jurisdiction":"CodeableConcept","PlanDefinition.language":"code","PlanDefinition.lastReviewDate":"date","PlanDefinition.library":"canonical","PlanDefinition.meta":"Meta","PlanDefinition.modifierExtension":"Extension","PlanDefinition.name":"string","PlanDefinition.publisher":"string","PlanDefinition.purpose":"markdown","PlanDefinition.relatedArtifact":"RelatedArtifact","PlanDefinition.reviewer":"ContactDetail","PlanDefinition.status":"code","PlanDefinition.subjectCodeableConcept":"CodeableConcept","PlanDefinition.subjectReference":"Reference","PlanDefinition.subtitle":"string","PlanDefinition.text":"Narrative","PlanDefinition.title":"string","PlanDefinition.topic":"CodeableConcept","PlanDefinition.type":"CodeableConcept","PlanDefinition.url":"uri","PlanDefinition.usage":"string","PlanDefinition.useContext":"UsageContext","PlanDefinition.version":"string","Population.ageCodeableConcept":"CodeableConcept","Population.ageRange":"Range","Population.extension":"Extension","Population.gender":"CodeableConcept","Population.id":"System.String","Population.modifierExtension":"Extension","Population.physiologicalCondition":"CodeableConcept","Population.race":"CodeableConcept","Practitioner.active":"boolean","Practitioner.address":"Address","Practitioner.birthDate":"date","Practitioner.communication":"CodeableConcept","Practitioner.contained":"Resource","Practitioner.extension":"Extension","Practitioner.gender":"code","Practitioner.id":"System.String","Practitioner.identifier":"Identifier","Practitioner.implicitRules":"uri","Practitioner.language":"code","Practitioner.meta":"Meta","Practitioner.modifierExtension":"Extension","Practitioner.name":"HumanName","Practitioner.photo":"Attachment","Practitioner.qualification":"BackboneElement","Practitioner.qualification.code":"CodeableConcept","Practitioner.qualification.extension":"Extension","Practitioner.qualification.id":"System.String","Practitioner.qualification.identifier":"Identifier","Practitioner.qualification.issuer":"Reference","Practitioner.qualification.modifierExtension":"Extension","Practitioner.qualification.period":"Period","Practitioner.telecom":"ContactPoint","Practitioner.text":"Narrative","PractitionerRole.active":"boolean","PractitionerRole.availabilityExceptions":"string","PractitionerRole.availableTime":"BackboneElement","PractitionerRole.availableTime.allDay":"boolean","PractitionerRole.availableTime.availableEndTime":"time","PractitionerRole.availableTime.availableStartTime":"time","PractitionerRole.availableTime.daysOfWeek":"code","PractitionerRole.availableTime.extension":"Extension","PractitionerRole.availableTime.id":"System.String","PractitionerRole.availableTime.modifierExtension":"Extension","PractitionerRole.code":"CodeableConcept","PractitionerRole.contained":"Resource","PractitionerRole.endpoint":"Reference","PractitionerRole.extension":"Extension","PractitionerRole.healthcareService":"Reference","PractitionerRole.id":"System.String","PractitionerRole.identifier":"Identifier","PractitionerRole.implicitRules":"uri","PractitionerRole.language":"code","PractitionerRole.location":"Reference","PractitionerRole.meta":"Meta","PractitionerRole.modifierExtension":"Extension","PractitionerRole.notAvailable":"BackboneElement","PractitionerRole.notAvailable.description":"string","PractitionerRole.notAvailable.during":"Period","PractitionerRole.notAvailable.extension":"Extension","PractitionerRole.notAvailable.id":"System.String","PractitionerRole.notAvailable.modifierExtension":"Extension","PractitionerRole.organization":"Reference","PractitionerRole.period":"Period","PractitionerRole.practitioner":"Reference","PractitionerRole.specialty":"CodeableConcept","PractitionerRole.telecom":"ContactPoint","PractitionerRole.text":"Narrative","Procedure.asserter":"Reference","Procedure.basedOn":"Reference","Procedure.bodySite":"CodeableConcept","Procedure.category":"CodeableConcept","Procedure.code":"CodeableConcept","Procedure.complication":"CodeableConcept","Procedure.complicationDetail":"Reference","Procedure.contained":"Resource","Procedure.encounter":"Reference","Procedure.extension":"Extension","Procedure.focalDevice":"BackboneElement","Procedure.focalDevice.action":"CodeableConcept","Procedure.focalDevice.extension":"Extension","Procedure.focalDevice.id":"System.String","Procedure.focalDevice.manipulated":"Reference","Procedure.focalDevice.modifierExtension":"Extension","Procedure.followUp":"CodeableConcept","Procedure.id":"System.String","Procedure.identifier":"Identifier","Procedure.implicitRules":"uri","Procedure.instantiatesCanonical":"canonical","Procedure.instantiatesUri":"uri","Procedure.language":"code","Procedure.location":"Reference","Procedure.meta":"Meta","Procedure.modifierExtension":"Extension","Procedure.note":"Annotation","Procedure.outcome":"CodeableConcept","Procedure.partOf":"Reference","Procedure.performedAge":"Age","Procedure.performedDateTime":"dateTime","Procedure.performedPeriod":"Period","Procedure.performedRange":"Range","Procedure.performedString":"string","Procedure.performer":"BackboneElement","Procedure.performer.actor":"Reference","Procedure.performer.extension":"Extension","Procedure.performer.function":"CodeableConcept","Procedure.performer.id":"System.String","Procedure.performer.modifierExtension":"Extension","Procedure.performer.onBehalfOf":"Reference","Procedure.reasonCode":"CodeableConcept","Procedure.reasonReference":"Reference","Procedure.recorder":"Reference","Procedure.report":"Reference","Procedure.status":"code","Procedure.statusReason":"CodeableConcept","Procedure.subject":"Reference","Procedure.text":"Narrative","Procedure.usedCode":"CodeableConcept","Procedure.usedReference":"Reference","ProdCharacteristic.color":"string","ProdCharacteristic.depth":"Quantity","ProdCharacteristic.extension":"Extension","ProdCharacteristic.externalDiameter":"Quantity","ProdCharacteristic.height":"Quantity","ProdCharacteristic.id":"System.String","ProdCharacteristic.image":"Attachment","ProdCharacteristic.imprint":"string","ProdCharacteristic.modifierExtension":"Extension","ProdCharacteristic.nominalVolume":"Quantity","ProdCharacteristic.scoring":"CodeableConcept","ProdCharacteristic.shape":"string","ProdCharacteristic.weight":"Quantity","ProdCharacteristic.width":"Quantity","ProductShelfLife.extension":"Extension","ProductShelfLife.id":"System.String","ProductShelfLife.identifier":"Identifier","ProductShelfLife.modifierExtension":"Extension","ProductShelfLife.period":"Quantity","ProductShelfLife.specialPrecautionsForStorage":"CodeableConcept","ProductShelfLife.type":"CodeableConcept","Provenance.activity":"CodeableConcept","Provenance.agent":"BackboneElement","Provenance.agent.extension":"Extension","Provenance.agent.id":"System.String","Provenance.agent.modifierExtension":"Extension","Provenance.agent.onBehalfOf":"Reference","Provenance.agent.role":"CodeableConcept","Provenance.agent.type":"CodeableConcept","Provenance.agent.who":"Reference","Provenance.contained":"Resource","Provenance.entity":"BackboneElement","Provenance.entity.extension":"Extension","Provenance.entity.id":"System.String","Provenance.entity.modifierExtension":"Extension","Provenance.entity.role":"code","Provenance.entity.what":"Reference","Provenance.extension":"Extension","Provenance.id":"System.String","Provenance.implicitRules":"uri","Provenance.language":"code","Provenance.location":"Reference","Provenance.meta":"Meta","Provenance.modifierExtension":"Extension","Provenance.occurredDateTime":"dateTime","Provenance.occurredPeriod":"Period","Provenance.policy":"uri","Provenance.reason":"CodeableConcept","Provenance.recorded":"instant","Provenance.signature":"Signature","Provenance.target":"Reference","Provenance.text":"Narrative","Quantity.code":"code","Quantity.comparator":"code","Quantity.extension":"Extension","Quantity.id":"System.String","Quantity.system":"uri","Quantity.unit":"string","Quantity.value":"decimal","Questionnaire.approvalDate":"date","Questionnaire.code":"Coding","Questionnaire.contact":"ContactDetail","Questionnaire.contained":"Resource","Questionnaire.copyright":"markdown","Questionnaire.date":"dateTime","Questionnaire.derivedFrom":"canonical","Questionnaire.description":"markdown","Questionnaire.effectivePeriod":"Period","Questionnaire.experimental":"boolean","Questionnaire.extension":"Extension","Questionnaire.id":"System.String","Questionnaire.identifier":"Identifier","Questionnaire.implicitRules":"uri","Questionnaire.item":"BackboneElement","Questionnaire.item.answerOption":"BackboneElement","Questionnaire.item.answerOption.extension":"Extension","Questionnaire.item.answerOption.id":"System.String","Questionnaire.item.answerOption.initialSelected":"boolean","Questionnaire.item.answerOption.modifierExtension":"Extension","Questionnaire.item.answerOption.valueCoding":"Coding","Questionnaire.item.answerOption.valueDate":"date","Questionnaire.item.answerOption.valueInteger":"integer","Questionnaire.item.answerOption.valueReference":"Reference","Questionnaire.item.answerOption.valueString":"string","Questionnaire.item.answerOption.valueTime":"time","Questionnaire.item.answerValueSet":"canonical","Questionnaire.item.code":"Coding","Questionnaire.item.definition":"uri","Questionnaire.item.enableBehavior":"code","Questionnaire.item.enableWhen":"BackboneElement","Questionnaire.item.enableWhen.answerBoolean":"boolean","Questionnaire.item.enableWhen.answerCoding":"Coding","Questionnaire.item.enableWhen.answerDate":"date","Questionnaire.item.enableWhen.answerDateTime":"dateTime","Questionnaire.item.enableWhen.answerDecimal":"decimal","Questionnaire.item.enableWhen.answerInteger":"integer","Questionnaire.item.enableWhen.answerQuantity":"Quantity","Questionnaire.item.enableWhen.answerReference":"Reference","Questionnaire.item.enableWhen.answerString":"string","Questionnaire.item.enableWhen.answerTime":"time","Questionnaire.item.enableWhen.extension":"Extension","Questionnaire.item.enableWhen.id":"System.String","Questionnaire.item.enableWhen.modifierExtension":"Extension","Questionnaire.item.enableWhen.operator":"code","Questionnaire.item.enableWhen.question":"string","Questionnaire.item.extension":"Extension","Questionnaire.item.id":"System.String","Questionnaire.item.initial":"BackboneElement","Questionnaire.item.initial.extension":"Extension","Questionnaire.item.initial.id":"System.String","Questionnaire.item.initial.modifierExtension":"Extension","Questionnaire.item.initial.valueAttachment":"Attachment","Questionnaire.item.initial.valueBoolean":"boolean","Questionnaire.item.initial.valueCoding":"Coding","Questionnaire.item.initial.valueDate":"date","Questionnaire.item.initial.valueDateTime":"dateTime","Questionnaire.item.initial.valueDecimal":"decimal","Questionnaire.item.initial.valueInteger":"integer","Questionnaire.item.initial.valueQuantity":"Quantity","Questionnaire.item.initial.valueReference":"Reference","Questionnaire.item.initial.valueString":"string","Questionnaire.item.initial.valueTime":"time","Questionnaire.item.initial.valueUri":"uri","Questionnaire.item.linkId":"string","Questionnaire.item.maxLength":"integer","Questionnaire.item.modifierExtension":"Extension","Questionnaire.item.prefix":"string","Questionnaire.item.readOnly":"boolean","Questionnaire.item.repeats":"boolean","Questionnaire.item.required":"boolean","Questionnaire.item.text":"string","Questionnaire.item.type":"code","Questionnaire.jurisdiction":"CodeableConcept","Questionnaire.language":"code","Questionnaire.lastReviewDate":"date","Questionnaire.meta":"Meta","Questionnaire.modifierExtension":"Extension","Questionnaire.name":"string","Questionnaire.publisher":"string","Questionnaire.purpose":"markdown","Questionnaire.status":"code","Questionnaire.subjectType":"code","Questionnaire.text":"Narrative","Questionnaire.title":"string","Questionnaire.url":"uri","Questionnaire.useContext":"UsageContext","Questionnaire.version":"string","QuestionnaireResponse.author":"Reference","QuestionnaireResponse.authored":"dateTime","QuestionnaireResponse.basedOn":"Reference","QuestionnaireResponse.contained":"Resource","QuestionnaireResponse.encounter":"Reference","QuestionnaireResponse.extension":"Extension","QuestionnaireResponse.id":"System.String","QuestionnaireResponse.identifier":"Identifier","QuestionnaireResponse.implicitRules":"uri","QuestionnaireResponse.item":"BackboneElement","QuestionnaireResponse.item.answer":"BackboneElement","QuestionnaireResponse.item.answer.extension":"Extension","QuestionnaireResponse.item.answer.id":"System.String","QuestionnaireResponse.item.answer.modifierExtension":"Extension","QuestionnaireResponse.item.answer.valueAttachment":"Attachment","QuestionnaireResponse.item.answer.valueBoolean":"boolean","QuestionnaireResponse.item.answer.valueCoding":"Coding","QuestionnaireResponse.item.answer.valueDate":"date","QuestionnaireResponse.item.answer.valueDateTime":"dateTime","QuestionnaireResponse.item.answer.valueDecimal":"decimal","QuestionnaireResponse.item.answer.valueInteger":"integer","QuestionnaireResponse.item.answer.valueQuantity":"Quantity","QuestionnaireResponse.item.answer.valueReference":"Reference","QuestionnaireResponse.item.answer.valueString":"string","QuestionnaireResponse.item.answer.valueTime":"time","QuestionnaireResponse.item.answer.valueUri":"uri","QuestionnaireResponse.item.definition":"uri","QuestionnaireResponse.item.extension":"Extension","QuestionnaireResponse.item.id":"System.String","QuestionnaireResponse.item.linkId":"string","QuestionnaireResponse.item.modifierExtension":"Extension","QuestionnaireResponse.item.text":"string","QuestionnaireResponse.language":"code","QuestionnaireResponse.meta":"Meta","QuestionnaireResponse.modifierExtension":"Extension","QuestionnaireResponse.partOf":"Reference","QuestionnaireResponse.questionnaire":"canonical","QuestionnaireResponse.source":"Reference","QuestionnaireResponse.status":"code","QuestionnaireResponse.subject":"Reference","QuestionnaireResponse.text":"Narrative","Range.extension":"Extension","Range.high":"Quantity","Range.id":"System.String","Range.low":"Quantity","Ratio.denominator":"Quantity","Ratio.extension":"Extension","Ratio.id":"System.String","Ratio.numerator":"Quantity","Reference.display":"string","Reference.extension":"Extension","Reference.id":"System.String","Reference.identifier":"Identifier","Reference.reference":"string","Reference.type":"uri","RelatedArtifact.citation":"markdown","RelatedArtifact.display":"string","RelatedArtifact.document":"Attachment","RelatedArtifact.extension":"Extension","RelatedArtifact.id":"System.String","RelatedArtifact.label":"string","RelatedArtifact.resource":"canonical","RelatedArtifact.type":"code","RelatedArtifact.url":"url","RelatedPerson.active":"boolean","RelatedPerson.address":"Address","RelatedPerson.birthDate":"date","RelatedPerson.communication":"BackboneElement","RelatedPerson.communication.extension":"Extension","RelatedPerson.communication.id":"System.String","RelatedPerson.communication.language":"CodeableConcept","RelatedPerson.communication.modifierExtension":"Extension","RelatedPerson.communication.preferred":"boolean","RelatedPerson.contained":"Resource","RelatedPerson.extension":"Extension","RelatedPerson.gender":"code","RelatedPerson.id":"System.String","RelatedPerson.identifier":"Identifier","RelatedPerson.implicitRules":"uri","RelatedPerson.language":"code","RelatedPerson.meta":"Meta","RelatedPerson.modifierExtension":"Extension","RelatedPerson.name":"HumanName","RelatedPerson.patient":"Reference","RelatedPerson.period":"Period","RelatedPerson.photo":"Attachment","RelatedPerson.relationship":"CodeableConcept","RelatedPerson.telecom":"ContactPoint","RelatedPerson.text":"Narrative","RequestGroup.action":"BackboneElement","RequestGroup.action.cardinalityBehavior":"code","RequestGroup.action.code":"CodeableConcept","RequestGroup.action.condition":"BackboneElement","RequestGroup.action.condition.expression":"Expression","RequestGroup.action.condition.extension":"Extension","RequestGroup.action.condition.id":"System.String","RequestGroup.action.condition.kind":"code","RequestGroup.action.condition.modifierExtension":"Extension","RequestGroup.action.description":"string","RequestGroup.action.documentation":"RelatedArtifact","RequestGroup.action.extension":"Extension","RequestGroup.action.groupingBehavior":"code","RequestGroup.action.id":"System.String","RequestGroup.action.modifierExtension":"Extension","RequestGroup.action.participant":"Reference","RequestGroup.action.precheckBehavior":"code","RequestGroup.action.prefix":"string","RequestGroup.action.priority":"code","RequestGroup.action.relatedAction":"BackboneElement","RequestGroup.action.relatedAction.actionId":"id","RequestGroup.action.relatedAction.extension":"Extension","RequestGroup.action.relatedAction.id":"System.String","RequestGroup.action.relatedAction.modifierExtension":"Extension","RequestGroup.action.relatedAction.offsetDuration":"Duration","RequestGroup.action.relatedAction.offsetRange":"Range","RequestGroup.action.relatedAction.relationship":"code","RequestGroup.action.requiredBehavior":"code","RequestGroup.action.resource":"Reference","RequestGroup.action.selectionBehavior":"code","RequestGroup.action.textEquivalent":"string","RequestGroup.action.timingAge":"Age","RequestGroup.action.timingDateTime":"dateTime","RequestGroup.action.timingDuration":"Duration","RequestGroup.action.timingPeriod":"Period","RequestGroup.action.timingRange":"Range","RequestGroup.action.timingTiming":"Timing","RequestGroup.action.title":"string","RequestGroup.action.type":"CodeableConcept","RequestGroup.author":"Reference","RequestGroup.authoredOn":"dateTime","RequestGroup.basedOn":"Reference","RequestGroup.code":"CodeableConcept","RequestGroup.contained":"Resource","RequestGroup.encounter":"Reference","RequestGroup.extension":"Extension","RequestGroup.groupIdentifier":"Identifier","RequestGroup.id":"System.String","RequestGroup.identifier":"Identifier","RequestGroup.implicitRules":"uri","RequestGroup.instantiatesCanonical":"canonical","RequestGroup.instantiatesUri":"uri","RequestGroup.intent":"code","RequestGroup.language":"code","RequestGroup.meta":"Meta","RequestGroup.modifierExtension":"Extension","RequestGroup.note":"Annotation","RequestGroup.priority":"code","RequestGroup.reasonCode":"CodeableConcept","RequestGroup.reasonReference":"Reference","RequestGroup.replaces":"Reference","RequestGroup.status":"code","RequestGroup.subject":"Reference","RequestGroup.text":"Narrative","ResearchDefinition.approvalDate":"date","ResearchDefinition.author":"ContactDetail","ResearchDefinition.comment":"string","ResearchDefinition.contact":"ContactDetail","ResearchDefinition.contained":"Resource","ResearchDefinition.copyright":"markdown","ResearchDefinition.date":"dateTime","ResearchDefinition.description":"markdown","ResearchDefinition.editor":"ContactDetail","ResearchDefinition.effectivePeriod":"Period","ResearchDefinition.endorser":"ContactDetail","ResearchDefinition.experimental":"boolean","ResearchDefinition.exposure":"Reference","ResearchDefinition.exposureAlternative":"Reference","ResearchDefinition.extension":"Extension","ResearchDefinition.id":"System.String","ResearchDefinition.identifier":"Identifier","ResearchDefinition.implicitRules":"uri","ResearchDefinition.jurisdiction":"CodeableConcept","ResearchDefinition.language":"code","ResearchDefinition.lastReviewDate":"date","ResearchDefinition.library":"canonical","ResearchDefinition.meta":"Meta","ResearchDefinition.modifierExtension":"Extension","ResearchDefinition.name":"string","ResearchDefinition.outcome":"Reference","ResearchDefinition.population":"Reference","ResearchDefinition.publisher":"string","ResearchDefinition.purpose":"markdown","ResearchDefinition.relatedArtifact":"RelatedArtifact","ResearchDefinition.reviewer":"ContactDetail","ResearchDefinition.shortTitle":"string","ResearchDefinition.status":"code","ResearchDefinition.subjectCodeableConcept":"CodeableConcept","ResearchDefinition.subjectReference":"Reference","ResearchDefinition.subtitle":"string","ResearchDefinition.text":"Narrative","ResearchDefinition.title":"string","ResearchDefinition.topic":"CodeableConcept","ResearchDefinition.url":"uri","ResearchDefinition.usage":"string","ResearchDefinition.useContext":"UsageContext","ResearchDefinition.version":"string","ResearchElementDefinition.approvalDate":"date","ResearchElementDefinition.author":"ContactDetail","ResearchElementDefinition.characteristic":"BackboneElement","ResearchElementDefinition.characteristic.definitionCanonical":"canonical","ResearchElementDefinition.characteristic.definitionCodeableConcept":"CodeableConcept","ResearchElementDefinition.characteristic.definitionDataRequirement":"DataRequirement","ResearchElementDefinition.characteristic.definitionExpression":"Expression","ResearchElementDefinition.characteristic.exclude":"boolean","ResearchElementDefinition.characteristic.extension":"Extension","ResearchElementDefinition.characteristic.id":"System.String","ResearchElementDefinition.characteristic.modifierExtension":"Extension","ResearchElementDefinition.characteristic.participantEffectiveDateTime":"dateTime","ResearchElementDefinition.characteristic.participantEffectiveDescription":"string","ResearchElementDefinition.characteristic.participantEffectiveDuration":"Duration","ResearchElementDefinition.characteristic.participantEffectiveGroupMeasure":"code","ResearchElementDefinition.characteristic.participantEffectivePeriod":"Period","ResearchElementDefinition.characteristic.participantEffectiveTimeFromStart":"Duration","ResearchElementDefinition.characteristic.participantEffectiveTiming":"Timing","ResearchElementDefinition.characteristic.studyEffectiveDateTime":"dateTime","ResearchElementDefinition.characteristic.studyEffectiveDescription":"string","ResearchElementDefinition.characteristic.studyEffectiveDuration":"Duration","ResearchElementDefinition.characteristic.studyEffectiveGroupMeasure":"code","ResearchElementDefinition.characteristic.studyEffectivePeriod":"Period","ResearchElementDefinition.characteristic.studyEffectiveTimeFromStart":"Duration","ResearchElementDefinition.characteristic.studyEffectiveTiming":"Timing","ResearchElementDefinition.characteristic.unitOfMeasure":"CodeableConcept","ResearchElementDefinition.characteristic.usageContext":"UsageContext","ResearchElementDefinition.comment":"string","ResearchElementDefinition.contact":"ContactDetail","ResearchElementDefinition.contained":"Resource","ResearchElementDefinition.copyright":"markdown","ResearchElementDefinition.date":"dateTime","ResearchElementDefinition.description":"markdown","ResearchElementDefinition.editor":"ContactDetail","ResearchElementDefinition.effectivePeriod":"Period","ResearchElementDefinition.endorser":"ContactDetail","ResearchElementDefinition.experimental":"boolean","ResearchElementDefinition.extension":"Extension","ResearchElementDefinition.id":"System.String","ResearchElementDefinition.identifier":"Identifier","ResearchElementDefinition.implicitRules":"uri","ResearchElementDefinition.jurisdiction":"CodeableConcept","ResearchElementDefinition.language":"code","ResearchElementDefinition.lastReviewDate":"date","ResearchElementDefinition.library":"canonical","ResearchElementDefinition.meta":"Meta","ResearchElementDefinition.modifierExtension":"Extension","ResearchElementDefinition.name":"string","ResearchElementDefinition.publisher":"string","ResearchElementDefinition.purpose":"markdown","ResearchElementDefinition.relatedArtifact":"RelatedArtifact","ResearchElementDefinition.reviewer":"ContactDetail","ResearchElementDefinition.shortTitle":"string","ResearchElementDefinition.status":"code","ResearchElementDefinition.subjectCodeableConcept":"CodeableConcept","ResearchElementDefinition.subjectReference":"Reference","ResearchElementDefinition.subtitle":"string","ResearchElementDefinition.text":"Narrative","ResearchElementDefinition.title":"string","ResearchElementDefinition.topic":"CodeableConcept","ResearchElementDefinition.type":"code","ResearchElementDefinition.url":"uri","ResearchElementDefinition.usage":"string","ResearchElementDefinition.useContext":"UsageContext","ResearchElementDefinition.variableType":"code","ResearchElementDefinition.version":"string","ResearchStudy.arm":"BackboneElement","ResearchStudy.arm.description":"string","ResearchStudy.arm.extension":"Extension","ResearchStudy.arm.id":"System.String","ResearchStudy.arm.modifierExtension":"Extension","ResearchStudy.arm.name":"string","ResearchStudy.arm.type":"CodeableConcept","ResearchStudy.category":"CodeableConcept","ResearchStudy.condition":"CodeableConcept","ResearchStudy.contact":"ContactDetail","ResearchStudy.contained":"Resource","ResearchStudy.description":"markdown","ResearchStudy.enrollment":"Reference","ResearchStudy.extension":"Extension","ResearchStudy.focus":"CodeableConcept","ResearchStudy.id":"System.String","ResearchStudy.identifier":"Identifier","ResearchStudy.implicitRules":"uri","ResearchStudy.keyword":"CodeableConcept","ResearchStudy.language":"code","ResearchStudy.location":"CodeableConcept","ResearchStudy.meta":"Meta","ResearchStudy.modifierExtension":"Extension","ResearchStudy.note":"Annotation","ResearchStudy.objective":"BackboneElement","ResearchStudy.objective.extension":"Extension","ResearchStudy.objective.id":"System.String","ResearchStudy.objective.modifierExtension":"Extension","ResearchStudy.objective.name":"string","ResearchStudy.objective.type":"CodeableConcept","ResearchStudy.partOf":"Reference","ResearchStudy.period":"Period","ResearchStudy.phase":"CodeableConcept","ResearchStudy.primaryPurposeType":"CodeableConcept","ResearchStudy.principalInvestigator":"Reference","ResearchStudy.protocol":"Reference","ResearchStudy.reasonStopped":"CodeableConcept","ResearchStudy.relatedArtifact":"RelatedArtifact","ResearchStudy.site":"Reference","ResearchStudy.sponsor":"Reference","ResearchStudy.status":"code","ResearchStudy.text":"Narrative","ResearchStudy.title":"string","ResearchSubject.actualArm":"string","ResearchSubject.assignedArm":"string","ResearchSubject.consent":"Reference","ResearchSubject.contained":"Resource","ResearchSubject.extension":"Extension","ResearchSubject.id":"System.String","ResearchSubject.identifier":"Identifier","ResearchSubject.implicitRules":"uri","ResearchSubject.individual":"Reference","ResearchSubject.language":"code","ResearchSubject.meta":"Meta","ResearchSubject.modifierExtension":"Extension","ResearchSubject.period":"Period","ResearchSubject.status":"code","ResearchSubject.study":"Reference","ResearchSubject.text":"Narrative","Resource.id":"System.String","Resource.implicitRules":"uri","Resource.language":"code","Resource.meta":"Meta","RiskAssessment.basedOn":"Reference","RiskAssessment.basis":"Reference","RiskAssessment.code":"CodeableConcept","RiskAssessment.condition":"Reference","RiskAssessment.contained":"Resource","RiskAssessment.encounter":"Reference","RiskAssessment.extension":"Extension","RiskAssessment.id":"System.String","RiskAssessment.identifier":"Identifier","RiskAssessment.implicitRules":"uri","RiskAssessment.language":"code","RiskAssessment.meta":"Meta","RiskAssessment.method":"CodeableConcept","RiskAssessment.mitigation":"string","RiskAssessment.modifierExtension":"Extension","RiskAssessment.note":"Annotation","RiskAssessment.occurrenceDateTime":"dateTime","RiskAssessment.occurrencePeriod":"Period","RiskAssessment.parent":"Reference","RiskAssessment.performer":"Reference","RiskAssessment.prediction":"BackboneElement","RiskAssessment.prediction.extension":"Extension","RiskAssessment.prediction.id":"System.String","RiskAssessment.prediction.modifierExtension":"Extension","RiskAssessment.prediction.outcome":"CodeableConcept","RiskAssessment.prediction.probabilityDecimal":"decimal","RiskAssessment.prediction.probabilityRange":"Range","RiskAssessment.prediction.qualitativeRisk":"CodeableConcept","RiskAssessment.prediction.rationale":"string","RiskAssessment.prediction.relativeRisk":"decimal","RiskAssessment.prediction.whenPeriod":"Period","RiskAssessment.prediction.whenRange":"Range","RiskAssessment.reasonCode":"CodeableConcept","RiskAssessment.reasonReference":"Reference","RiskAssessment.status":"code","RiskAssessment.subject":"Reference","RiskAssessment.text":"Narrative","RiskEvidenceSynthesis.approvalDate":"date","RiskEvidenceSynthesis.author":"ContactDetail","RiskEvidenceSynthesis.certainty":"BackboneElement","RiskEvidenceSynthesis.certainty.certaintySubcomponent":"BackboneElement","RiskEvidenceSynthesis.certainty.certaintySubcomponent.extension":"Extension","RiskEvidenceSynthesis.certainty.certaintySubcomponent.id":"System.String","RiskEvidenceSynthesis.certainty.certaintySubcomponent.modifierExtension":"Extension","RiskEvidenceSynthesis.certainty.certaintySubcomponent.note":"Annotation","RiskEvidenceSynthesis.certainty.certaintySubcomponent.rating":"CodeableConcept","RiskEvidenceSynthesis.certainty.certaintySubcomponent.type":"CodeableConcept","RiskEvidenceSynthesis.certainty.extension":"Extension","RiskEvidenceSynthesis.certainty.id":"System.String","RiskEvidenceSynthesis.certainty.modifierExtension":"Extension","RiskEvidenceSynthesis.certainty.note":"Annotation","RiskEvidenceSynthesis.certainty.rating":"CodeableConcept","RiskEvidenceSynthesis.contact":"ContactDetail","RiskEvidenceSynthesis.contained":"Resource","RiskEvidenceSynthesis.copyright":"markdown","RiskEvidenceSynthesis.date":"dateTime","RiskEvidenceSynthesis.description":"markdown","RiskEvidenceSynthesis.editor":"ContactDetail","RiskEvidenceSynthesis.effectivePeriod":"Period","RiskEvidenceSynthesis.endorser":"ContactDetail","RiskEvidenceSynthesis.exposure":"Reference","RiskEvidenceSynthesis.extension":"Extension","RiskEvidenceSynthesis.id":"System.String","RiskEvidenceSynthesis.identifier":"Identifier","RiskEvidenceSynthesis.implicitRules":"uri","RiskEvidenceSynthesis.jurisdiction":"CodeableConcept","RiskEvidenceSynthesis.language":"code","RiskEvidenceSynthesis.lastReviewDate":"date","RiskEvidenceSynthesis.meta":"Meta","RiskEvidenceSynthesis.modifierExtension":"Extension","RiskEvidenceSynthesis.name":"string","RiskEvidenceSynthesis.note":"Annotation","RiskEvidenceSynthesis.outcome":"Reference","RiskEvidenceSynthesis.population":"Reference","RiskEvidenceSynthesis.publisher":"string","RiskEvidenceSynthesis.relatedArtifact":"RelatedArtifact","RiskEvidenceSynthesis.reviewer":"ContactDetail","RiskEvidenceSynthesis.riskEstimate":"BackboneElement","RiskEvidenceSynthesis.riskEstimate.denominatorCount":"integer","RiskEvidenceSynthesis.riskEstimate.description":"string","RiskEvidenceSynthesis.riskEstimate.extension":"Extension","RiskEvidenceSynthesis.riskEstimate.id":"System.String","RiskEvidenceSynthesis.riskEstimate.modifierExtension":"Extension","RiskEvidenceSynthesis.riskEstimate.numeratorCount":"integer","RiskEvidenceSynthesis.riskEstimate.precisionEstimate":"BackboneElement","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.extension":"Extension","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.from":"decimal","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.id":"System.String","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.level":"decimal","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.modifierExtension":"Extension","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.to":"decimal","RiskEvidenceSynthesis.riskEstimate.precisionEstimate.type":"CodeableConcept","RiskEvidenceSynthesis.riskEstimate.type":"CodeableConcept","RiskEvidenceSynthesis.riskEstimate.unitOfMeasure":"CodeableConcept","RiskEvidenceSynthesis.riskEstimate.value":"decimal","RiskEvidenceSynthesis.sampleSize":"BackboneElement","RiskEvidenceSynthesis.sampleSize.description":"string","RiskEvidenceSynthesis.sampleSize.extension":"Extension","RiskEvidenceSynthesis.sampleSize.id":"System.String","RiskEvidenceSynthesis.sampleSize.modifierExtension":"Extension","RiskEvidenceSynthesis.sampleSize.numberOfParticipants":"integer","RiskEvidenceSynthesis.sampleSize.numberOfStudies":"integer","RiskEvidenceSynthesis.status":"code","RiskEvidenceSynthesis.studyType":"CodeableConcept","RiskEvidenceSynthesis.synthesisType":"CodeableConcept","RiskEvidenceSynthesis.text":"Narrative","RiskEvidenceSynthesis.title":"string","RiskEvidenceSynthesis.topic":"CodeableConcept","RiskEvidenceSynthesis.url":"uri","RiskEvidenceSynthesis.useContext":"UsageContext","RiskEvidenceSynthesis.version":"string","SampledData.data":"string","SampledData.dimensions":"positiveInt","SampledData.extension":"Extension","SampledData.factor":"decimal","SampledData.id":"System.String","SampledData.lowerLimit":"decimal","SampledData.origin":"Quantity","SampledData.period":"decimal","SampledData.upperLimit":"decimal","Schedule.active":"boolean","Schedule.actor":"Reference","Schedule.comment":"string","Schedule.contained":"Resource","Schedule.extension":"Extension","Schedule.id":"System.String","Schedule.identifier":"Identifier","Schedule.implicitRules":"uri","Schedule.language":"code","Schedule.meta":"Meta","Schedule.modifierExtension":"Extension","Schedule.planningHorizon":"Period","Schedule.serviceCategory":"CodeableConcept","Schedule.serviceType":"CodeableConcept","Schedule.specialty":"CodeableConcept","Schedule.text":"Narrative","SearchParameter.base":"code","SearchParameter.chain":"string","SearchParameter.code":"code","SearchParameter.comparator":"code","SearchParameter.component":"BackboneElement","SearchParameter.component.definition":"canonical","SearchParameter.component.expression":"string","SearchParameter.component.extension":"Extension","SearchParameter.component.id":"System.String","SearchParameter.component.modifierExtension":"Extension","SearchParameter.contact":"ContactDetail","SearchParameter.contained":"Resource","SearchParameter.date":"dateTime","SearchParameter.derivedFrom":"canonical","SearchParameter.description":"markdown","SearchParameter.experimental":"boolean","SearchParameter.expression":"string","SearchParameter.extension":"Extension","SearchParameter.id":"System.String","SearchParameter.implicitRules":"uri","SearchParameter.jurisdiction":"CodeableConcept","SearchParameter.language":"code","SearchParameter.meta":"Meta","SearchParameter.modifier":"code","SearchParameter.modifierExtension":"Extension","SearchParameter.multipleAnd":"boolean","SearchParameter.multipleOr":"boolean","SearchParameter.name":"string","SearchParameter.publisher":"string","SearchParameter.purpose":"markdown","SearchParameter.status":"code","SearchParameter.target":"code","SearchParameter.text":"Narrative","SearchParameter.type":"code","SearchParameter.url":"uri","SearchParameter.useContext":"UsageContext","SearchParameter.version":"string","SearchParameter.xpath":"string","SearchParameter.xpathUsage":"code","ServiceRequest.asNeededBoolean":"boolean","ServiceRequest.asNeededCodeableConcept":"CodeableConcept","ServiceRequest.authoredOn":"dateTime","ServiceRequest.basedOn":"Reference","ServiceRequest.bodySite":"CodeableConcept","ServiceRequest.category":"CodeableConcept","ServiceRequest.code":"CodeableConcept","ServiceRequest.contained":"Resource","ServiceRequest.doNotPerform":"boolean","ServiceRequest.encounter":"Reference","ServiceRequest.extension":"Extension","ServiceRequest.id":"System.String","ServiceRequest.identifier":"Identifier","ServiceRequest.implicitRules":"uri","ServiceRequest.instantiatesCanonical":"canonical","ServiceRequest.instantiatesUri":"uri","ServiceRequest.insurance":"Reference","ServiceRequest.intent":"code","ServiceRequest.language":"code","ServiceRequest.locationCode":"CodeableConcept","ServiceRequest.locationReference":"Reference","ServiceRequest.meta":"Meta","ServiceRequest.modifierExtension":"Extension","ServiceRequest.note":"Annotation","ServiceRequest.occurrenceDateTime":"dateTime","ServiceRequest.occurrencePeriod":"Period","ServiceRequest.occurrenceTiming":"Timing","ServiceRequest.orderDetail":"CodeableConcept","ServiceRequest.patientInstruction":"string","ServiceRequest.performer":"Reference","ServiceRequest.performerType":"CodeableConcept","ServiceRequest.priority":"code","ServiceRequest.quantityQuantity":"Quantity","ServiceRequest.quantityRange":"Range","ServiceRequest.quantityRatio":"Ratio","ServiceRequest.reasonCode":"CodeableConcept","ServiceRequest.reasonReference":"Reference","ServiceRequest.relevantHistory":"Reference","ServiceRequest.replaces":"Reference","ServiceRequest.requester":"Reference","ServiceRequest.requisition":"Identifier","ServiceRequest.specimen":"Reference","ServiceRequest.status":"code","ServiceRequest.subject":"Reference","ServiceRequest.supportingInfo":"Reference","ServiceRequest.text":"Narrative","Signature.data":"base64Binary","Signature.extension":"Extension","Signature.id":"System.String","Signature.onBehalfOf":"Reference","Signature.sigFormat":"code","Signature.targetFormat":"code","Signature.type":"Coding","Signature.when":"instant","Signature.who":"Reference","Slot.appointmentType":"CodeableConcept","Slot.comment":"string","Slot.contained":"Resource","Slot.end":"instant","Slot.extension":"Extension","Slot.id":"System.String","Slot.identifier":"Identifier","Slot.implicitRules":"uri","Slot.language":"code","Slot.meta":"Meta","Slot.modifierExtension":"Extension","Slot.overbooked":"boolean","Slot.schedule":"Reference","Slot.serviceCategory":"CodeableConcept","Slot.serviceType":"CodeableConcept","Slot.specialty":"CodeableConcept","Slot.start":"instant","Slot.status":"code","Slot.text":"Narrative","Specimen.accessionIdentifier":"Identifier","Specimen.collection":"BackboneElement","Specimen.collection.bodySite":"CodeableConcept","Specimen.collection.collectedDateTime":"dateTime","Specimen.collection.collectedPeriod":"Period","Specimen.collection.collector":"Reference","Specimen.collection.duration":"Duration","Specimen.collection.extension":"Extension","Specimen.collection.fastingStatusCodeableConcept":"CodeableConcept","Specimen.collection.fastingStatusDuration":"Duration","Specimen.collection.id":"System.String","Specimen.collection.method":"CodeableConcept","Specimen.collection.modifierExtension":"Extension","Specimen.collection.quantity":"Quantity","Specimen.condition":"CodeableConcept","Specimen.contained":"Resource","Specimen.container":"BackboneElement","Specimen.container.additiveCodeableConcept":"CodeableConcept","Specimen.container.additiveReference":"Reference","Specimen.container.capacity":"Quantity","Specimen.container.description":"string","Specimen.container.extension":"Extension","Specimen.container.id":"System.String","Specimen.container.identifier":"Identifier","Specimen.container.modifierExtension":"Extension","Specimen.container.specimenQuantity":"Quantity","Specimen.container.type":"CodeableConcept","Specimen.extension":"Extension","Specimen.id":"System.String","Specimen.identifier":"Identifier","Specimen.implicitRules":"uri","Specimen.language":"code","Specimen.meta":"Meta","Specimen.modifierExtension":"Extension","Specimen.note":"Annotation","Specimen.parent":"Reference","Specimen.processing":"BackboneElement","Specimen.processing.additive":"Reference","Specimen.processing.description":"string","Specimen.processing.extension":"Extension","Specimen.processing.id":"System.String","Specimen.processing.modifierExtension":"Extension","Specimen.processing.procedure":"CodeableConcept","Specimen.processing.timeDateTime":"dateTime","Specimen.processing.timePeriod":"Period","Specimen.receivedTime":"dateTime","Specimen.request":"Reference","Specimen.status":"code","Specimen.subject":"Reference","Specimen.text":"Narrative","Specimen.type":"CodeableConcept","SpecimenDefinition.collection":"CodeableConcept","SpecimenDefinition.contained":"Resource","SpecimenDefinition.extension":"Extension","SpecimenDefinition.id":"System.String","SpecimenDefinition.identifier":"Identifier","SpecimenDefinition.implicitRules":"uri","SpecimenDefinition.language":"code","SpecimenDefinition.meta":"Meta","SpecimenDefinition.modifierExtension":"Extension","SpecimenDefinition.patientPreparation":"CodeableConcept","SpecimenDefinition.text":"Narrative","SpecimenDefinition.timeAspect":"string","SpecimenDefinition.typeCollected":"CodeableConcept","SpecimenDefinition.typeTested":"BackboneElement","SpecimenDefinition.typeTested.container":"BackboneElement","SpecimenDefinition.typeTested.container.additive":"BackboneElement","SpecimenDefinition.typeTested.container.additive.additiveCodeableConcept":"CodeableConcept","SpecimenDefinition.typeTested.container.additive.additiveReference":"Reference","SpecimenDefinition.typeTested.container.additive.extension":"Extension","SpecimenDefinition.typeTested.container.additive.id":"System.String","SpecimenDefinition.typeTested.container.additive.modifierExtension":"Extension","SpecimenDefinition.typeTested.container.cap":"CodeableConcept","SpecimenDefinition.typeTested.container.capacity":"Quantity","SpecimenDefinition.typeTested.container.description":"string","SpecimenDefinition.typeTested.container.extension":"Extension","SpecimenDefinition.typeTested.container.id":"System.String","SpecimenDefinition.typeTested.container.material":"CodeableConcept","SpecimenDefinition.typeTested.container.minimumVolumeQuantity":"Quantity","SpecimenDefinition.typeTested.container.minimumVolumeString":"string","SpecimenDefinition.typeTested.container.modifierExtension":"Extension","SpecimenDefinition.typeTested.container.preparation":"string","SpecimenDefinition.typeTested.container.type":"CodeableConcept","SpecimenDefinition.typeTested.extension":"Extension","SpecimenDefinition.typeTested.handling":"BackboneElement","SpecimenDefinition.typeTested.handling.extension":"Extension","SpecimenDefinition.typeTested.handling.id":"System.String","SpecimenDefinition.typeTested.handling.instruction":"string","SpecimenDefinition.typeTested.handling.maxDuration":"Duration","SpecimenDefinition.typeTested.handling.modifierExtension":"Extension","SpecimenDefinition.typeTested.handling.temperatureQualifier":"CodeableConcept","SpecimenDefinition.typeTested.handling.temperatureRange":"Range","SpecimenDefinition.typeTested.id":"System.String","SpecimenDefinition.typeTested.isDerived":"boolean","SpecimenDefinition.typeTested.modifierExtension":"Extension","SpecimenDefinition.typeTested.preference":"code","SpecimenDefinition.typeTested.rejectionCriterion":"CodeableConcept","SpecimenDefinition.typeTested.requirement":"string","SpecimenDefinition.typeTested.retentionTime":"Duration","SpecimenDefinition.typeTested.type":"CodeableConcept","StructureDefinition.abstract":"boolean","StructureDefinition.baseDefinition":"canonical","StructureDefinition.contact":"ContactDetail","StructureDefinition.contained":"Resource","StructureDefinition.context":"BackboneElement","StructureDefinition.context.expression":"string","StructureDefinition.context.extension":"Extension","StructureDefinition.context.id":"System.String","StructureDefinition.context.modifierExtension":"Extension","StructureDefinition.context.type":"code","StructureDefinition.contextInvariant":"string","StructureDefinition.copyright":"markdown","StructureDefinition.date":"dateTime","StructureDefinition.derivation":"code","StructureDefinition.description":"markdown","StructureDefinition.differential":"BackboneElement","StructureDefinition.differential.element":"ElementDefinition","StructureDefinition.differential.extension":"Extension","StructureDefinition.differential.id":"System.String","StructureDefinition.differential.modifierExtension":"Extension","StructureDefinition.experimental":"boolean","StructureDefinition.extension":"Extension","StructureDefinition.fhirVersion":"code","StructureDefinition.id":"System.String","StructureDefinition.identifier":"Identifier","StructureDefinition.implicitRules":"uri","StructureDefinition.jurisdiction":"CodeableConcept","StructureDefinition.keyword":"Coding","StructureDefinition.kind":"code","StructureDefinition.language":"code","StructureDefinition.mapping":"BackboneElement","StructureDefinition.mapping.comment":"string","StructureDefinition.mapping.extension":"Extension","StructureDefinition.mapping.id":"System.String","StructureDefinition.mapping.identity":"id","StructureDefinition.mapping.modifierExtension":"Extension","StructureDefinition.mapping.name":"string","StructureDefinition.mapping.uri":"uri","StructureDefinition.meta":"Meta","StructureDefinition.modifierExtension":"Extension","StructureDefinition.name":"string","StructureDefinition.publisher":"string","StructureDefinition.purpose":"markdown","StructureDefinition.snapshot":"BackboneElement","StructureDefinition.snapshot.element":"ElementDefinition","StructureDefinition.snapshot.extension":"Extension","StructureDefinition.snapshot.id":"System.String","StructureDefinition.snapshot.modifierExtension":"Extension","StructureDefinition.status":"code","StructureDefinition.text":"Narrative","StructureDefinition.title":"string","StructureDefinition.type":"uri","StructureDefinition.url":"uri","StructureDefinition.useContext":"UsageContext","StructureDefinition.version":"string","StructureMap.contact":"ContactDetail","StructureMap.contained":"Resource","StructureMap.copyright":"markdown","StructureMap.date":"dateTime","StructureMap.description":"markdown","StructureMap.experimental":"boolean","StructureMap.extension":"Extension","StructureMap.group":"BackboneElement","StructureMap.group.documentation":"string","StructureMap.group.extends":"id","StructureMap.group.extension":"Extension","StructureMap.group.id":"System.String","StructureMap.group.input":"BackboneElement","StructureMap.group.input.documentation":"string","StructureMap.group.input.extension":"Extension","StructureMap.group.input.id":"System.String","StructureMap.group.input.mode":"code","StructureMap.group.input.modifierExtension":"Extension","StructureMap.group.input.name":"id","StructureMap.group.input.type":"string","StructureMap.group.modifierExtension":"Extension","StructureMap.group.name":"id","StructureMap.group.rule":"BackboneElement","StructureMap.group.rule.dependent":"BackboneElement","StructureMap.group.rule.dependent.extension":"Extension","StructureMap.group.rule.dependent.id":"System.String","StructureMap.group.rule.dependent.modifierExtension":"Extension","StructureMap.group.rule.dependent.name":"id","StructureMap.group.rule.dependent.variable":"string","StructureMap.group.rule.documentation":"string","StructureMap.group.rule.extension":"Extension","StructureMap.group.rule.id":"System.String","StructureMap.group.rule.modifierExtension":"Extension","StructureMap.group.rule.name":"id","StructureMap.group.rule.source":"BackboneElement","StructureMap.group.rule.source.check":"string","StructureMap.group.rule.source.condition":"string","StructureMap.group.rule.source.context":"id","StructureMap.group.rule.source.defaultValueAddress":"Address","StructureMap.group.rule.source.defaultValueAge":"Age","StructureMap.group.rule.source.defaultValueAnnotation":"Annotation","StructureMap.group.rule.source.defaultValueAttachment":"Attachment","StructureMap.group.rule.source.defaultValueBase64Binary":"base64Binary","StructureMap.group.rule.source.defaultValueBoolean":"boolean","StructureMap.group.rule.source.defaultValueCanonical":"canonical","StructureMap.group.rule.source.defaultValueCode":"code","StructureMap.group.rule.source.defaultValueCodeableConcept":"CodeableConcept","StructureMap.group.rule.source.defaultValueCoding":"Coding","StructureMap.group.rule.source.defaultValueContactDetail":"ContactDetail","StructureMap.group.rule.source.defaultValueContactPoint":"ContactPoint","StructureMap.group.rule.source.defaultValueContributor":"Contributor","StructureMap.group.rule.source.defaultValueCount":"Count","StructureMap.group.rule.source.defaultValueDataRequirement":"DataRequirement","StructureMap.group.rule.source.defaultValueDate":"date","StructureMap.group.rule.source.defaultValueDateTime":"dateTime","StructureMap.group.rule.source.defaultValueDecimal":"decimal","StructureMap.group.rule.source.defaultValueDistance":"Distance","StructureMap.group.rule.source.defaultValueDosage":"Dosage","StructureMap.group.rule.source.defaultValueDuration":"Duration","StructureMap.group.rule.source.defaultValueExpression":"Expression","StructureMap.group.rule.source.defaultValueHumanName":"HumanName","StructureMap.group.rule.source.defaultValueId":"id","StructureMap.group.rule.source.defaultValueIdentifier":"Identifier","StructureMap.group.rule.source.defaultValueInstant":"instant","StructureMap.group.rule.source.defaultValueInteger":"integer","StructureMap.group.rule.source.defaultValueMarkdown":"markdown","StructureMap.group.rule.source.defaultValueMeta":"Meta","StructureMap.group.rule.source.defaultValueMoney":"Money","StructureMap.group.rule.source.defaultValueOid":"oid","StructureMap.group.rule.source.defaultValueParameterDefinition":"ParameterDefinition","StructureMap.group.rule.source.defaultValuePeriod":"Period","StructureMap.group.rule.source.defaultValuePositiveInt":"positiveInt","StructureMap.group.rule.source.defaultValueQuantity":"Quantity","StructureMap.group.rule.source.defaultValueRange":"Range","StructureMap.group.rule.source.defaultValueRatio":"Ratio","StructureMap.group.rule.source.defaultValueReference":"Reference","StructureMap.group.rule.source.defaultValueRelatedArtifact":"RelatedArtifact","StructureMap.group.rule.source.defaultValueSampledData":"SampledData","StructureMap.group.rule.source.defaultValueSignature":"Signature","StructureMap.group.rule.source.defaultValueString":"string","StructureMap.group.rule.source.defaultValueTime":"time","StructureMap.group.rule.source.defaultValueTiming":"Timing","StructureMap.group.rule.source.defaultValueTriggerDefinition":"TriggerDefinition","StructureMap.group.rule.source.defaultValueUnsignedInt":"unsignedInt","StructureMap.group.rule.source.defaultValueUri":"uri","StructureMap.group.rule.source.defaultValueUrl":"url","StructureMap.group.rule.source.defaultValueUsageContext":"UsageContext","StructureMap.group.rule.source.defaultValueUuid":"uuid","StructureMap.group.rule.source.element":"string","StructureMap.group.rule.source.extension":"Extension","StructureMap.group.rule.source.id":"System.String","StructureMap.group.rule.source.listMode":"code","StructureMap.group.rule.source.logMessage":"string","StructureMap.group.rule.source.max":"string","StructureMap.group.rule.source.min":"integer","StructureMap.group.rule.source.modifierExtension":"Extension","StructureMap.group.rule.source.type":"string","StructureMap.group.rule.source.variable":"id","StructureMap.group.rule.target":"BackboneElement","StructureMap.group.rule.target.context":"id","StructureMap.group.rule.target.contextType":"code","StructureMap.group.rule.target.element":"string","StructureMap.group.rule.target.extension":"Extension","StructureMap.group.rule.target.id":"System.String","StructureMap.group.rule.target.listMode":"code","StructureMap.group.rule.target.listRuleId":"id","StructureMap.group.rule.target.modifierExtension":"Extension","StructureMap.group.rule.target.parameter":"BackboneElement","StructureMap.group.rule.target.parameter.extension":"Extension","StructureMap.group.rule.target.parameter.id":"System.String","StructureMap.group.rule.target.parameter.modifierExtension":"Extension","StructureMap.group.rule.target.parameter.valueBoolean":"boolean","StructureMap.group.rule.target.parameter.valueDecimal":"decimal","StructureMap.group.rule.target.parameter.valueId":"id","StructureMap.group.rule.target.parameter.valueInteger":"integer","StructureMap.group.rule.target.parameter.valueString":"string","StructureMap.group.rule.target.transform":"code","StructureMap.group.rule.target.variable":"id","StructureMap.group.typeMode":"code","StructureMap.id":"System.String","StructureMap.identifier":"Identifier","StructureMap.implicitRules":"uri","StructureMap.import":"canonical","StructureMap.jurisdiction":"CodeableConcept","StructureMap.language":"code","StructureMap.meta":"Meta","StructureMap.modifierExtension":"Extension","StructureMap.name":"string","StructureMap.publisher":"string","StructureMap.purpose":"markdown","StructureMap.status":"code","StructureMap.structure":"BackboneElement","StructureMap.structure.alias":"string","StructureMap.structure.documentation":"string","StructureMap.structure.extension":"Extension","StructureMap.structure.id":"System.String","StructureMap.structure.mode":"code","StructureMap.structure.modifierExtension":"Extension","StructureMap.structure.url":"canonical","StructureMap.text":"Narrative","StructureMap.title":"string","StructureMap.url":"uri","StructureMap.useContext":"UsageContext","StructureMap.version":"string","Subscription.channel":"BackboneElement","Subscription.channel.endpoint":"url","Subscription.channel.extension":"Extension","Subscription.channel.header":"string","Subscription.channel.id":"System.String","Subscription.channel.modifierExtension":"Extension","Subscription.channel.payload":"code","Subscription.channel.type":"code","Subscription.contact":"ContactPoint","Subscription.contained":"Resource","Subscription.criteria":"string","Subscription.end":"instant","Subscription.error":"string","Subscription.extension":"Extension","Subscription.id":"System.String","Subscription.implicitRules":"uri","Subscription.language":"code","Subscription.meta":"Meta","Subscription.modifierExtension":"Extension","Subscription.reason":"string","Subscription.status":"code","Subscription.text":"Narrative","Substance.category":"CodeableConcept","Substance.code":"CodeableConcept","Substance.contained":"Resource","Substance.description":"string","Substance.extension":"Extension","Substance.id":"System.String","Substance.identifier":"Identifier","Substance.implicitRules":"uri","Substance.ingredient":"BackboneElement","Substance.ingredient.extension":"Extension","Substance.ingredient.id":"System.String","Substance.ingredient.modifierExtension":"Extension","Substance.ingredient.quantity":"Ratio","Substance.ingredient.substanceCodeableConcept":"CodeableConcept","Substance.ingredient.substanceReference":"Reference","Substance.instance":"BackboneElement","Substance.instance.expiry":"dateTime","Substance.instance.extension":"Extension","Substance.instance.id":"System.String","Substance.instance.identifier":"Identifier","Substance.instance.modifierExtension":"Extension","Substance.instance.quantity":"Quantity","Substance.language":"code","Substance.meta":"Meta","Substance.modifierExtension":"Extension","Substance.status":"code","Substance.text":"Narrative","SubstanceAmount.amountQuantity":"Quantity","SubstanceAmount.amountRange":"Range","SubstanceAmount.amountString":"string","SubstanceAmount.amountText":"string","SubstanceAmount.amountType":"CodeableConcept","SubstanceAmount.extension":"Extension","SubstanceAmount.id":"System.String","SubstanceAmount.modifierExtension":"Extension","SubstanceAmount.referenceRange.extension":"Extension","SubstanceAmount.referenceRange.highLimit":"Quantity","SubstanceAmount.referenceRange.id":"System.String","SubstanceAmount.referenceRange.lowLimit":"Quantity","SubstanceNucleicAcid.areaOfHybridisation":"string","SubstanceNucleicAcid.contained":"Resource","SubstanceNucleicAcid.extension":"Extension","SubstanceNucleicAcid.id":"System.String","SubstanceNucleicAcid.implicitRules":"uri","SubstanceNucleicAcid.language":"code","SubstanceNucleicAcid.meta":"Meta","SubstanceNucleicAcid.modifierExtension":"Extension","SubstanceNucleicAcid.numberOfSubunits":"integer","SubstanceNucleicAcid.oligoNucleotideType":"CodeableConcept","SubstanceNucleicAcid.sequenceType":"CodeableConcept","SubstanceNucleicAcid.subunit":"BackboneElement","SubstanceNucleicAcid.subunit.extension":"Extension","SubstanceNucleicAcid.subunit.fivePrime":"CodeableConcept","SubstanceNucleicAcid.subunit.id":"System.String","SubstanceNucleicAcid.subunit.length":"integer","SubstanceNucleicAcid.subunit.linkage":"BackboneElement","SubstanceNucleicAcid.subunit.linkage.connectivity":"string","SubstanceNucleicAcid.subunit.linkage.extension":"Extension","SubstanceNucleicAcid.subunit.linkage.id":"System.String","SubstanceNucleicAcid.subunit.linkage.identifier":"Identifier","SubstanceNucleicAcid.subunit.linkage.modifierExtension":"Extension","SubstanceNucleicAcid.subunit.linkage.name":"string","SubstanceNucleicAcid.subunit.linkage.residueSite":"string","SubstanceNucleicAcid.subunit.modifierExtension":"Extension","SubstanceNucleicAcid.subunit.sequence":"string","SubstanceNucleicAcid.subunit.sequenceAttachment":"Attachment","SubstanceNucleicAcid.subunit.subunit":"integer","SubstanceNucleicAcid.subunit.sugar":"BackboneElement","SubstanceNucleicAcid.subunit.sugar.extension":"Extension","SubstanceNucleicAcid.subunit.sugar.id":"System.String","SubstanceNucleicAcid.subunit.sugar.identifier":"Identifier","SubstanceNucleicAcid.subunit.sugar.modifierExtension":"Extension","SubstanceNucleicAcid.subunit.sugar.name":"string","SubstanceNucleicAcid.subunit.sugar.residueSite":"string","SubstanceNucleicAcid.subunit.threePrime":"CodeableConcept","SubstanceNucleicAcid.text":"Narrative","SubstancePolymer.class":"CodeableConcept","SubstancePolymer.contained":"Resource","SubstancePolymer.copolymerConnectivity":"CodeableConcept","SubstancePolymer.extension":"Extension","SubstancePolymer.geometry":"CodeableConcept","SubstancePolymer.id":"System.String","SubstancePolymer.implicitRules":"uri","SubstancePolymer.language":"code","SubstancePolymer.meta":"Meta","SubstancePolymer.modification":"string","SubstancePolymer.modifierExtension":"Extension","SubstancePolymer.monomerSet":"BackboneElement","SubstancePolymer.monomerSet.extension":"Extension","SubstancePolymer.monomerSet.id":"System.String","SubstancePolymer.monomerSet.modifierExtension":"Extension","SubstancePolymer.monomerSet.ratioType":"CodeableConcept","SubstancePolymer.monomerSet.startingMaterial":"BackboneElement","SubstancePolymer.monomerSet.startingMaterial.amount":"SubstanceAmount","SubstancePolymer.monomerSet.startingMaterial.extension":"Extension","SubstancePolymer.monomerSet.startingMaterial.id":"System.String","SubstancePolymer.monomerSet.startingMaterial.isDefining":"boolean","SubstancePolymer.monomerSet.startingMaterial.material":"CodeableConcept","SubstancePolymer.monomerSet.startingMaterial.modifierExtension":"Extension","SubstancePolymer.monomerSet.startingMaterial.type":"CodeableConcept","SubstancePolymer.repeat":"BackboneElement","SubstancePolymer.repeat.averageMolecularFormula":"string","SubstancePolymer.repeat.extension":"Extension","SubstancePolymer.repeat.id":"System.String","SubstancePolymer.repeat.modifierExtension":"Extension","SubstancePolymer.repeat.numberOfUnits":"integer","SubstancePolymer.repeat.repeatUnit":"BackboneElement","SubstancePolymer.repeat.repeatUnit.amount":"SubstanceAmount","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation":"BackboneElement","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount":"SubstanceAmount","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.degree":"CodeableConcept","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.extension":"Extension","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.id":"System.String","SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.modifierExtension":"Extension","SubstancePolymer.repeat.repeatUnit.extension":"Extension","SubstancePolymer.repeat.repeatUnit.id":"System.String","SubstancePolymer.repeat.repeatUnit.modifierExtension":"Extension","SubstancePolymer.repeat.repeatUnit.orientationOfPolymerisation":"CodeableConcept","SubstancePolymer.repeat.repeatUnit.repeatUnit":"string","SubstancePolymer.repeat.repeatUnit.structuralRepresentation":"BackboneElement","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.attachment":"Attachment","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.extension":"Extension","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.id":"System.String","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.modifierExtension":"Extension","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.representation":"string","SubstancePolymer.repeat.repeatUnit.structuralRepresentation.type":"CodeableConcept","SubstancePolymer.repeat.repeatUnitAmountType":"CodeableConcept","SubstancePolymer.text":"Narrative","SubstanceProtein.contained":"Resource","SubstanceProtein.disulfideLinkage":"string","SubstanceProtein.extension":"Extension","SubstanceProtein.id":"System.String","SubstanceProtein.implicitRules":"uri","SubstanceProtein.language":"code","SubstanceProtein.meta":"Meta","SubstanceProtein.modifierExtension":"Extension","SubstanceProtein.numberOfSubunits":"integer","SubstanceProtein.sequenceType":"CodeableConcept","SubstanceProtein.subunit":"BackboneElement","SubstanceProtein.subunit.cTerminalModification":"string","SubstanceProtein.subunit.cTerminalModificationId":"Identifier","SubstanceProtein.subunit.extension":"Extension","SubstanceProtein.subunit.id":"System.String","SubstanceProtein.subunit.length":"integer","SubstanceProtein.subunit.modifierExtension":"Extension","SubstanceProtein.subunit.nTerminalModification":"string","SubstanceProtein.subunit.nTerminalModificationId":"Identifier","SubstanceProtein.subunit.sequence":"string","SubstanceProtein.subunit.sequenceAttachment":"Attachment","SubstanceProtein.subunit.subunit":"integer","SubstanceProtein.text":"Narrative","SubstanceReferenceInformation.classification":"BackboneElement","SubstanceReferenceInformation.classification.classification":"CodeableConcept","SubstanceReferenceInformation.classification.domain":"CodeableConcept","SubstanceReferenceInformation.classification.extension":"Extension","SubstanceReferenceInformation.classification.id":"System.String","SubstanceReferenceInformation.classification.modifierExtension":"Extension","SubstanceReferenceInformation.classification.source":"Reference","SubstanceReferenceInformation.classification.subtype":"CodeableConcept","SubstanceReferenceInformation.comment":"string","SubstanceReferenceInformation.contained":"Resource","SubstanceReferenceInformation.extension":"Extension","SubstanceReferenceInformation.gene":"BackboneElement","SubstanceReferenceInformation.gene.extension":"Extension","SubstanceReferenceInformation.gene.gene":"CodeableConcept","SubstanceReferenceInformation.gene.geneSequenceOrigin":"CodeableConcept","SubstanceReferenceInformation.gene.id":"System.String","SubstanceReferenceInformation.gene.modifierExtension":"Extension","SubstanceReferenceInformation.gene.source":"Reference","SubstanceReferenceInformation.geneElement":"BackboneElement","SubstanceReferenceInformation.geneElement.element":"Identifier","SubstanceReferenceInformation.geneElement.extension":"Extension","SubstanceReferenceInformation.geneElement.id":"System.String","SubstanceReferenceInformation.geneElement.modifierExtension":"Extension","SubstanceReferenceInformation.geneElement.source":"Reference","SubstanceReferenceInformation.geneElement.type":"CodeableConcept","SubstanceReferenceInformation.id":"System.String","SubstanceReferenceInformation.implicitRules":"uri","SubstanceReferenceInformation.language":"code","SubstanceReferenceInformation.meta":"Meta","SubstanceReferenceInformation.modifierExtension":"Extension","SubstanceReferenceInformation.target":"BackboneElement","SubstanceReferenceInformation.target.amountQuantity":"Quantity","SubstanceReferenceInformation.target.amountRange":"Range","SubstanceReferenceInformation.target.amountString":"string","SubstanceReferenceInformation.target.amountType":"CodeableConcept","SubstanceReferenceInformation.target.extension":"Extension","SubstanceReferenceInformation.target.id":"System.String","SubstanceReferenceInformation.target.interaction":"CodeableConcept","SubstanceReferenceInformation.target.modifierExtension":"Extension","SubstanceReferenceInformation.target.organism":"CodeableConcept","SubstanceReferenceInformation.target.organismType":"CodeableConcept","SubstanceReferenceInformation.target.source":"Reference","SubstanceReferenceInformation.target.target":"Identifier","SubstanceReferenceInformation.target.type":"CodeableConcept","SubstanceReferenceInformation.text":"Narrative","SubstanceSourceMaterial.contained":"Resource","SubstanceSourceMaterial.countryOfOrigin":"CodeableConcept","SubstanceSourceMaterial.developmentStage":"CodeableConcept","SubstanceSourceMaterial.extension":"Extension","SubstanceSourceMaterial.fractionDescription":"BackboneElement","SubstanceSourceMaterial.fractionDescription.extension":"Extension","SubstanceSourceMaterial.fractionDescription.fraction":"string","SubstanceSourceMaterial.fractionDescription.id":"System.String","SubstanceSourceMaterial.fractionDescription.materialType":"CodeableConcept","SubstanceSourceMaterial.fractionDescription.modifierExtension":"Extension","SubstanceSourceMaterial.geographicalLocation":"string","SubstanceSourceMaterial.id":"System.String","SubstanceSourceMaterial.implicitRules":"uri","SubstanceSourceMaterial.language":"code","SubstanceSourceMaterial.meta":"Meta","SubstanceSourceMaterial.modifierExtension":"Extension","SubstanceSourceMaterial.organism":"BackboneElement","SubstanceSourceMaterial.organism.author":"BackboneElement","SubstanceSourceMaterial.organism.author.authorDescription":"string","SubstanceSourceMaterial.organism.author.authorType":"CodeableConcept","SubstanceSourceMaterial.organism.author.extension":"Extension","SubstanceSourceMaterial.organism.author.id":"System.String","SubstanceSourceMaterial.organism.author.modifierExtension":"Extension","SubstanceSourceMaterial.organism.extension":"Extension","SubstanceSourceMaterial.organism.family":"CodeableConcept","SubstanceSourceMaterial.organism.genus":"CodeableConcept","SubstanceSourceMaterial.organism.hybrid":"BackboneElement","SubstanceSourceMaterial.organism.hybrid.extension":"Extension","SubstanceSourceMaterial.organism.hybrid.hybridType":"CodeableConcept","SubstanceSourceMaterial.organism.hybrid.id":"System.String","SubstanceSourceMaterial.organism.hybrid.maternalOrganismId":"string","SubstanceSourceMaterial.organism.hybrid.maternalOrganismName":"string","SubstanceSourceMaterial.organism.hybrid.modifierExtension":"Extension","SubstanceSourceMaterial.organism.hybrid.paternalOrganismId":"string","SubstanceSourceMaterial.organism.hybrid.paternalOrganismName":"string","SubstanceSourceMaterial.organism.id":"System.String","SubstanceSourceMaterial.organism.intraspecificDescription":"string","SubstanceSourceMaterial.organism.intraspecificType":"CodeableConcept","SubstanceSourceMaterial.organism.modifierExtension":"Extension","SubstanceSourceMaterial.organism.organismGeneral":"BackboneElement","SubstanceSourceMaterial.organism.organismGeneral.class":"CodeableConcept","SubstanceSourceMaterial.organism.organismGeneral.extension":"Extension","SubstanceSourceMaterial.organism.organismGeneral.id":"System.String","SubstanceSourceMaterial.organism.organismGeneral.kingdom":"CodeableConcept","SubstanceSourceMaterial.organism.organismGeneral.modifierExtension":"Extension","SubstanceSourceMaterial.organism.organismGeneral.order":"CodeableConcept","SubstanceSourceMaterial.organism.organismGeneral.phylum":"CodeableConcept","SubstanceSourceMaterial.organism.species":"CodeableConcept","SubstanceSourceMaterial.organismId":"Identifier","SubstanceSourceMaterial.organismName":"string","SubstanceSourceMaterial.parentSubstanceId":"Identifier","SubstanceSourceMaterial.parentSubstanceName":"string","SubstanceSourceMaterial.partDescription":"BackboneElement","SubstanceSourceMaterial.partDescription.extension":"Extension","SubstanceSourceMaterial.partDescription.id":"System.String","SubstanceSourceMaterial.partDescription.modifierExtension":"Extension","SubstanceSourceMaterial.partDescription.part":"CodeableConcept","SubstanceSourceMaterial.partDescription.partLocation":"CodeableConcept","SubstanceSourceMaterial.sourceMaterialClass":"CodeableConcept","SubstanceSourceMaterial.sourceMaterialState":"CodeableConcept","SubstanceSourceMaterial.sourceMaterialType":"CodeableConcept","SubstanceSourceMaterial.text":"Narrative","SubstanceSpecification.code":"BackboneElement","SubstanceSpecification.code.code":"CodeableConcept","SubstanceSpecification.code.comment":"string","SubstanceSpecification.code.extension":"Extension","SubstanceSpecification.code.id":"System.String","SubstanceSpecification.code.modifierExtension":"Extension","SubstanceSpecification.code.source":"Reference","SubstanceSpecification.code.status":"CodeableConcept","SubstanceSpecification.code.statusDate":"dateTime","SubstanceSpecification.comment":"string","SubstanceSpecification.contained":"Resource","SubstanceSpecification.description":"string","SubstanceSpecification.domain":"CodeableConcept","SubstanceSpecification.extension":"Extension","SubstanceSpecification.id":"System.String","SubstanceSpecification.identifier":"Identifier","SubstanceSpecification.implicitRules":"uri","SubstanceSpecification.language":"code","SubstanceSpecification.meta":"Meta","SubstanceSpecification.modifierExtension":"Extension","SubstanceSpecification.moiety":"BackboneElement","SubstanceSpecification.moiety.amountQuantity":"Quantity","SubstanceSpecification.moiety.amountString":"string","SubstanceSpecification.moiety.extension":"Extension","SubstanceSpecification.moiety.id":"System.String","SubstanceSpecification.moiety.identifier":"Identifier","SubstanceSpecification.moiety.modifierExtension":"Extension","SubstanceSpecification.moiety.molecularFormula":"string","SubstanceSpecification.moiety.name":"string","SubstanceSpecification.moiety.opticalActivity":"CodeableConcept","SubstanceSpecification.moiety.role":"CodeableConcept","SubstanceSpecification.moiety.stereochemistry":"CodeableConcept","SubstanceSpecification.name":"BackboneElement","SubstanceSpecification.name.domain":"CodeableConcept","SubstanceSpecification.name.extension":"Extension","SubstanceSpecification.name.id":"System.String","SubstanceSpecification.name.jurisdiction":"CodeableConcept","SubstanceSpecification.name.language":"CodeableConcept","SubstanceSpecification.name.modifierExtension":"Extension","SubstanceSpecification.name.name":"string","SubstanceSpecification.name.official":"BackboneElement","SubstanceSpecification.name.official.authority":"CodeableConcept","SubstanceSpecification.name.official.date":"dateTime","SubstanceSpecification.name.official.extension":"Extension","SubstanceSpecification.name.official.id":"System.String","SubstanceSpecification.name.official.modifierExtension":"Extension","SubstanceSpecification.name.official.status":"CodeableConcept","SubstanceSpecification.name.preferred":"boolean","SubstanceSpecification.name.source":"Reference","SubstanceSpecification.name.status":"CodeableConcept","SubstanceSpecification.name.type":"CodeableConcept","SubstanceSpecification.nucleicAcid":"Reference","SubstanceSpecification.polymer":"Reference","SubstanceSpecification.property":"BackboneElement","SubstanceSpecification.property.amountQuantity":"Quantity","SubstanceSpecification.property.amountString":"string","SubstanceSpecification.property.category":"CodeableConcept","SubstanceSpecification.property.code":"CodeableConcept","SubstanceSpecification.property.definingSubstanceCodeableConcept":"CodeableConcept","SubstanceSpecification.property.definingSubstanceReference":"Reference","SubstanceSpecification.property.extension":"Extension","SubstanceSpecification.property.id":"System.String","SubstanceSpecification.property.modifierExtension":"Extension","SubstanceSpecification.property.parameters":"string","SubstanceSpecification.protein":"Reference","SubstanceSpecification.referenceInformation":"Reference","SubstanceSpecification.relationship":"BackboneElement","SubstanceSpecification.relationship.amountQuantity":"Quantity","SubstanceSpecification.relationship.amountRange":"Range","SubstanceSpecification.relationship.amountRatio":"Ratio","SubstanceSpecification.relationship.amountRatioLowLimit":"Ratio","SubstanceSpecification.relationship.amountString":"string","SubstanceSpecification.relationship.amountType":"CodeableConcept","SubstanceSpecification.relationship.extension":"Extension","SubstanceSpecification.relationship.id":"System.String","SubstanceSpecification.relationship.isDefining":"boolean","SubstanceSpecification.relationship.modifierExtension":"Extension","SubstanceSpecification.relationship.relationship":"CodeableConcept","SubstanceSpecification.relationship.source":"Reference","SubstanceSpecification.relationship.substanceCodeableConcept":"CodeableConcept","SubstanceSpecification.relationship.substanceReference":"Reference","SubstanceSpecification.source":"Reference","SubstanceSpecification.sourceMaterial":"Reference","SubstanceSpecification.status":"CodeableConcept","SubstanceSpecification.structure":"BackboneElement","SubstanceSpecification.structure.extension":"Extension","SubstanceSpecification.structure.id":"System.String","SubstanceSpecification.structure.isotope":"BackboneElement","SubstanceSpecification.structure.isotope.extension":"Extension","SubstanceSpecification.structure.isotope.halfLife":"Quantity","SubstanceSpecification.structure.isotope.id":"System.String","SubstanceSpecification.structure.isotope.identifier":"Identifier","SubstanceSpecification.structure.isotope.modifierExtension":"Extension","SubstanceSpecification.structure.isotope.molecularWeight":"BackboneElement","SubstanceSpecification.structure.isotope.molecularWeight.amount":"Quantity","SubstanceSpecification.structure.isotope.molecularWeight.extension":"Extension","SubstanceSpecification.structure.isotope.molecularWeight.id":"System.String","SubstanceSpecification.structure.isotope.molecularWeight.method":"CodeableConcept","SubstanceSpecification.structure.isotope.molecularWeight.modifierExtension":"Extension","SubstanceSpecification.structure.isotope.molecularWeight.type":"CodeableConcept","SubstanceSpecification.structure.isotope.name":"CodeableConcept","SubstanceSpecification.structure.isotope.substitution":"CodeableConcept","SubstanceSpecification.structure.modifierExtension":"Extension","SubstanceSpecification.structure.molecularFormula":"string","SubstanceSpecification.structure.molecularFormulaByMoiety":"string","SubstanceSpecification.structure.opticalActivity":"CodeableConcept","SubstanceSpecification.structure.representation":"BackboneElement","SubstanceSpecification.structure.representation.attachment":"Attachment","SubstanceSpecification.structure.representation.extension":"Extension","SubstanceSpecification.structure.representation.id":"System.String","SubstanceSpecification.structure.representation.modifierExtension":"Extension","SubstanceSpecification.structure.representation.representation":"string","SubstanceSpecification.structure.representation.type":"CodeableConcept","SubstanceSpecification.structure.source":"Reference","SubstanceSpecification.structure.stereochemistry":"CodeableConcept","SubstanceSpecification.text":"Narrative","SubstanceSpecification.type":"CodeableConcept","SupplyDelivery.basedOn":"Reference","SupplyDelivery.contained":"Resource","SupplyDelivery.destination":"Reference","SupplyDelivery.extension":"Extension","SupplyDelivery.id":"System.String","SupplyDelivery.identifier":"Identifier","SupplyDelivery.implicitRules":"uri","SupplyDelivery.language":"code","SupplyDelivery.meta":"Meta","SupplyDelivery.modifierExtension":"Extension","SupplyDelivery.occurrenceDateTime":"dateTime","SupplyDelivery.occurrencePeriod":"Period","SupplyDelivery.occurrenceTiming":"Timing","SupplyDelivery.partOf":"Reference","SupplyDelivery.patient":"Reference","SupplyDelivery.receiver":"Reference","SupplyDelivery.status":"code","SupplyDelivery.suppliedItem":"BackboneElement","SupplyDelivery.suppliedItem.extension":"Extension","SupplyDelivery.suppliedItem.id":"System.String","SupplyDelivery.suppliedItem.itemCodeableConcept":"CodeableConcept","SupplyDelivery.suppliedItem.itemReference":"Reference","SupplyDelivery.suppliedItem.modifierExtension":"Extension","SupplyDelivery.suppliedItem.quantity":"Quantity","SupplyDelivery.supplier":"Reference","SupplyDelivery.text":"Narrative","SupplyDelivery.type":"CodeableConcept","SupplyRequest.authoredOn":"dateTime","SupplyRequest.category":"CodeableConcept","SupplyRequest.contained":"Resource","SupplyRequest.deliverFrom":"Reference","SupplyRequest.deliverTo":"Reference","SupplyRequest.extension":"Extension","SupplyRequest.id":"System.String","SupplyRequest.identifier":"Identifier","SupplyRequest.implicitRules":"uri","SupplyRequest.itemCodeableConcept":"CodeableConcept","SupplyRequest.itemReference":"Reference","SupplyRequest.language":"code","SupplyRequest.meta":"Meta","SupplyRequest.modifierExtension":"Extension","SupplyRequest.occurrenceDateTime":"dateTime","SupplyRequest.occurrencePeriod":"Period","SupplyRequest.occurrenceTiming":"Timing","SupplyRequest.parameter":"BackboneElement","SupplyRequest.parameter.code":"CodeableConcept","SupplyRequest.parameter.extension":"Extension","SupplyRequest.parameter.id":"System.String","SupplyRequest.parameter.modifierExtension":"Extension","SupplyRequest.parameter.valueBoolean":"boolean","SupplyRequest.parameter.valueCodeableConcept":"CodeableConcept","SupplyRequest.parameter.valueQuantity":"Quantity","SupplyRequest.parameter.valueRange":"Range","SupplyRequest.priority":"code","SupplyRequest.quantity":"Quantity","SupplyRequest.reasonCode":"CodeableConcept","SupplyRequest.reasonReference":"Reference","SupplyRequest.requester":"Reference","SupplyRequest.status":"code","SupplyRequest.supplier":"Reference","SupplyRequest.text":"Narrative","Task.authoredOn":"dateTime","Task.basedOn":"Reference","Task.businessStatus":"CodeableConcept","Task.code":"CodeableConcept","Task.contained":"Resource","Task.description":"string","Task.encounter":"Reference","Task.executionPeriod":"Period","Task.extension":"Extension","Task.focus":"Reference","Task.for":"Reference","Task.groupIdentifier":"Identifier","Task.id":"System.String","Task.identifier":"Identifier","Task.implicitRules":"uri","Task.input":"BackboneElement","Task.input.extension":"Extension","Task.input.id":"System.String","Task.input.modifierExtension":"Extension","Task.input.type":"CodeableConcept","Task.input.valueAddress":"Address","Task.input.valueAge":"Age","Task.input.valueAnnotation":"Annotation","Task.input.valueAttachment":"Attachment","Task.input.valueBase64Binary":"base64Binary","Task.input.valueBoolean":"boolean","Task.input.valueCanonical":"canonical","Task.input.valueCode":"code","Task.input.valueCodeableConcept":"CodeableConcept","Task.input.valueCoding":"Coding","Task.input.valueContactDetail":"ContactDetail","Task.input.valueContactPoint":"ContactPoint","Task.input.valueContributor":"Contributor","Task.input.valueCount":"Count","Task.input.valueDataRequirement":"DataRequirement","Task.input.valueDate":"date","Task.input.valueDateTime":"dateTime","Task.input.valueDecimal":"decimal","Task.input.valueDistance":"Distance","Task.input.valueDosage":"Dosage","Task.input.valueDuration":"Duration","Task.input.valueExpression":"Expression","Task.input.valueHumanName":"HumanName","Task.input.valueId":"id","Task.input.valueIdentifier":"Identifier","Task.input.valueInstant":"instant","Task.input.valueInteger":"integer","Task.input.valueMarkdown":"markdown","Task.input.valueMeta":"Meta","Task.input.valueMoney":"Money","Task.input.valueOid":"oid","Task.input.valueParameterDefinition":"ParameterDefinition","Task.input.valuePeriod":"Period","Task.input.valuePositiveInt":"positiveInt","Task.input.valueQuantity":"Quantity","Task.input.valueRange":"Range","Task.input.valueRatio":"Ratio","Task.input.valueReference":"Reference","Task.input.valueRelatedArtifact":"RelatedArtifact","Task.input.valueSampledData":"SampledData","Task.input.valueSignature":"Signature","Task.input.valueString":"string","Task.input.valueTime":"time","Task.input.valueTiming":"Timing","Task.input.valueTriggerDefinition":"TriggerDefinition","Task.input.valueUnsignedInt":"unsignedInt","Task.input.valueUri":"uri","Task.input.valueUrl":"url","Task.input.valueUsageContext":"UsageContext","Task.input.valueUuid":"uuid","Task.instantiatesCanonical":"canonical","Task.instantiatesUri":"uri","Task.insurance":"Reference","Task.intent":"code","Task.language":"code","Task.lastModified":"dateTime","Task.location":"Reference","Task.meta":"Meta","Task.modifierExtension":"Extension","Task.note":"Annotation","Task.output":"BackboneElement","Task.output.extension":"Extension","Task.output.id":"System.String","Task.output.modifierExtension":"Extension","Task.output.type":"CodeableConcept","Task.output.valueAddress":"Address","Task.output.valueAge":"Age","Task.output.valueAnnotation":"Annotation","Task.output.valueAttachment":"Attachment","Task.output.valueBase64Binary":"base64Binary","Task.output.valueBoolean":"boolean","Task.output.valueCanonical":"canonical","Task.output.valueCode":"code","Task.output.valueCodeableConcept":"CodeableConcept","Task.output.valueCoding":"Coding","Task.output.valueContactDetail":"ContactDetail","Task.output.valueContactPoint":"ContactPoint","Task.output.valueContributor":"Contributor","Task.output.valueCount":"Count","Task.output.valueDataRequirement":"DataRequirement","Task.output.valueDate":"date","Task.output.valueDateTime":"dateTime","Task.output.valueDecimal":"decimal","Task.output.valueDistance":"Distance","Task.output.valueDosage":"Dosage","Task.output.valueDuration":"Duration","Task.output.valueExpression":"Expression","Task.output.valueHumanName":"HumanName","Task.output.valueId":"id","Task.output.valueIdentifier":"Identifier","Task.output.valueInstant":"instant","Task.output.valueInteger":"integer","Task.output.valueMarkdown":"markdown","Task.output.valueMeta":"Meta","Task.output.valueMoney":"Money","Task.output.valueOid":"oid","Task.output.valueParameterDefinition":"ParameterDefinition","Task.output.valuePeriod":"Period","Task.output.valuePositiveInt":"positiveInt","Task.output.valueQuantity":"Quantity","Task.output.valueRange":"Range","Task.output.valueRatio":"Ratio","Task.output.valueReference":"Reference","Task.output.valueRelatedArtifact":"RelatedArtifact","Task.output.valueSampledData":"SampledData","Task.output.valueSignature":"Signature","Task.output.valueString":"string","Task.output.valueTime":"time","Task.output.valueTiming":"Timing","Task.output.valueTriggerDefinition":"TriggerDefinition","Task.output.valueUnsignedInt":"unsignedInt","Task.output.valueUri":"uri","Task.output.valueUrl":"url","Task.output.valueUsageContext":"UsageContext","Task.output.valueUuid":"uuid","Task.owner":"Reference","Task.partOf":"Reference","Task.performerType":"CodeableConcept","Task.priority":"code","Task.reasonCode":"CodeableConcept","Task.reasonReference":"Reference","Task.relevantHistory":"Reference","Task.requester":"Reference","Task.restriction":"BackboneElement","Task.restriction.extension":"Extension","Task.restriction.id":"System.String","Task.restriction.modifierExtension":"Extension","Task.restriction.period":"Period","Task.restriction.recipient":"Reference","Task.restriction.repetitions":"positiveInt","Task.status":"code","Task.statusReason":"CodeableConcept","Task.text":"Narrative","TerminologyCapabilities.closure":"BackboneElement","TerminologyCapabilities.closure.extension":"Extension","TerminologyCapabilities.closure.id":"System.String","TerminologyCapabilities.closure.modifierExtension":"Extension","TerminologyCapabilities.closure.translation":"boolean","TerminologyCapabilities.codeSearch":"code","TerminologyCapabilities.codeSystem":"BackboneElement","TerminologyCapabilities.codeSystem.extension":"Extension","TerminologyCapabilities.codeSystem.id":"System.String","TerminologyCapabilities.codeSystem.modifierExtension":"Extension","TerminologyCapabilities.codeSystem.subsumption":"boolean","TerminologyCapabilities.codeSystem.uri":"canonical","TerminologyCapabilities.codeSystem.version":"BackboneElement","TerminologyCapabilities.codeSystem.version.code":"string","TerminologyCapabilities.codeSystem.version.compositional":"boolean","TerminologyCapabilities.codeSystem.version.extension":"Extension","TerminologyCapabilities.codeSystem.version.filter":"BackboneElement","TerminologyCapabilities.codeSystem.version.filter.code":"code","TerminologyCapabilities.codeSystem.version.filter.extension":"Extension","TerminologyCapabilities.codeSystem.version.filter.id":"System.String","TerminologyCapabilities.codeSystem.version.filter.modifierExtension":"Extension","TerminologyCapabilities.codeSystem.version.filter.op":"code","TerminologyCapabilities.codeSystem.version.id":"System.String","TerminologyCapabilities.codeSystem.version.isDefault":"boolean","TerminologyCapabilities.codeSystem.version.language":"code","TerminologyCapabilities.codeSystem.version.modifierExtension":"Extension","TerminologyCapabilities.codeSystem.version.property":"code","TerminologyCapabilities.contact":"ContactDetail","TerminologyCapabilities.contained":"Resource","TerminologyCapabilities.copyright":"markdown","TerminologyCapabilities.date":"dateTime","TerminologyCapabilities.description":"markdown","TerminologyCapabilities.expansion":"BackboneElement","TerminologyCapabilities.expansion.extension":"Extension","TerminologyCapabilities.expansion.hierarchical":"boolean","TerminologyCapabilities.expansion.id":"System.String","TerminologyCapabilities.expansion.incomplete":"boolean","TerminologyCapabilities.expansion.modifierExtension":"Extension","TerminologyCapabilities.expansion.paging":"boolean","TerminologyCapabilities.expansion.parameter":"BackboneElement","TerminologyCapabilities.expansion.parameter.documentation":"string","TerminologyCapabilities.expansion.parameter.extension":"Extension","TerminologyCapabilities.expansion.parameter.id":"System.String","TerminologyCapabilities.expansion.parameter.modifierExtension":"Extension","TerminologyCapabilities.expansion.parameter.name":"code","TerminologyCapabilities.expansion.textFilter":"markdown","TerminologyCapabilities.experimental":"boolean","TerminologyCapabilities.extension":"Extension","TerminologyCapabilities.id":"System.String","TerminologyCapabilities.implementation":"BackboneElement","TerminologyCapabilities.implementation.description":"string","TerminologyCapabilities.implementation.extension":"Extension","TerminologyCapabilities.implementation.id":"System.String","TerminologyCapabilities.implementation.modifierExtension":"Extension","TerminologyCapabilities.implementation.url":"url","TerminologyCapabilities.implicitRules":"uri","TerminologyCapabilities.jurisdiction":"CodeableConcept","TerminologyCapabilities.kind":"code","TerminologyCapabilities.language":"code","TerminologyCapabilities.lockedDate":"boolean","TerminologyCapabilities.meta":"Meta","TerminologyCapabilities.modifierExtension":"Extension","TerminologyCapabilities.name":"string","TerminologyCapabilities.publisher":"string","TerminologyCapabilities.purpose":"markdown","TerminologyCapabilities.software":"BackboneElement","TerminologyCapabilities.software.extension":"Extension","TerminologyCapabilities.software.id":"System.String","TerminologyCapabilities.software.modifierExtension":"Extension","TerminologyCapabilities.software.name":"string","TerminologyCapabilities.software.version":"string","TerminologyCapabilities.status":"code","TerminologyCapabilities.text":"Narrative","TerminologyCapabilities.title":"string","TerminologyCapabilities.translation":"BackboneElement","TerminologyCapabilities.translation.extension":"Extension","TerminologyCapabilities.translation.id":"System.String","TerminologyCapabilities.translation.modifierExtension":"Extension","TerminologyCapabilities.translation.needsMap":"boolean","TerminologyCapabilities.url":"uri","TerminologyCapabilities.useContext":"UsageContext","TerminologyCapabilities.validateCode":"BackboneElement","TerminologyCapabilities.validateCode.extension":"Extension","TerminologyCapabilities.validateCode.id":"System.String","TerminologyCapabilities.validateCode.modifierExtension":"Extension","TerminologyCapabilities.validateCode.translations":"boolean","TerminologyCapabilities.version":"string","TestReport.contained":"Resource","TestReport.extension":"Extension","TestReport.id":"System.String","TestReport.identifier":"Identifier","TestReport.implicitRules":"uri","TestReport.issued":"dateTime","TestReport.language":"code","TestReport.meta":"Meta","TestReport.modifierExtension":"Extension","TestReport.name":"string","TestReport.participant":"BackboneElement","TestReport.participant.display":"string","TestReport.participant.extension":"Extension","TestReport.participant.id":"System.String","TestReport.participant.modifierExtension":"Extension","TestReport.participant.type":"code","TestReport.participant.uri":"uri","TestReport.result":"code","TestReport.score":"decimal","TestReport.setup":"BackboneElement","TestReport.setup.action":"BackboneElement","TestReport.setup.action.assert":"BackboneElement","TestReport.setup.action.assert.detail":"string","TestReport.setup.action.assert.extension":"Extension","TestReport.setup.action.assert.id":"System.String","TestReport.setup.action.assert.message":"markdown","TestReport.setup.action.assert.modifierExtension":"Extension","TestReport.setup.action.assert.result":"code","TestReport.setup.action.extension":"Extension","TestReport.setup.action.id":"System.String","TestReport.setup.action.modifierExtension":"Extension","TestReport.setup.action.operation":"BackboneElement","TestReport.setup.action.operation.detail":"uri","TestReport.setup.action.operation.extension":"Extension","TestReport.setup.action.operation.id":"System.String","TestReport.setup.action.operation.message":"markdown","TestReport.setup.action.operation.modifierExtension":"Extension","TestReport.setup.action.operation.result":"code","TestReport.setup.extension":"Extension","TestReport.setup.id":"System.String","TestReport.setup.modifierExtension":"Extension","TestReport.status":"code","TestReport.teardown":"BackboneElement","TestReport.teardown.action":"BackboneElement","TestReport.teardown.action.extension":"Extension","TestReport.teardown.action.id":"System.String","TestReport.teardown.action.modifierExtension":"Extension","TestReport.teardown.extension":"Extension","TestReport.teardown.id":"System.String","TestReport.teardown.modifierExtension":"Extension","TestReport.test":"BackboneElement","TestReport.test.action":"BackboneElement","TestReport.test.action.extension":"Extension","TestReport.test.action.id":"System.String","TestReport.test.action.modifierExtension":"Extension","TestReport.test.description":"string","TestReport.test.extension":"Extension","TestReport.test.id":"System.String","TestReport.test.modifierExtension":"Extension","TestReport.test.name":"string","TestReport.testScript":"Reference","TestReport.tester":"string","TestReport.text":"Narrative","TestScript.contact":"ContactDetail","TestScript.contained":"Resource","TestScript.copyright":"markdown","TestScript.date":"dateTime","TestScript.description":"markdown","TestScript.destination":"BackboneElement","TestScript.destination.extension":"Extension","TestScript.destination.id":"System.String","TestScript.destination.index":"integer","TestScript.destination.modifierExtension":"Extension","TestScript.destination.profile":"Coding","TestScript.experimental":"boolean","TestScript.extension":"Extension","TestScript.fixture":"BackboneElement","TestScript.fixture.autocreate":"boolean","TestScript.fixture.autodelete":"boolean","TestScript.fixture.extension":"Extension","TestScript.fixture.id":"System.String","TestScript.fixture.modifierExtension":"Extension","TestScript.fixture.resource":"Reference","TestScript.id":"System.String","TestScript.identifier":"Identifier","TestScript.implicitRules":"uri","TestScript.jurisdiction":"CodeableConcept","TestScript.language":"code","TestScript.meta":"Meta","TestScript.metadata":"BackboneElement","TestScript.metadata.capability":"BackboneElement","TestScript.metadata.capability.capabilities":"canonical","TestScript.metadata.capability.description":"string","TestScript.metadata.capability.destination":"integer","TestScript.metadata.capability.extension":"Extension","TestScript.metadata.capability.id":"System.String","TestScript.metadata.capability.link":"uri","TestScript.metadata.capability.modifierExtension":"Extension","TestScript.metadata.capability.origin":"integer","TestScript.metadata.capability.required":"boolean","TestScript.metadata.capability.validated":"boolean","TestScript.metadata.extension":"Extension","TestScript.metadata.id":"System.String","TestScript.metadata.link":"BackboneElement","TestScript.metadata.link.description":"string","TestScript.metadata.link.extension":"Extension","TestScript.metadata.link.id":"System.String","TestScript.metadata.link.modifierExtension":"Extension","TestScript.metadata.link.url":"uri","TestScript.metadata.modifierExtension":"Extension","TestScript.modifierExtension":"Extension","TestScript.name":"string","TestScript.origin":"BackboneElement","TestScript.origin.extension":"Extension","TestScript.origin.id":"System.String","TestScript.origin.index":"integer","TestScript.origin.modifierExtension":"Extension","TestScript.origin.profile":"Coding","TestScript.profile":"Reference","TestScript.publisher":"string","TestScript.purpose":"markdown","TestScript.setup":"BackboneElement","TestScript.setup.action":"BackboneElement","TestScript.setup.action.assert":"BackboneElement","TestScript.setup.action.assert.compareToSourceExpression":"string","TestScript.setup.action.assert.compareToSourceId":"string","TestScript.setup.action.assert.compareToSourcePath":"string","TestScript.setup.action.assert.contentType":"code","TestScript.setup.action.assert.description":"string","TestScript.setup.action.assert.direction":"code","TestScript.setup.action.assert.expression":"string","TestScript.setup.action.assert.extension":"Extension","TestScript.setup.action.assert.headerField":"string","TestScript.setup.action.assert.id":"System.String","TestScript.setup.action.assert.label":"string","TestScript.setup.action.assert.minimumId":"string","TestScript.setup.action.assert.modifierExtension":"Extension","TestScript.setup.action.assert.navigationLinks":"boolean","TestScript.setup.action.assert.operator":"code","TestScript.setup.action.assert.path":"string","TestScript.setup.action.assert.requestMethod":"code","TestScript.setup.action.assert.requestURL":"string","TestScript.setup.action.assert.resource":"code","TestScript.setup.action.assert.response":"code","TestScript.setup.action.assert.responseCode":"string","TestScript.setup.action.assert.sourceId":"id","TestScript.setup.action.assert.validateProfileId":"id","TestScript.setup.action.assert.value":"string","TestScript.setup.action.assert.warningOnly":"boolean","TestScript.setup.action.extension":"Extension","TestScript.setup.action.id":"System.String","TestScript.setup.action.modifierExtension":"Extension","TestScript.setup.action.operation":"BackboneElement","TestScript.setup.action.operation.accept":"code","TestScript.setup.action.operation.contentType":"code","TestScript.setup.action.operation.description":"string","TestScript.setup.action.operation.destination":"integer","TestScript.setup.action.operation.encodeRequestUrl":"boolean","TestScript.setup.action.operation.extension":"Extension","TestScript.setup.action.operation.id":"System.String","TestScript.setup.action.operation.label":"string","TestScript.setup.action.operation.method":"code","TestScript.setup.action.operation.modifierExtension":"Extension","TestScript.setup.action.operation.origin":"integer","TestScript.setup.action.operation.params":"string","TestScript.setup.action.operation.requestHeader":"BackboneElement","TestScript.setup.action.operation.requestHeader.extension":"Extension","TestScript.setup.action.operation.requestHeader.field":"string","TestScript.setup.action.operation.requestHeader.id":"System.String","TestScript.setup.action.operation.requestHeader.modifierExtension":"Extension","TestScript.setup.action.operation.requestHeader.value":"string","TestScript.setup.action.operation.requestId":"id","TestScript.setup.action.operation.resource":"code","TestScript.setup.action.operation.responseId":"id","TestScript.setup.action.operation.sourceId":"id","TestScript.setup.action.operation.targetId":"id","TestScript.setup.action.operation.type":"Coding","TestScript.setup.action.operation.url":"string","TestScript.setup.extension":"Extension","TestScript.setup.id":"System.String","TestScript.setup.modifierExtension":"Extension","TestScript.status":"code","TestScript.teardown":"BackboneElement","TestScript.teardown.action":"BackboneElement","TestScript.teardown.action.extension":"Extension","TestScript.teardown.action.id":"System.String","TestScript.teardown.action.modifierExtension":"Extension","TestScript.teardown.extension":"Extension","TestScript.teardown.id":"System.String","TestScript.teardown.modifierExtension":"Extension","TestScript.test":"BackboneElement","TestScript.test.action":"BackboneElement","TestScript.test.action.extension":"Extension","TestScript.test.action.id":"System.String","TestScript.test.action.modifierExtension":"Extension","TestScript.test.description":"string","TestScript.test.extension":"Extension","TestScript.test.id":"System.String","TestScript.test.modifierExtension":"Extension","TestScript.test.name":"string","TestScript.text":"Narrative","TestScript.title":"string","TestScript.url":"uri","TestScript.useContext":"UsageContext","TestScript.variable":"BackboneElement","TestScript.variable.defaultValue":"string","TestScript.variable.description":"string","TestScript.variable.expression":"string","TestScript.variable.extension":"Extension","TestScript.variable.headerField":"string","TestScript.variable.hint":"string","TestScript.variable.id":"System.String","TestScript.variable.modifierExtension":"Extension","TestScript.variable.name":"string","TestScript.variable.path":"string","TestScript.variable.sourceId":"id","TestScript.version":"string","Timing.code":"CodeableConcept","Timing.event":"dateTime","Timing.extension":"Extension","Timing.id":"System.String","Timing.modifierExtension":"Extension","Timing.repeat.boundsDuration":"Duration","Timing.repeat.boundsPeriod":"Period","Timing.repeat.boundsRange":"Range","Timing.repeat.count":"positiveInt","Timing.repeat.countMax":"positiveInt","Timing.repeat.dayOfWeek":"code","Timing.repeat.duration":"decimal","Timing.repeat.durationMax":"decimal","Timing.repeat.durationUnit":"code","Timing.repeat.extension":"Extension","Timing.repeat.frequency":"positiveInt","Timing.repeat.frequencyMax":"positiveInt","Timing.repeat.id":"System.String","Timing.repeat.offset":"unsignedInt","Timing.repeat.period":"decimal","Timing.repeat.periodMax":"decimal","Timing.repeat.periodUnit":"code","Timing.repeat.timeOfDay":"time","Timing.repeat.when":"code","TriggerDefinition.condition":"Expression","TriggerDefinition.data":"DataRequirement","TriggerDefinition.extension":"Extension","TriggerDefinition.id":"System.String","TriggerDefinition.name":"string","TriggerDefinition.timingDate":"date","TriggerDefinition.timingDateTime":"dateTime","TriggerDefinition.timingReference":"Reference","TriggerDefinition.timingTiming":"Timing","TriggerDefinition.type":"code","UsageContext.code":"Coding","UsageContext.extension":"Extension","UsageContext.id":"System.String","UsageContext.valueCodeableConcept":"CodeableConcept","UsageContext.valueQuantity":"Quantity","UsageContext.valueRange":"Range","UsageContext.valueReference":"Reference","ValueSet.compose":"BackboneElement","ValueSet.compose.extension":"Extension","ValueSet.compose.id":"System.String","ValueSet.compose.inactive":"boolean","ValueSet.compose.include":"BackboneElement","ValueSet.compose.include.concept":"BackboneElement","ValueSet.compose.include.concept.code":"code","ValueSet.compose.include.concept.designation":"BackboneElement","ValueSet.compose.include.concept.designation.extension":"Extension","ValueSet.compose.include.concept.designation.id":"System.String","ValueSet.compose.include.concept.designation.language":"code","ValueSet.compose.include.concept.designation.modifierExtension":"Extension","ValueSet.compose.include.concept.designation.use":"Coding","ValueSet.compose.include.concept.designation.value":"string","ValueSet.compose.include.concept.display":"string","ValueSet.compose.include.concept.extension":"Extension","ValueSet.compose.include.concept.id":"System.String","ValueSet.compose.include.concept.modifierExtension":"Extension","ValueSet.compose.include.extension":"Extension","ValueSet.compose.include.filter":"BackboneElement","ValueSet.compose.include.filter.extension":"Extension","ValueSet.compose.include.filter.id":"System.String","ValueSet.compose.include.filter.modifierExtension":"Extension","ValueSet.compose.include.filter.op":"code","ValueSet.compose.include.filter.property":"code","ValueSet.compose.include.filter.value":"string","ValueSet.compose.include.id":"System.String","ValueSet.compose.include.modifierExtension":"Extension","ValueSet.compose.include.system":"uri","ValueSet.compose.include.valueSet":"canonical","ValueSet.compose.include.version":"string","ValueSet.compose.lockedDate":"date","ValueSet.compose.modifierExtension":"Extension","ValueSet.contact":"ContactDetail","ValueSet.contained":"Resource","ValueSet.copyright":"markdown","ValueSet.date":"dateTime","ValueSet.description":"markdown","ValueSet.expansion":"BackboneElement","ValueSet.expansion.contains":"BackboneElement","ValueSet.expansion.contains.abstract":"boolean","ValueSet.expansion.contains.code":"code","ValueSet.expansion.contains.display":"string","ValueSet.expansion.contains.extension":"Extension","ValueSet.expansion.contains.id":"System.String","ValueSet.expansion.contains.inactive":"boolean","ValueSet.expansion.contains.modifierExtension":"Extension","ValueSet.expansion.contains.system":"uri","ValueSet.expansion.contains.version":"string","ValueSet.expansion.extension":"Extension","ValueSet.expansion.id":"System.String","ValueSet.expansion.identifier":"uri","ValueSet.expansion.modifierExtension":"Extension","ValueSet.expansion.offset":"integer","ValueSet.expansion.parameter":"BackboneElement","ValueSet.expansion.parameter.extension":"Extension","ValueSet.expansion.parameter.id":"System.String","ValueSet.expansion.parameter.modifierExtension":"Extension","ValueSet.expansion.parameter.name":"string","ValueSet.expansion.parameter.valueBoolean":"boolean","ValueSet.expansion.parameter.valueCode":"code","ValueSet.expansion.parameter.valueDateTime":"dateTime","ValueSet.expansion.parameter.valueDecimal":"decimal","ValueSet.expansion.parameter.valueInteger":"integer","ValueSet.expansion.parameter.valueString":"string","ValueSet.expansion.parameter.valueUri":"uri","ValueSet.expansion.timestamp":"dateTime","ValueSet.expansion.total":"integer","ValueSet.experimental":"boolean","ValueSet.extension":"Extension","ValueSet.id":"System.String","ValueSet.identifier":"Identifier","ValueSet.immutable":"boolean","ValueSet.implicitRules":"uri","ValueSet.jurisdiction":"CodeableConcept","ValueSet.language":"code","ValueSet.meta":"Meta","ValueSet.modifierExtension":"Extension","ValueSet.name":"string","ValueSet.publisher":"string","ValueSet.purpose":"markdown","ValueSet.status":"code","ValueSet.text":"Narrative","ValueSet.title":"string","ValueSet.url":"uri","ValueSet.useContext":"UsageContext","ValueSet.version":"string","VerificationResult.attestation":"BackboneElement","VerificationResult.attestation.communicationMethod":"CodeableConcept","VerificationResult.attestation.date":"date","VerificationResult.attestation.extension":"Extension","VerificationResult.attestation.id":"System.String","VerificationResult.attestation.modifierExtension":"Extension","VerificationResult.attestation.onBehalfOf":"Reference","VerificationResult.attestation.proxyIdentityCertificate":"string","VerificationResult.attestation.proxySignature":"Signature","VerificationResult.attestation.sourceIdentityCertificate":"string","VerificationResult.attestation.sourceSignature":"Signature","VerificationResult.attestation.who":"Reference","VerificationResult.contained":"Resource","VerificationResult.extension":"Extension","VerificationResult.failureAction":"CodeableConcept","VerificationResult.frequency":"Timing","VerificationResult.id":"System.String","VerificationResult.implicitRules":"uri","VerificationResult.language":"code","VerificationResult.lastPerformed":"dateTime","VerificationResult.meta":"Meta","VerificationResult.modifierExtension":"Extension","VerificationResult.need":"CodeableConcept","VerificationResult.nextScheduled":"date","VerificationResult.primarySource":"BackboneElement","VerificationResult.primarySource.canPushUpdates":"CodeableConcept","VerificationResult.primarySource.communicationMethod":"CodeableConcept","VerificationResult.primarySource.extension":"Extension","VerificationResult.primarySource.id":"System.String","VerificationResult.primarySource.modifierExtension":"Extension","VerificationResult.primarySource.pushTypeAvailable":"CodeableConcept","VerificationResult.primarySource.type":"CodeableConcept","VerificationResult.primarySource.validationDate":"dateTime","VerificationResult.primarySource.validationStatus":"CodeableConcept","VerificationResult.primarySource.who":"Reference","VerificationResult.status":"code","VerificationResult.statusDate":"dateTime","VerificationResult.target":"Reference","VerificationResult.targetLocation":"string","VerificationResult.text":"Narrative","VerificationResult.validationProcess":"CodeableConcept","VerificationResult.validationType":"CodeableConcept","VerificationResult.validator":"BackboneElement","VerificationResult.validator.attestationSignature":"Signature","VerificationResult.validator.extension":"Extension","VerificationResult.validator.id":"System.String","VerificationResult.validator.identityCertificate":"string","VerificationResult.validator.modifierExtension":"Extension","VerificationResult.validator.organization":"Reference","VisionPrescription.contained":"Resource","VisionPrescription.created":"dateTime","VisionPrescription.dateWritten":"dateTime","VisionPrescription.encounter":"Reference","VisionPrescription.extension":"Extension","VisionPrescription.id":"System.String","VisionPrescription.identifier":"Identifier","VisionPrescription.implicitRules":"uri","VisionPrescription.language":"code","VisionPrescription.lensSpecification":"BackboneElement","VisionPrescription.lensSpecification.add":"decimal","VisionPrescription.lensSpecification.axis":"integer","VisionPrescription.lensSpecification.backCurve":"decimal","VisionPrescription.lensSpecification.brand":"string","VisionPrescription.lensSpecification.color":"string","VisionPrescription.lensSpecification.cylinder":"decimal","VisionPrescription.lensSpecification.diameter":"decimal","VisionPrescription.lensSpecification.duration":"Quantity","VisionPrescription.lensSpecification.extension":"Extension","VisionPrescription.lensSpecification.eye":"code","VisionPrescription.lensSpecification.id":"System.String","VisionPrescription.lensSpecification.modifierExtension":"Extension","VisionPrescription.lensSpecification.note":"Annotation","VisionPrescription.lensSpecification.power":"decimal","VisionPrescription.lensSpecification.prism":"BackboneElement","VisionPrescription.lensSpecification.prism.amount":"decimal","VisionPrescription.lensSpecification.prism.base":"code","VisionPrescription.lensSpecification.prism.extension":"Extension","VisionPrescription.lensSpecification.prism.id":"System.String","VisionPrescription.lensSpecification.prism.modifierExtension":"Extension","VisionPrescription.lensSpecification.product":"CodeableConcept","VisionPrescription.lensSpecification.sphere":"decimal","VisionPrescription.meta":"Meta","VisionPrescription.modifierExtension":"Extension","VisionPrescription.patient":"Reference","VisionPrescription.prescriber":"Reference","VisionPrescription.status":"code","VisionPrescription.text":"Narrative"}')},151:function(e){"use strict";e.exports=JSON.parse('{"Bundle.entry.link":"Bundle.link","CapabilityStatement.rest.operation":"CapabilityStatement.rest.resource.operation","CapabilityStatement.rest.searchParam":"CapabilityStatement.rest.resource.searchParam","ChargeItemDefinition.propertyGroup.applicability":"ChargeItemDefinition.applicability","ClaimResponse.addItem.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.addItem.detail.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.addItem.detail.subDetail.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.item.detail.adjudication":"ClaimResponse.item.adjudication","ClaimResponse.item.detail.subDetail.adjudication":"ClaimResponse.item.adjudication","CodeSystem.concept.concept":"CodeSystem.concept","Composition.section.section":"Composition.section","ConceptMap.group.element.target.product":"ConceptMap.group.element.target.dependsOn","Consent.provision.provision":"Consent.provision","Contract.term.asset.answer":"Contract.term.offer.answer","Contract.term.group":"Contract.term","ExampleScenario.process.step.alternative.step":"ExampleScenario.process.step","ExampleScenario.process.step.operation.request":"ExampleScenario.instance.containedInstance","ExampleScenario.process.step.operation.response":"ExampleScenario.instance.containedInstance","ExampleScenario.process.step.process":"ExampleScenario.process","ExplanationOfBenefit.addItem.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.addItem.detail.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.addItem.detail.subDetail.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.item.detail.adjudication":"ExplanationOfBenefit.item.adjudication","ExplanationOfBenefit.item.detail.subDetail.adjudication":"ExplanationOfBenefit.item.adjudication","GraphDefinition.link.target.link":"GraphDefinition.link","ImplementationGuide.definition.page.page":"ImplementationGuide.definition.page","Invoice.totalPriceComponent":"Invoice.lineItem.priceComponent","MedicinalProductAuthorization.procedure.application":"MedicinalProductAuthorization.procedure","MedicinalProductIngredient.substance.strength":"MedicinalProductIngredient.specifiedSubstance.strength","MedicinalProductPackaged.packageItem.packageItem":"MedicinalProductPackaged.packageItem","Observation.component.referenceRange":"Observation.referenceRange","OperationDefinition.parameter.part":"OperationDefinition.parameter","Parameters.parameter.part":"Parameters.parameter","PlanDefinition.action.action":"PlanDefinition.action","Provenance.entity.agent":"Provenance.agent","Questionnaire.item.item":"Questionnaire.item","QuestionnaireResponse.item.answer.item":"QuestionnaireResponse.item","QuestionnaireResponse.item.item":"QuestionnaireResponse.item","RequestGroup.action.action":"RequestGroup.action","StructureMap.group.rule.rule":"StructureMap.group.rule","SubstanceSpecification.molecularWeight":"SubstanceSpecification.structure.isotope.molecularWeight","SubstanceSpecification.name.synonym":"SubstanceSpecification.name","SubstanceSpecification.name.translation":"SubstanceSpecification.name","SubstanceSpecification.structure.molecularWeight":"SubstanceSpecification.structure.isotope.molecularWeight","TestReport.teardown.action.operation":"TestReport.setup.action.operation","TestReport.test.action.assert":"TestReport.setup.action.assert","TestReport.test.action.operation":"TestReport.setup.action.operation","TestScript.teardown.action.operation":"TestScript.setup.action.operation","TestScript.test.action.assert":"TestScript.setup.action.assert","TestScript.test.action.operation":"TestScript.setup.action.operation","ValueSet.compose.exclude":"ValueSet.compose.include","ValueSet.expansion.contains.contains":"ValueSet.expansion.contains","ValueSet.expansion.contains.designation":"ValueSet.compose.include.concept.designation"}')},905:function(e){"use strict";e.exports=JSON.parse('{"Account":"DomainResource","ActivityDefinition":"DomainResource","Address":"Element","AdverseEvent":"DomainResource","Age":"Quantity","AllergyIntolerance":"DomainResource","Annotation":"Element","Appointment":"DomainResource","AppointmentResponse":"DomainResource","Attachment":"Element","AuditEvent":"DomainResource","BackboneElement":"Element","Basic":"DomainResource","Binary":"Resource","BiologicallyDerivedProduct":"DomainResource","BodyStructure":"DomainResource","Bundle":"Resource","CapabilityStatement":"DomainResource","CarePlan":"DomainResource","CareTeam":"DomainResource","CatalogEntry":"DomainResource","ChargeItem":"DomainResource","ChargeItemDefinition":"DomainResource","Claim":"DomainResource","ClaimResponse":"DomainResource","ClinicalImpression":"DomainResource","CodeSystem":"DomainResource","CodeableConcept":"Element","Coding":"Element","Communication":"DomainResource","CommunicationRequest":"DomainResource","CompartmentDefinition":"DomainResource","Composition":"DomainResource","ConceptMap":"DomainResource","Condition":"DomainResource","Consent":"DomainResource","ContactDetail":"Element","ContactPoint":"Element","Contract":"DomainResource","Contributor":"Element","Count":"Quantity","Coverage":"DomainResource","CoverageEligibilityRequest":"DomainResource","CoverageEligibilityResponse":"DomainResource","DataRequirement":"Element","DetectedIssue":"DomainResource","Device":"DomainResource","DeviceDefinition":"DomainResource","DeviceMetric":"DomainResource","DeviceRequest":"DomainResource","DeviceUseStatement":"DomainResource","DiagnosticReport":"DomainResource","Distance":"Quantity","DocumentManifest":"DomainResource","DocumentReference":"DomainResource","DomainResource":"Resource","Dosage":"BackboneElement","Duration":"Quantity","EffectEvidenceSynthesis":"DomainResource","ElementDefinition":"BackboneElement","Encounter":"DomainResource","Endpoint":"DomainResource","EnrollmentRequest":"DomainResource","EnrollmentResponse":"DomainResource","EpisodeOfCare":"DomainResource","EventDefinition":"DomainResource","Evidence":"DomainResource","EvidenceVariable":"DomainResource","ExampleScenario":"DomainResource","ExplanationOfBenefit":"DomainResource","Expression":"Element","Extension":"Element","FamilyMemberHistory":"DomainResource","Flag":"DomainResource","Goal":"DomainResource","GraphDefinition":"DomainResource","Group":"DomainResource","GuidanceResponse":"DomainResource","HealthcareService":"DomainResource","HumanName":"Element","Identifier":"Element","ImagingStudy":"DomainResource","Immunization":"DomainResource","ImmunizationEvaluation":"DomainResource","ImmunizationRecommendation":"DomainResource","ImplementationGuide":"DomainResource","InsurancePlan":"DomainResource","Invoice":"DomainResource","Library":"DomainResource","Linkage":"DomainResource","List":"DomainResource","Location":"DomainResource","MarketingStatus":"BackboneElement","Measure":"DomainResource","MeasureReport":"DomainResource","Media":"DomainResource","Medication":"DomainResource","MedicationAdministration":"DomainResource","MedicationDispense":"DomainResource","MedicationKnowledge":"DomainResource","MedicationRequest":"DomainResource","MedicationStatement":"DomainResource","MedicinalProduct":"DomainResource","MedicinalProductAuthorization":"DomainResource","MedicinalProductContraindication":"DomainResource","MedicinalProductIndication":"DomainResource","MedicinalProductIngredient":"DomainResource","MedicinalProductInteraction":"DomainResource","MedicinalProductManufactured":"DomainResource","MedicinalProductPackaged":"DomainResource","MedicinalProductPharmaceutical":"DomainResource","MedicinalProductUndesirableEffect":"DomainResource","MessageDefinition":"DomainResource","MessageHeader":"DomainResource","Meta":"Element","MolecularSequence":"DomainResource","Money":"Element","MoneyQuantity":"Quantity","NamingSystem":"DomainResource","Narrative":"Element","NutritionOrder":"DomainResource","Observation":"DomainResource","ObservationDefinition":"DomainResource","OperationDefinition":"DomainResource","OperationOutcome":"DomainResource","Organization":"DomainResource","OrganizationAffiliation":"DomainResource","ParameterDefinition":"Element","Parameters":"Resource","Patient":"DomainResource","PaymentNotice":"DomainResource","PaymentReconciliation":"DomainResource","Period":"Element","Person":"DomainResource","PlanDefinition":"DomainResource","Population":"BackboneElement","Practitioner":"DomainResource","PractitionerRole":"DomainResource","Procedure":"DomainResource","ProdCharacteristic":"BackboneElement","ProductShelfLife":"BackboneElement","Provenance":"DomainResource","Quantity":"Element","Questionnaire":"DomainResource","QuestionnaireResponse":"DomainResource","Range":"Element","Ratio":"Element","Reference":"Element","RelatedArtifact":"Element","RelatedPerson":"DomainResource","RequestGroup":"DomainResource","ResearchDefinition":"DomainResource","ResearchElementDefinition":"DomainResource","ResearchStudy":"DomainResource","ResearchSubject":"DomainResource","RiskAssessment":"DomainResource","RiskEvidenceSynthesis":"DomainResource","SampledData":"Element","Schedule":"DomainResource","SearchParameter":"DomainResource","ServiceRequest":"DomainResource","Signature":"Element","SimpleQuantity":"Quantity","Slot":"DomainResource","Specimen":"DomainResource","SpecimenDefinition":"DomainResource","StructureDefinition":"DomainResource","StructureMap":"DomainResource","Subscription":"DomainResource","Substance":"DomainResource","SubstanceAmount":"BackboneElement","SubstanceNucleicAcid":"DomainResource","SubstancePolymer":"DomainResource","SubstanceProtein":"DomainResource","SubstanceReferenceInformation":"DomainResource","SubstanceSourceMaterial":"DomainResource","SubstanceSpecification":"DomainResource","SupplyDelivery":"DomainResource","SupplyRequest":"DomainResource","Task":"DomainResource","TerminologyCapabilities":"DomainResource","TestReport":"DomainResource","TestScript":"DomainResource","Timing":"BackboneElement","TriggerDefinition":"Element","UsageContext":"Element","ValueSet":"DomainResource","VerificationResult":"DomainResource","VisionPrescription":"DomainResource","base64Binary":"Element","boolean":"Element","canonical":"uri","code":"string","date":"Element","dateTime":"Element","decimal":"Element","id":"string","instant":"Element","integer":"Element","markdown":"string","oid":"uri","positiveInt":"integer","string":"Element","time":"Element","unsignedInt":"integer","uri":"Element","url":"uri","uuid":"uri","xhtml":"Element"}')}},t={},n=function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}(9),window.fhirpath_r4_model=n},2783:function(e,t,n){!function(e){"use strict";e.registerHelper("lint","yaml",(function(t){var n=[];if(!window.jsyaml)return window.console&&window.console.error("Error: window.jsyaml not defined, CodeMirror YAML linting cannot run."),n;try{jsyaml.loadAll(t)}catch(t){var i=t.mark,r=i?e.Pos(i.line,i.column):e.Pos(0,0),o=r;n.push({from:r,to:o,message:t.message})}return n}))}(n(4631))},4631:function(e){e.exports=function(){"use strict";var e=navigator.userAgent,t=navigator.platform,n=/gecko\/\d/i.test(e),i=/MSIE \d/.test(e),r=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),a=i||r||o,s=a&&(i?document.documentMode||6:+(o||r)[1]),l=!o&&/WebKit\//.test(e),u=l&&/Qt\/\d+\.\d+/.test(e),c=!o&&/Chrome\//.test(e),f=/Opera\//.test(e),d=/Apple Computer/.test(navigator.vendor),m=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),p=/PhantomJS/.test(e),h=d&&(/Mobile\/\w+/.test(e)||navigator.maxTouchPoints>2),g=/Android/.test(e),y=h||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),v=h||/Mac/.test(t),C=/\bCrOS\b/.test(e),b=/win/i.test(t),x=f&&e.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(f=!1,l=!0);var E=v&&(u||f&&(null==x||x<12.11)),S=n||a&&s>=9;function D(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var A,R=function(e,t){var n=e.className,i=D(t).exec(n);if(i){var r=n.slice(i.index+i[0].length);e.className=n.slice(0,i.index)+(r?i[1]+r:"")}};function k(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function M(e,t){return k(e).appendChild(t)}function T(e,t,n,i){var r=document.createElement(e);if(n&&(r.className=n),i&&(r.style.cssText=i),"string"==typeof t)r.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}h?L=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(L=function(e){try{e.select()}catch(e){}});var F=function(){this.id=null,this.f=null,this.time=0,this.handler=N(this.onTimeout,this)};function q(e,t){for(var n=0;n=t)return i+Math.min(a,t-r);if(r+=o-i,i=o+1,(r+=n-r%n)>=t)return i}}var K=[""];function Q(e){for(;K.length<=e;)K.push(J(K)+" ");return K[e]}function J(e){return e[e.length-1]}function X(e,t){for(var n=[],i=0;i"€"&&(e.toUpperCase()!=e.toLowerCase()||Z.test(e))}function te(e,t){return t?!!(t.source.indexOf("\\w")>-1&&ee(e))||t.test(e):ee(e)}function ne(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ie=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function re(e){return e.charCodeAt(0)>=768&&ie.test(e)}function oe(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var r=(t+n)/2,o=i<0?Math.ceil(r):Math.floor(r);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+i}}var se=null;function le(e,t,n){var i;se=null;for(var r=0;rt)return r;o.to==t&&(o.from!=o.to&&"before"==n?i=r:se=r),o.from==t&&(o.from!=o.to&&"before"!=n?i=r:se=r)}return null!=i?i:se}var ue=function(){var e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,t=/[stwN]/,n=/[LRr]/,i=/[Lb1n]/,r=/[1n]/;function o(e,t,n){this.level=e,this.from=t,this.to=n}return function(a,s){var l,u="ltr"==s?"L":"R";if(0==a.length||"ltr"==s&&!e.test(a))return!1;for(var c=a.length,f=[],d=0;d-1&&(i[t]=r.slice(0,o).concat(r.slice(o+1)))}}}function he(e,t){var n=me(e,t);if(n.length)for(var i=Array.prototype.slice.call(arguments,2),r=0;r0}function Ce(e){e.prototype.on=function(e,t){de(this,e,t)},e.prototype.off=function(e,t){pe(this,e,t)}}function be(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function xe(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ee(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Se(e){be(e),xe(e)}function De(e){return e.target||e.srcElement}function Ae(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),v&&e.ctrlKey&&1==t&&(t=3),t}var Re,ke,Me=function(){if(a&&s<9)return!1;var e=T("div");return"draggable"in e||"dragDrop"in e}();function Te(e){if(null==Re){var t=T("span","​");M(e,T("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Re=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=Re?T("span","​"):T("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function we(e){if(null!=ke)return ke;var t=M(e,document.createTextNode("AخA")),n=A(t,0,1).getBoundingClientRect(),i=A(t,1,2).getBoundingClientRect();return k(e),!(!n||n.left==n.right)&&(ke=i.right-n.right<3)}var Ie,Pe=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],i=e.length;t<=i;){var r=e.indexOf("\n",t);-1==r&&(r=e.length);var o=e.slice(t,"\r"==e.charAt(r-1)?r-1:r),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=r+1)}return n}:function(e){return e.split(/\r\n?|\n/)},Oe=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},_e="oncopy"in(Ie=T("div"))||(Ie.setAttribute("oncopy","return;"),"function"==typeof Ie.oncopy),Le=null;var Ne={},Be={};function Ue(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Ne[e]=t}function Fe(e){if("string"==typeof e&&Be.hasOwnProperty(e))e=Be[e];else if(e&&"string"==typeof e.name&&Be.hasOwnProperty(e.name)){var t=Be[e.name];"string"==typeof t&&(t={name:t}),(e=$(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Fe("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Fe("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function qe(e,t){t=Fe(t);var n=Ne[t.name];if(!n)return qe(e,"text/plain");var i=n(e,t);if(ze.hasOwnProperty(t.name)){var r=ze[t.name];for(var o in r)r.hasOwnProperty(o)&&(i.hasOwnProperty(o)&&(i["_"+o]=i[o]),i[o]=r[o])}if(i.name=t.name,t.helperType&&(i.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)i[a]=t.modeProps[a];return i}var ze={};function je(e,t){B(t,ze.hasOwnProperty(e)?ze[e]:ze[e]={})}function He(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var i in t){var r=t[i];r instanceof Array&&(r=r.concat([])),n[i]=r}return n}function Ve(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Ge(e,t,n){return!e.startState||e.startState(t,n)}var We=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Ke(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var i=0;;++i){var r=n.children[i],o=r.chunkSize();if(t=e.first&&tn?tt(n,Ke(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?tt(e.line,t):n<0?tt(e.line,0):e}(t,Ke(e,t.line).text.length)}function ut(e,t){for(var n=[],i=0;i=this.string.length},We.prototype.sol=function(){return this.pos==this.lineStart},We.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},We.prototype.next=function(){if(this.post},We.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},We.prototype.skipToEnd=function(){this.pos=this.string.length},We.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},We.prototype.backUp=function(e){this.pos-=e},We.prototype.column=function(){return this.lastColumnPos0?null:(i&&!1!==t&&(this.pos+=i[0].length),i)}var r=function(e){return n?e.toLowerCase():e};if(r(this.string.substr(this.pos,e.length))==r(e))return!1!==t&&(this.pos+=e.length),!0},We.prototype.current=function(){return this.string.slice(this.start,this.pos)},We.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},We.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},We.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ct=function(e,t){this.state=e,this.lookAhead=t},ft=function(e,t,n,i){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=i||0,this.baseTokens=null,this.baseTokenPos=1};function dt(e,t,n,i){var r=[e.state.modeGen],o={};xt(e,t.text,e.doc.mode,n,(function(e,t){return r.push(e,t)}),o,i);for(var a=n.state,s=function(i){n.baseTokens=r;var s=e.state.overlays[i],l=1,u=0;n.state=!0,xt(e,t.text,s.mode,n,(function(e,t){for(var n=l;ue&&r.splice(l,1,e,r[l+1],i),l+=2,u=Math.min(e,i)}if(t)if(s.opaque)r.splice(n,l-n,e,"overlay "+t),l=n+2;else for(;ne.options.maxHighlightLength&&He(e.doc.mode,i.state),o=dt(e,t,i);r&&(i.state=r),t.stateAfter=i.save(!r),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function pt(e,t,n){var i=e.doc,r=e.display;if(!i.mode.startState)return new ft(i,!0,t);var o=function(e,t,n){for(var i,r,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var l=Ke(o,s-1),u=l.stateAfter;if(u&&(!n||s+(u instanceof ct?u.lookAhead:0)<=o.modeFrontier))return s;var c=U(l.text,null,e.options.tabSize);(null==r||i>c)&&(r=s-1,i=c)}return r}(e,t,n),a=o>i.first&&Ke(i,o-1).stateAfter,s=a?ft.fromSaved(i,a,o):new ft(i,Ge(i.mode),o);return i.iter(o,t,(function(n){ht(e,n.text,s);var i=s.line;n.stateAfter=i==t-1||i%5==0||i>=r.viewFrom&&it.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}ft.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ft.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},ft.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ft.fromSaved=function(e,t,n){return t instanceof ct?new ft(e,He(e.mode,t.state),n,t.lookAhead):new ft(e,He(e.mode,t),n)},ft.prototype.save=function(e){var t=!1!==e?He(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ct(t,this.maxLookAhead):t};var vt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function Ct(e,t,n,i){var r,o,a=e.doc,s=a.mode,l=Ke(a,(t=lt(a,t)).line),u=pt(e,t.line,n),c=new We(l.text,e.options.tabSize,u);for(i&&(o=[]);(i||c.pose.options.maxHighlightLength?(s=!1,a&&ht(e,t,i,f.pos),f.pos=t.length,l=null):l=bt(yt(n,f,i.state,d),o),d){var m=d[0].name;m&&(l="m-"+(l?m+" "+l:m))}if(!s||c!=l){for(;u=t:o.to>t);(i||(i=[])).push(new Dt(a,o.from,s?null:o.to))}}return i}(n,r,a),l=function(e,t,n){var i;if(e)for(var r=0;r=t:o.to>t)||o.from==t&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&s)for(var C=0;Ct)&&(!n||Ot(n,o.marker)<0)&&(n=o.marker)}return n}function Ut(e,t,n,i,r){var o=Ke(e,t),a=St&&o.markedSpans;if(a)for(var s=0;s=0&&f<=0||c<=0&&f>=0)&&(c<=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?nt(u.to,n)>=0:nt(u.to,n)>0)||c>=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?nt(u.from,i)<=0:nt(u.from,i)<0)))return!0}}}function Ft(e){for(var t;t=Lt(e);)e=t.find(-1,!0).line;return e}function qt(e,t){var n=Ke(e,t),i=Ft(n);return n==i?t:Ye(i)}function zt(e,t){if(t>e.lastLine())return t;var n,i=Ke(e,t);if(!jt(e,i))return t;for(;n=Nt(i);)i=n.find(1,!0).line;return Ye(i)+1}function jt(e,t){var n=St&&t.markedSpans;if(n)for(var i=void 0,r=0;rt.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}var Kt=function(e,t,n){this.text=e,wt(this,t),this.height=n?n(this):1};function Qt(e){e.parent=null,Tt(e)}Kt.prototype.lineNo=function(){return Ye(this)},Ce(Kt);var Jt={},Xt={};function Yt(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Xt:Jt;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function $t(e,t){var n=w("span",null,null,l?"padding-right: .1px":null),i={pre:w("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var r=0;r<=(t.rest?t.rest.length:0);r++){var o=r?t.rest[r-1]:t.line,a=void 0;i.pos=0,i.addToken=en,we(e.display.measure)&&(a=ce(o,e.doc.direction))&&(i.addToken=tn(i.addToken,a)),i.map=[],rn(o,i,mt(e,o,t!=e.display.externalMeasured&&Ye(o))),o.styleClasses&&(o.styleClasses.bgClass&&(i.bgClass=_(o.styleClasses.bgClass,i.bgClass||"")),o.styleClasses.textClass&&(i.textClass=_(o.styleClasses.textClass,i.textClass||""))),0==i.map.length&&i.map.push(0,0,i.content.appendChild(Te(e.display.measure))),0==r?(t.measure.map=i.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(i.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(l){var s=i.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(i.content.className="cm-tab-wrap-hack")}return he(e,"renderLine",e,t.line,i.pre),i.pre.className&&(i.textClass=_(i.pre.className,i.textClass||"")),i}function Zt(e){var t=T("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function en(e,t,n,i,r,o,l){if(t){var u,c=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,i="",r=0;ru&&f.from<=u);d++);if(f.to>=c)return e(n,i,r,o,a,s,l);e(n,i.slice(0,f.to-u),r,o,null,s,l),o=null,i=i.slice(f.to-u),u=f.to}}}function nn(e,t,n,i){var r=!i&&n.widgetNode;r&&e.map.push(e.pos,e.pos+t,r),!i&&e.cm.display.input.needsContentAttribute&&(r||(r=e.content.appendChild(document.createElement("span"))),r.setAttribute("cm-marker",n.id)),r&&(e.cm.display.input.setUneditable(r),e.content.appendChild(r)),e.pos+=t,e.trailingSpace=!1}function rn(e,t,n){var i=e.markedSpans,r=e.text,o=0;if(i)for(var a,s,l,u,c,f,d,m=r.length,p=0,h=1,g="",y=0;;){if(y==p){l=u=c=s="",d=null,f=null,y=1/0;for(var v=[],C=void 0,b=0;bp||E.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&y>x.to&&(y=x.to,u=""),E.className&&(l+=" "+E.className),E.css&&(s=(s?s+";":"")+E.css),E.startStyle&&x.from==p&&(c+=" "+E.startStyle),E.endStyle&&x.to==y&&(C||(C=[])).push(E.endStyle,x.to),E.title&&((d||(d={})).title=E.title),E.attributes)for(var S in E.attributes)(d||(d={}))[S]=E.attributes[S];E.collapsed&&(!f||Ot(f.marker,E)<0)&&(f=x)}else x.from>p&&y>x.from&&(y=x.from)}if(C)for(var D=0;D=m)break;for(var R=Math.min(m,y);;){if(g){var k=p+g.length;if(!f){var M=k>R?g.slice(0,R-p):g;t.addToken(t,M,a?a+l:l,c,p+M.length==y?u:"",s,d)}if(k>=R){g=g.slice(R-p),p=R;break}p=k,c=""}g=r.slice(o,o=n[h++]),a=Yt(n[h++],t.cm.options)}}else for(var T=1;Tn)return{map:e.measure.maps[r],cache:e.measure.caches[r],before:!0}}function In(e,t,n,i){return _n(e,On(e,t),n,i)}function Pn(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&t2&&o.push((l.bottom+u.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,i){var r,o=Bn(t.map,n,i),l=o.node,u=o.start,c=o.end,f=o.collapse;if(3==l.nodeType){for(var d=0;d<4;d++){for(;u&&re(t.line.text.charAt(o.coverStart+u));)--u;for(;o.coverStart+c1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,i=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*i,bottom:t.bottom*i}}(e.display.measure,r))}else{var m;u>0&&(f=i="right"),r=e.options.lineWrapping&&(m=l.getClientRects()).length>1?m["right"==i?m.length-1:0]:l.getBoundingClientRect()}if(a&&s<9&&!u&&(!r||!r.left&&!r.right)){var p=l.parentNode.getClientRects()[0];r=p?{left:p.left,right:p.left+oi(e.display),top:p.top,bottom:p.bottom}:Nn}for(var h=r.top-t.rect.top,g=r.bottom-t.rect.top,y=(h+g)/2,v=t.view.measure.heights,C=0;Ct)&&(r=(o=l-s)-1,t>=l&&(a="right")),null!=r){if(i=e[u+2],s==l&&n==(i.insertLeft?"left":"right")&&(a=n),"left"==n&&0==r)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)i=e[2+(u-=3)],a="left";if("right"==n&&r==l-s)for(;u=0&&(n=e[r]).left==n.right;r--);return n}function Fn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=i.text.length?(l=i.text.length,u="before"):l<=0&&(l=0,u="after"),!s)return a("before"==u?l-1:l,"before"==u);function c(e,t,n){return a(n?e-1:e,1==s[t].level!=n)}var f=le(s,l,u),d=se,m=c(l,f,"before"==u);return null!=d&&(m.other=c(l,d,"before"!=u)),m}function Jn(e,t){var n=0;t=lt(e.doc,t),e.options.lineWrapping||(n=oi(e.display)*t.ch);var i=Ke(e.doc,t.line),r=Vt(i)+Dn(e.display);return{left:n,right:n,top:r,bottom:r+i.height}}function Xn(e,t,n,i,r){var o=tt(e,t,n);return o.xRel=r,i&&(o.outside=i),o}function Yn(e,t,n){var i=e.doc;if((n+=e.display.viewOffset)<0)return Xn(i.first,0,null,-1,-1);var r=$e(i,n),o=i.first+i.size-1;if(r>o)return Xn(i.first+i.size-1,Ke(i,o).text.length,null,1,1);t<0&&(t=0);for(var a=Ke(i,r);;){var s=ti(e,a,r,t,n),l=Bt(a,s.ch+(s.xRel>0||s.outside>0?1:0));if(!l)return s;var u=l.find(1);if(u.line==r)return u;a=Ke(i,r=u.line)}}function $n(e,t,n,i){i-=Vn(t);var r=t.text.length,o=ae((function(t){return _n(e,n,t-1).bottom<=i}),r,0);return{begin:o,end:r=ae((function(t){return _n(e,n,t).top>i}),o,r)}}function Zn(e,t,n,i){return n||(n=On(e,t)),$n(e,t,n,Gn(e,t,_n(e,n,i),"line").top)}function ei(e,t,n,i){return!(e.bottom<=n)&&(e.top>n||(i?e.left:e.right)>t)}function ti(e,t,n,i,r){r-=Vt(t);var o=On(e,t),a=Vn(t),s=0,l=t.text.length,u=!0,c=ce(t,e.doc.direction);if(c){var f=(e.options.lineWrapping?ii:ni)(e,t,n,o,c,i,r);s=(u=1!=f.level)?f.from:f.to-1,l=u?f.to:f.from-1}var d,m,p=null,h=null,g=ae((function(t){var n=_n(e,o,t);return n.top+=a,n.bottom+=a,!!ei(n,i,r,!1)&&(n.top<=r&&n.left<=i&&(p=t,h=n),!0)}),s,l),y=!1;if(h){var v=i-h.left=b.bottom?1:0}return Xn(n,g=oe(t.text,g,1),m,y,i-d)}function ni(e,t,n,i,r,o,a){var s=ae((function(s){var l=r[s],u=1!=l.level;return ei(Qn(e,tt(n,u?l.to:l.from,u?"before":"after"),"line",t,i),o,a,!0)}),0,r.length-1),l=r[s];if(s>0){var u=1!=l.level,c=Qn(e,tt(n,u?l.from:l.to,u?"after":"before"),"line",t,i);ei(c,o,a,!0)&&c.top>a&&(l=r[s-1])}return l}function ii(e,t,n,i,r,o,a){var s=$n(e,t,i,a),l=s.begin,u=s.end;/\s/.test(t.text.charAt(u-1))&&u--;for(var c=null,f=null,d=0;d=u||m.to<=l)){var p=_n(e,i,1!=m.level?Math.min(u,m.to)-1:Math.max(l,m.from)).right,h=ph)&&(c=m,f=h)}}return c||(c=r[r.length-1]),c.fromu&&(c={from:c.from,to:u,level:c.level}),c}function ri(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Ln){Ln=T("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)Ln.appendChild(document.createTextNode("x")),Ln.appendChild(T("br"));Ln.appendChild(document.createTextNode("x"))}M(e.measure,Ln);var n=Ln.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),k(e.measure),n||1}function oi(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=T("span","xxxxxxxxxx"),n=T("pre",[t],"CodeMirror-line-like");M(e.measure,n);var i=t.getBoundingClientRect(),r=(i.right-i.left)/10;return r>2&&(e.cachedCharWidth=r),r||10}function ai(e){for(var t=e.display,n={},i={},r=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+r,i[s]=o.clientWidth}return{fixedPos:si(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:i,wrapperWidth:t.wrapper.clientWidth}}function si(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function li(e){var t=ri(e.display),n=e.options.lineWrapping,i=n&&Math.max(5,e.display.scroller.clientWidth/oi(e.display)-3);return function(r){if(jt(e.doc,r))return 0;var o=0;if(r.widgets)for(var a=0;a0&&(l=Ke(e.doc,u.line).text).length==u.ch){var c=U(l,l.length,e.options.tabSize)-l.length;u=tt(u.line,Math.max(0,Math.round((o-Rn(e.display).left)/oi(e.display))-c))}return u}function fi(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,i=0;it)&&(r.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=r.viewTo)St&&qt(e.doc,t)r.viewFrom?pi(e):(r.viewFrom+=i,r.viewTo+=i);else if(t<=r.viewFrom&&n>=r.viewTo)pi(e);else if(t<=r.viewFrom){var o=hi(e,n,n+i,1);o?(r.view=r.view.slice(o.index),r.viewFrom=o.lineN,r.viewTo+=i):pi(e)}else if(n>=r.viewTo){var a=hi(e,t,t,-1);a?(r.view=r.view.slice(0,a.index),r.viewTo=a.lineN):pi(e)}else{var s=hi(e,t,t,-1),l=hi(e,n,n+i,1);s&&l?(r.view=r.view.slice(0,s.index).concat(an(e,s.lineN,l.lineN)).concat(r.view.slice(l.index)),r.viewTo+=i):pi(e)}var u=r.externalMeasured;u&&(n=r.lineN&&t=i.viewTo)){var o=i.view[fi(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==q(a,n)&&a.push(n)}}}function pi(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function hi(e,t,n,i){var r,o=fi(e,t),a=e.display.view;if(!St||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,l=0;l0){if(o==a.length-1)return null;r=s+a[o].size-t,o++}else r=s-t;t+=r,n+=r}for(;qt(e.doc,n)!=n;){if(o==(i<0?0:a.length-1))return null;n+=i*a[o-(i<0?1:0)].size,o+=i}return{index:o,lineN:n}}function gi(e){for(var t=e.display.view,n=0,i=0;i=e.display.viewTo||s.to().linet||t==n&&a.to==t)&&(i(Math.max(a.from,t),Math.min(a.to,n),1==a.level?"rtl":"ltr",o),r=!0)}r||i(t,n,"ltr")}(h,n||0,null==i?d:i,(function(e,t,r,f){var g="ltr"==r,y=m(e,g?"left":"right"),v=m(t-1,g?"right":"left"),C=null==n&&0==e,b=null==i&&t==d,x=0==f,E=!h||f==h.length-1;if(v.top-y.top<=3){var S=(u?b:C)&&E,D=(u?C:b)&&x?s:(g?y:v).left,A=S?l:(g?v:y).right;c(D,y.top,A-D,y.bottom)}else{var R,k,M,T;g?(R=u&&C&&x?s:y.left,k=u?l:p(e,r,"before"),M=u?s:p(t,r,"after"),T=u&&b&&E?l:v.right):(R=u?p(e,r,"before"):s,k=!u&&C&&x?l:y.right,M=!u&&b&&E?s:v.left,T=u?p(t,r,"after"):l),c(R,y.top,k-R,y.bottom),y.bottom0?t.blinker=setInterval((function(){e.hasFocus()||Ri(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Si(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||Ai(e))}function Di(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Ri(e))}),100)}function Ai(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(he(e,"focus",e,t),e.state.focused=!0,O(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),l&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),Ei(e))}function Ri(e,t){e.state.delayingBlurEvent||(e.state.focused&&(he(e,"blur",e,t),e.state.focused=!1,R(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function ki(e){for(var t=e.display,n=t.lineDiv.offsetTop,i=0;i.005||d<-.005)&&(Xe(r.line,l),Mi(r.line),r.rest))for(var m=0;me.display.sizerWidth){var p=Math.ceil(u/oi(e.display));p>e.display.maxLineLength&&(e.display.maxLineLength=p,e.display.maxLine=r.line,e.display.maxLineChanged=!0)}}}}function Mi(e){if(e.widgets)for(var t=0;t=a&&(o=$e(t,Vt(Ke(t,l))-e.wrapper.clientHeight),a=l)}return{from:o,to:Math.max(a,o+1)}}function wi(e,t){var n=e.display,i=ri(e.display);t.top<0&&(t.top=0);var r=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=Tn(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+An(n),l=t.tops-i;if(t.topr+o){var c=Math.min(t.top,(u?s:t.bottom)-o);c!=r&&(a.scrollTop=c)}var f=e.options.fixedGutter?0:n.gutters.offsetWidth,d=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft-f,m=Mn(e)-n.gutters.offsetWidth,p=t.right-t.left>m;return p&&(t.right=t.left+m),t.left<10?a.scrollLeft=0:t.leftm+d-3&&(a.scrollLeft=t.right+(p?0:10)-m),a}function Ii(e,t){null!=t&&(_i(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Pi(e){_i(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Oi(e,t,n){null==t&&null==n||_i(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function _i(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Li(e,Jn(e,t.from),Jn(e,t.to),t.margin))}function Li(e,t,n,i){var r=wi(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-i,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+i});Oi(e,r.scrollLeft,r.scrollTop)}function Ni(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||ur(e,{top:t}),Bi(e,t,!0),n&&ur(e),rr(e,100))}function Bi(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Ui(e,t,n,i){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!i||(e.doc.scrollLeft=t,dr(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Fi(e){var t=e.display,n=t.gutters.offsetWidth,i=Math.round(e.doc.height+An(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:i,scrollHeight:i+kn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var qi=function(e,t,n){this.cm=n;var i=this.vert=T("div",[T("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),r=this.horiz=T("div",[T("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");i.tabIndex=r.tabIndex=-1,e(i),e(r),de(i,"scroll",(function(){i.clientHeight&&t(i.scrollTop,"vertical")})),de(r,"scroll",(function(){r.clientWidth&&t(r.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,a&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};qi.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,i=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?i+"px":"0";var r=e.viewHeight-(t?i:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+r)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?i+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?i:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==i&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?i:0,bottom:t?i:0}},qi.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},qi.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},qi.prototype.zeroWidthHack=function(){var e=v&&!m?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new F,this.disableVert=new F},qi.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents="auto",t.set(1e3,(function i(){var r=e.getBoundingClientRect();("vert"==n?document.elementFromPoint(r.right-1,(r.top+r.bottom)/2):document.elementFromPoint((r.right+r.left)/2,r.bottom-1))!=e?e.style.pointerEvents="none":t.set(1e3,i)}))},qi.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var zi=function(){};function ji(e,t){t||(t=Fi(e));var n=e.display.barWidth,i=e.display.barHeight;Hi(e,t);for(var r=0;r<4&&n!=e.display.barWidth||i!=e.display.barHeight;r++)n!=e.display.barWidth&&e.options.lineWrapping&&ki(e),Hi(e,Fi(e)),n=e.display.barWidth,i=e.display.barHeight}function Hi(e,t){var n=e.display,i=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=i.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=i.bottom)+"px",n.heightForcer.style.borderBottom=i.bottom+"px solid transparent",i.right&&i.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=i.bottom+"px",n.scrollbarFiller.style.width=i.right+"px"):n.scrollbarFiller.style.display="",i.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=i.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}zi.prototype.update=function(){return{bottom:0,right:0}},zi.prototype.setScrollLeft=function(){},zi.prototype.setScrollTop=function(){},zi.prototype.clear=function(){};var Vi={native:qi,null:zi};function Gi(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&R(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Vi[e.options.scrollbarStyle]((function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),de(t,"mousedown",(function(){e.state.focused&&setTimeout((function(){return e.display.input.focus()}),0)})),t.setAttribute("cm-not-content","true")}),(function(t,n){"horizontal"==n?Ui(e,t):Ni(e,t)}),e),e.display.scrollbars.addClass&&O(e.display.wrapper,e.display.scrollbars.addClass)}var Wi=0;function Ki(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Wi,markArrays:null},t=e.curOp,sn?sn.ops.push(t):t.ownsGroup=sn={ops:[t],delayedCallbacks:[]}}function Qi(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ar(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Xi(e){e.updatedDisplay=e.mustUpdate&&sr(e.cm,e.update)}function Yi(e){var t=e.cm,n=t.display;e.updatedDisplay&&ki(t),e.barMeasure=Fi(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=In(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+kn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Mn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function $i(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft(window.innerHeight||document.documentElement.clientHeight)&&(r=!1),null!=r&&!p){var o=T("div","​",null,"position: absolute;\n top: "+(t.top-n.viewOffset-Dn(e.display))+"px;\n height: "+(t.bottom-t.top+kn(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(r),e.display.lineSpace.removeChild(o)}}}(t,function(e,t,n,i){var r;null==i&&(i=0),e.options.lineWrapping||t!=n||(n="before"==t.sticky?tt(t.line,t.ch+1,"before"):t,t=t.ch?tt(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t);for(var o=0;o<5;o++){var a=!1,s=Qn(e,t),l=n&&n!=t?Qn(e,n):s,u=wi(e,r={left:Math.min(s.left,l.left),top:Math.min(s.top,l.top)-i,right:Math.max(s.left,l.left),bottom:Math.max(s.bottom,l.bottom)+i}),c=e.doc.scrollTop,f=e.doc.scrollLeft;if(null!=u.scrollTop&&(Ni(e,u.scrollTop),Math.abs(e.doc.scrollTop-c)>1&&(a=!0)),null!=u.scrollLeft&&(Ui(e,u.scrollLeft),Math.abs(e.doc.scrollLeft-f)>1&&(a=!0)),!a)break}return r}(t,lt(i,e.scrollToPos.from),lt(i,e.scrollToPos.to),e.scrollToPos.margin));var r=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(r)for(var a=0;a=e.display.viewTo)){var n=+new Date+e.options.workTime,i=pt(e,t.highlightFrontier),r=[];t.iter(i.line,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(i.line>=e.display.viewFrom){var a=o.styles,s=o.text.length>e.options.maxHighlightLength?He(t.mode,i.state):null,l=dt(e,o,i,!0);s&&(i.state=s),o.styles=l.styles;var u=o.styleClasses,c=l.classes;c?o.styleClasses=c:u&&(o.styleClasses=null);for(var f=!a||a.length!=o.styles.length||u!=c&&(!u||!c||u.bgClass!=c.bgClass||u.textClass!=c.textClass),d=0;!f&&dn)return rr(e,e.options.workDelay),!0})),t.highlightFrontier=i.line,t.modeFrontier=Math.max(t.modeFrontier,i.line),r.length&&er(e,(function(){for(var t=0;t=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==gi(e))return!1;mr(e)&&(pi(e),t.dims=ai(e));var r=i.first+i.size,o=Math.max(t.visible.from-e.options.viewportMargin,i.first),a=Math.min(r,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(r,n.viewTo)),St&&(o=qt(e.doc,o),a=zt(e.doc,a));var s=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;(function(e,t,n){var i=e.display;0==i.view.length||t>=i.viewTo||n<=i.viewFrom?(i.view=an(e,t,n),i.viewFrom=t):(i.viewFrom>t?i.view=an(e,t,i.viewFrom).concat(i.view):i.viewFromn&&(i.view=i.view.slice(0,fi(e,n)))),i.viewTo=n})(e,o,a),n.viewOffset=Vt(Ke(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var u=gi(e);if(!s&&0==u&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var c=function(e){if(e.hasFocus())return null;var t=P();if(!t||!I(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var i=window.getSelection();i.anchorNode&&i.extend&&I(e.display.lineDiv,i.anchorNode)&&(n.anchorNode=i.anchorNode,n.anchorOffset=i.anchorOffset,n.focusNode=i.focusNode,n.focusOffset=i.focusOffset)}return n}(e);return u>4&&(n.lineDiv.style.display="none"),function(e,t,n){var i=e.display,r=e.options.lineNumbers,o=i.lineDiv,a=o.firstChild;function s(t){var n=t.nextSibling;return l&&v&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var u=i.view,c=i.viewFrom,f=0;f-1&&(m=!1),fn(e,d,c,n)),m&&(k(d.lineNumber),d.lineNumber.appendChild(document.createTextNode(et(e.options,c)))),a=d.node.nextSibling}else{var p=vn(e,d,c,n);o.insertBefore(p,a)}c+=d.size}for(;a;)a=s(a)}(e,n.updateLineNumbers,t.dims),u>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=P()&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&I(document.body,e.anchorNode)&&I(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(c),k(n.cursorDiv),k(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,rr(e,400)),n.updateLineNumbers=null,!0}function lr(e,t){for(var n=t.viewport,i=!0;;i=!1){if(i&&e.options.lineWrapping&&t.oldDisplayWidth!=Mn(e))i&&(t.visible=Ti(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+An(e.display)-Tn(e),n.top)}),t.visible=Ti(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!sr(e,t))break;ki(e);var r=Fi(e);yi(e),ji(e,r),fr(e,r),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function ur(e,t){var n=new ar(e,t);if(sr(e,n)){ki(e),lr(e,n);var i=Fi(e);yi(e),ji(e,i),fr(e,i),n.finish()}}function cr(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",un(e,"gutterChanged",e)}function fr(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+kn(e)+"px"}function dr(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var i=si(t)-t.scroller.scrollLeft+e.doc.scrollLeft,r=t.gutters.offsetWidth,o=i+"px",a=0;as.clientWidth,c=s.scrollHeight>s.clientHeight;if(r&&u||o&&c){if(o&&v&&l)e:for(var d=t.target,m=a.view;d!=s;d=d.parentNode)for(var p=0;p=0&&nt(e,i.to())<=0)return n}return-1};var Dr=function(e,t){this.anchor=e,this.head=t};function Ar(e,t,n){var i=e&&e.options.selectionsMayTouch,r=t[n];t.sort((function(e,t){return nt(e.from(),t.from())})),n=q(t,r);for(var o=1;o0:l>=0){var u=at(s.from(),a.from()),c=ot(s.to(),a.to()),f=s.empty()?a.from()==a.head:s.from()==s.head;o<=n&&--n,t.splice(--o,2,new Dr(f?c:u,f?u:c))}}return new Sr(t,n)}function Rr(e,t){return new Sr([new Dr(e,t||e)],0)}function kr(e){return e.text?tt(e.from.line+e.text.length-1,J(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Mr(e,t){if(nt(e,t.from)<0)return e;if(nt(e,t.to)<=0)return kr(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,i=e.ch;return e.line==t.to.line&&(i+=kr(t).ch-t.to.ch),tt(n,i)}function Tr(e,t){for(var n=[],i=0;i1&&e.remove(s.line+1,p-1),e.insert(s.line+1,y)}un(e,"change",e,t)}function Lr(e,t,n){!function e(i,r,o){if(i.linked)for(var a=0;as-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(qr(e.done),J(e.done)):e.done.length&&!J(e.done).ranges?J(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),J(e.done)):void 0}(r,r.lastOp==i)))a=J(o.changes),0==nt(t.from,t.to)&&0==nt(t.from,a.to)?a.to=kr(t):o.changes.push(Fr(e,t));else{var l=J(r.done);for(l&&l.ranges||Hr(e.sel,r.done),o={changes:[Fr(e,t)],generation:r.generation},r.done.push(o);r.done.length>r.undoDepth;)r.done.shift(),r.done[0].ranges||r.done.shift()}r.done.push(n),r.generation=++r.maxGeneration,r.lastModTime=r.lastSelTime=s,r.lastOp=r.lastSelOp=i,r.lastOrigin=r.lastSelOrigin=t.origin,a||he(e,"historyAdded")}function jr(e,t,n,i){var r=e.history,o=i&&i.origin;n==r.lastSelOp||o&&r.lastSelOrigin==o&&(r.lastModTime==r.lastSelTime&&r.lastOrigin==o||function(e,t,n,i){var r=t.charAt(0);return"*"==r||"+"==r&&n.ranges.length==i.ranges.length&&n.somethingSelected()==i.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,J(r.done),t))?r.done[r.done.length-1]=t:Hr(t,r.done),r.lastSelTime=+new Date,r.lastSelOrigin=o,r.lastSelOp=n,i&&!1!==i.clearRedo&&qr(r.undone)}function Hr(e,t){var n=J(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Vr(e,t,n,i){var r=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,i),(function(n){n.markedSpans&&((r||(r=t["spans_"+e.id]={}))[o]=n.markedSpans),++o}))}function Gr(e){if(!e)return null;for(var t,n=0;n-1&&(J(s)[f]=u[f],delete u[f])}}}return i}function Qr(e,t,n,i){if(i){var r=e.anchor;if(n){var o=nt(t,r)<0;o!=nt(n,r)<0?(r=t,t=n):o!=nt(t,n)<0&&(t=n)}return new Dr(r,t)}return new Dr(n||t,t)}function Jr(e,t,n,i,r){null==r&&(r=e.cm&&(e.cm.display.shift||e.extend)),eo(e,new Sr([Qr(e.sel.primary(),t,n,r)],0),i)}function Xr(e,t,n){for(var i=[],r=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:s.to>t.ch))){if(r&&(he(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!l.atomic)continue;if(n){var f=l.find(i<0?1:-1),d=void 0;if((i<0?c:u)&&(f=so(e,f,-i,f&&f.line==t.line?o:null)),f&&f.line==t.line&&(d=nt(f,n))&&(i<0?d<0:d>0))return oo(e,f,t,i,r)}var m=l.find(i<0?-1:1);return(i<0?u:c)&&(m=so(e,m,i,m.line==t.line?o:null)),m?oo(e,m,t,i,r):null}}return t}function ao(e,t,n,i,r){var o=i||1;return oo(e,t,n,o,r)||!r&&oo(e,t,n,o,!0)||oo(e,t,n,-o,r)||!r&&oo(e,t,n,-o,!0)||(e.cantEdit=!0,tt(e.first,0))}function so(e,t,n,i){return n<0&&0==t.ch?t.line>e.first?lt(e,tt(t.line-1)):null:n>0&&t.ch==(i||Ke(e,t.line)).text.length?t.line0)){var c=[l,1],f=nt(u.from,s.from),d=nt(u.to,s.to);(f<0||!a.inclusiveLeft&&!f)&&c.push({from:u.from,to:s.from}),(d>0||!a.inclusiveRight&&!d)&&c.push({from:s.to,to:u.to}),r.splice.apply(r,c),l+=c.length-3}}return r}(e,t.from,t.to);if(i)for(var r=i.length-1;r>=0;--r)fo(e,{from:i[r].from,to:i[r].to,text:r?[""]:t.text,origin:t.origin});else fo(e,t)}}function fo(e,t){if(1!=t.text.length||""!=t.text[0]||0!=nt(t.from,t.to)){var n=Tr(e,t);zr(e,t,n,e.cm?e.cm.curOp.id:NaN),ho(e,t,n,kt(e,t));var i=[];Lr(e,(function(e,n){n||-1!=q(i,e.history)||(Co(e.history,t),i.push(e.history)),ho(e,t,null,kt(e,t))}))}}function mo(e,t,n){var i=e.cm&&e.cm.state.suppressEdits;if(!i||n){for(var r,o=e.history,a=e.sel,s="undo"==t?o.done:o.undone,l="undo"==t?o.undone:o.done,u=0;u=0;--m){var p=d(m);if(p)return p.v}}}}function po(e,t){if(0!=t&&(e.first+=t,e.sel=new Sr(X(e.sel.ranges,(function(e){return new Dr(tt(e.anchor.line+t,e.anchor.ch),tt(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){di(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,i=n.viewFrom;ie.lastLine())){if(t.from.lineo&&(t={from:t.from,to:tt(o,Ke(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Qe(e,t.from,t.to),n||(n=Tr(e,t)),e.cm?function(e,t,n){var i=e.doc,r=e.display,o=t.from,a=t.to,s=!1,l=o.line;e.options.lineWrapping||(l=Ye(Ft(Ke(i,o.line))),i.iter(l,a.line+1,(function(e){if(e==r.maxLine)return s=!0,!0}))),i.sel.contains(t.from,t.to)>-1&&ye(e),_r(i,t,n,li(e)),e.options.lineWrapping||(i.iter(l,o.line+t.text.length,(function(e){var t=Gt(e);t>r.maxLineLength&&(r.maxLine=e,r.maxLineLength=t,r.maxLineChanged=!0,s=!1)})),s&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;i--){var r=Ke(e,i).stateAfter;if(r&&(!(r instanceof ct)||i+r.lookAhead1||!(this.children[0]instanceof xo))){var s=[];this.collapse(s),this.children=[new xo(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var a=r.lines.length%25+25,s=a;s10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var i=0;i0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=w("span",[o.replacedWith],"CodeMirror-widget"),i.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),i.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Ut(e,t.line,t,n,o)||t.line!=n.line&&Ut(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");St=!0}o.addToHistory&&zr(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var s,l=t.line,u=e.cm;if(e.iter(l,n.line+1,(function(i){u&&o.collapsed&&!u.options.lineWrapping&&Ft(i)==u.display.maxLine&&(s=!0),o.collapsed&&l!=t.line&&Xe(i,0),function(e,t,n){var i=n&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet));i&&i.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],i&&i.add(e.markedSpans)),t.marker.attachLine(e)}(i,new Dt(o,l==t.line?t.ch:null,l==n.line?n.ch:null),e.cm&&e.cm.curOp),++l})),o.collapsed&&e.iter(t.line,n.line+1,(function(t){jt(e,t)&&Xe(t,0)})),o.clearOnEnter&&de(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(Et=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++Ao,o.atomic=!0),u){if(s&&(u.curOp.updateMaxLine=!0),o.collapsed)di(u,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=t.line;c<=n.line;c++)mi(u,c,"text");o.atomic&&io(u.doc),un(u,"markerAdded",u,o)}return o}Ro.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Ki(e),ve(this,"clear")){var n=this.find();n&&un(this,"clear",n.from,n.to)}for(var i=null,r=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=u,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=i&&e&&this.collapsed&&di(e,i,r+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&io(e.doc)),e&&un(e,"markerCleared",e,this,i,r),t&&Qi(e),this.parent&&this.parent.clear()}},Ro.prototype.find=function(e,t){var n,i;null==e&&"bookmark"==this.type&&(e=1);for(var r=0;r=0;l--)co(this,i[l]);s?Zr(this,s):this.cm&&Pi(this.cm)})),undo:ir((function(){mo(this,"undo")})),redo:ir((function(){mo(this,"redo")})),undoSelection:ir((function(){mo(this,"undo",!0)})),redoSelection:ir((function(){mo(this,"redo",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,i=0;i=e.ch)&&t.push(r.marker.parent||r.marker)}return t},findMarks:function(e,t,n){e=lt(this,e),t=lt(this,t);var i=[],r=e.line;return this.iter(e.line,t.line+1,(function(o){var a=o.markedSpans;if(a)for(var s=0;s=l.to||null==l.from&&r!=e.line||null!=l.from&&r==t.line&&l.from>=t.ch||n&&!n(l.marker)||i.push(l.marker.parent||l.marker)}++r})),i},getAllMarks:function(){var e=[];return this.iter((function(t){var n=t.markedSpans;if(n)for(var i=0;ie)return t=e,!0;e-=o,++n})),lt(this,tt(n,t))},indexFromPos:function(e){var t=(e=lt(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout((function(){return t.display.input.focus()}),20);try{var f=e.dataTransfer.getData("Text");if(f){var d;if(t.state.draggingText&&!t.state.draggingText.copy&&(d=t.listSelections()),to(t.doc,Rr(n,n)),d)for(var m=0;m=0;t--)go(e.doc,"",i[t].from,i[t].to,"+delete");Pi(e)}))}function Zo(e,t,n){var i=oe(e.text,t+n,n);return i<0||i>e.text.length?null:i}function ea(e,t,n){var i=Zo(e,t.ch,n);return null==i?null:new tt(t.line,i,n<0?"after":"before")}function ta(e,t,n,i,r){if(e){"rtl"==t.doc.direction&&(r=-r);var o=ce(n,t.doc.direction);if(o){var a,s=r<0?J(o):o[0],l=r<0==(1==s.level)?"after":"before";if(s.level>0||"rtl"==t.doc.direction){var u=On(t,n);a=r<0?n.text.length-1:0;var c=_n(t,u,a).top;a=ae((function(e){return _n(t,u,e).top==c}),r<0==(1==s.level)?s.from:s.to-1,a),"before"==l&&(a=Zo(n,a,1))}else a=r<0?s.to:s.from;return new tt(i,a,l)}}return new tt(i,r<0?n.text.length:0,r<0?"before":"after")}Vo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Vo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Vo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Vo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Vo.default=v?Vo.macDefault:Vo.pcDefault;var na={selectAll:lo,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),H)},killLine:function(e){return $o(e,(function(t){if(t.empty()){var n=Ke(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)r=new tt(r.line,r.ch+1),e.replaceRange(o.charAt(r.ch-1)+o.charAt(r.ch-2),tt(r.line,r.ch-2),r,"+transpose");else if(r.line>e.doc.first){var a=Ke(e.doc,r.line-1).text;a&&(r=new tt(r.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),tt(r.line-1,a.length-1),r,"+transpose"))}n.push(new Dr(r,r))}e.setSelections(n)}))},newlineAndIndent:function(e){return er(e,(function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var i=0;i-1&&(nt((r=u.ranges[r]).from(),t)<0||t.xRel>0)&&(nt(r.to(),t)>0||t.xRel<0)?function(e,t,n,i){var r=e.display,o=!1,u=tr(e,(function(t){l&&(r.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Di(e)),pe(r.wrapper.ownerDocument,"mouseup",u),pe(r.wrapper.ownerDocument,"mousemove",c),pe(r.scroller,"dragstart",f),pe(r.scroller,"drop",u),o||(be(t),i.addNew||Jr(e.doc,n,null,null,i.extend),l&&!d||a&&9==s?setTimeout((function(){r.wrapper.ownerDocument.body.focus({preventScroll:!0}),r.input.focus()}),20):r.input.focus())})),c=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},f=function(){return o=!0};l&&(r.scroller.draggable=!0),e.state.draggingText=u,u.copy=!i.moveOnDrag,de(r.wrapper.ownerDocument,"mouseup",u),de(r.wrapper.ownerDocument,"mousemove",c),de(r.scroller,"dragstart",f),de(r.scroller,"drop",u),e.state.delayingBlurEvent=!0,setTimeout((function(){return r.input.focus()}),20),r.scroller.dragDrop&&r.scroller.dragDrop()}(e,i,t,o):function(e,t,n,i){a&&Di(e);var r=e.display,o=e.doc;be(t);var s,l,u=o.sel,c=u.ranges;if(i.addNew&&!i.extend?(l=o.sel.contains(n),s=l>-1?c[l]:new Dr(n,n)):(s=o.sel.primary(),l=o.sel.primIndex),"rectangle"==i.unit)i.addNew||(s=new Dr(n,n)),n=ci(e,t,!0,!0),l=-1;else{var f=va(e,n,i.unit);s=i.extend?Qr(s,f.anchor,f.head,i.extend):f}i.addNew?-1==l?(l=c.length,eo(o,Ar(e,c.concat([s]),l),{scroll:!1,origin:"*mouse"})):c.length>1&&c[l].empty()&&"char"==i.unit&&!i.extend?(eo(o,Ar(e,c.slice(0,l).concat(c.slice(l+1)),0),{scroll:!1,origin:"*mouse"}),u=o.sel):Yr(o,l,s,V):(l=0,eo(o,new Sr([s],0),V),u=o.sel);var d=n;function m(t){if(0!=nt(d,t))if(d=t,"rectangle"==i.unit){for(var r=[],a=e.options.tabSize,c=U(Ke(o,n.line).text,n.ch,a),f=U(Ke(o,t.line).text,t.ch,a),m=Math.min(c,f),p=Math.max(c,f),h=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));h<=g;h++){var y=Ke(o,h).text,v=W(y,m,a);m==p?r.push(new Dr(tt(h,v),tt(h,v))):y.length>v&&r.push(new Dr(tt(h,v),tt(h,W(y,p,a))))}r.length||r.push(new Dr(n,n)),eo(o,Ar(e,u.ranges.slice(0,l).concat(r),l),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var C,b=s,x=va(e,t,i.unit),E=b.anchor;nt(x.anchor,E)>0?(C=x.head,E=at(b.from(),x.anchor)):(C=x.anchor,E=ot(b.to(),x.head));var S=u.ranges.slice(0);S[l]=function(e,t){var n=t.anchor,i=t.head,r=Ke(e.doc,n.line);if(0==nt(n,i)&&n.sticky==i.sticky)return t;var o=ce(r);if(!o)return t;var a=le(o,n.ch,n.sticky),s=o[a];if(s.from!=n.ch&&s.to!=n.ch)return t;var l,u=a+(s.from==n.ch==(1!=s.level)?0:1);if(0==u||u==o.length)return t;if(i.line!=n.line)l=(i.line-n.line)*("ltr"==e.doc.direction?1:-1)>0;else{var c=le(o,i.ch,i.sticky),f=c-a||(i.ch-n.ch)*(1==s.level?-1:1);l=c==u-1||c==u?f<0:f>0}var d=o[u+(l?-1:0)],m=l==(1==d.level),p=m?d.from:d.to,h=m?"after":"before";return n.ch==p&&n.sticky==h?t:new Dr(new tt(n.line,p,h),i)}(e,new Dr(lt(o,E),C)),eo(o,Ar(e,S,l),V)}}var p=r.wrapper.getBoundingClientRect(),h=0;function g(t){var n=++h,a=ci(e,t,!0,"rectangle"==i.unit);if(a)if(0!=nt(a,d)){e.curOp.focus=P(),m(a);var s=Ti(r,o);(a.line>=s.to||a.linep.bottom?20:0;l&&setTimeout(tr(e,(function(){h==n&&(r.scroller.scrollTop+=l,g(t))})),50)}}function y(t){e.state.selectingText=!1,h=1/0,t&&(be(t),r.input.focus()),pe(r.wrapper.ownerDocument,"mousemove",v),pe(r.wrapper.ownerDocument,"mouseup",C),o.history.lastSelOrigin=null}var v=tr(e,(function(e){0!==e.buttons&&Ae(e)?g(e):y(e)})),C=tr(e,y);e.state.selectingText=C,de(r.wrapper.ownerDocument,"mousemove",v),de(r.wrapper.ownerDocument,"mouseup",C)}(e,i,t,o)}(t,i,o,e):De(e)==n.scroller&&be(e):2==r?(i&&Jr(t.doc,i),setTimeout((function(){return n.input.focus()}),20)):3==r&&(S?t.display.input.onContextMenu(e):Di(t)))}}function va(e,t,n){if("char"==n)return new Dr(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new Dr(tt(t.line,0),lt(e.doc,tt(t.line+1,0)));var i=n(e,t);return new Dr(i.from,i.to)}function Ca(e,t,n,i){var r,o;if(t.touches)r=t.touches[0].clientX,o=t.touches[0].clientY;else try{r=t.clientX,o=t.clientY}catch(e){return!1}if(r>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;i&&be(t);var a=e.display,s=a.lineDiv.getBoundingClientRect();if(o>s.bottom||!ve(e,n))return Ee(t);o-=s.top-a.viewOffset;for(var l=0;l=r)return he(e,n,e,$e(e.doc,o),e.display.gutterSpecs[l].className,t),Ee(t)}}function ba(e,t){return Ca(e,t,"gutterClick",!0)}function xa(e,t){Sn(e.display,t)||function(e,t){return!!ve(e,"gutterContextMenu")&&Ca(e,t,"gutterContextMenu",!1)}(e,t)||ge(e,t,"contextmenu")||S||e.display.input.onContextMenu(t)}function Ea(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),zn(e)}ga.prototype.compare=function(e,t,n){return this.time+400>e&&0==nt(t,this.pos)&&n==this.button};var Sa={toString:function(){return"CodeMirror.Init"}},Da={},Aa={};function Ra(e,t,n){if(!t!=!(n&&n!=Sa)){var i=e.display.dragFunctions,r=t?de:pe;r(e.display.scroller,"dragstart",i.start),r(e.display.scroller,"dragenter",i.enter),r(e.display.scroller,"dragover",i.over),r(e.display.scroller,"dragleave",i.leave),r(e.display.scroller,"drop",i.drop)}}function ka(e){e.options.lineWrapping?(O(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(R(e.display.wrapper,"CodeMirror-wrap"),Wt(e)),ui(e),di(e),zn(e),setTimeout((function(){return ji(e)}),100)}function Ma(e,t){var n=this;if(!(this instanceof Ma))return new Ma(e,t);this.options=t=t?B(t):{},B(Da,t,!1);var i=t.value;"string"==typeof i?i=new Po(i,t.mode,null,t.lineSeparator,t.direction):t.mode&&(i.modeOption=t.mode),this.doc=i;var r=new Ma.inputStyles[t.inputStyle](this),o=this.display=new yr(e,i,r,t);for(var u in o.wrapper.CodeMirror=this,Ea(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Gi(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new F,keySeq:null,specialChars:null},t.autofocus&&!y&&o.input.focus(),a&&s<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(e){var t=e.display;de(t.scroller,"mousedown",tr(e,ya)),de(t.scroller,"dblclick",a&&s<11?tr(e,(function(t){if(!ge(e,t)){var n=ci(e,t);if(n&&!ba(e,t)&&!Sn(e.display,t)){be(t);var i=e.findWordAt(n);Jr(e.doc,i.anchor,i.head)}}})):function(t){return ge(e,t)||be(t)}),de(t.scroller,"contextmenu",(function(t){return xa(e,t)})),de(t.input.getField(),"contextmenu",(function(n){t.scroller.contains(n.target)||xa(e,n)}));var n,i={end:0};function r(){t.activeTouch&&(n=setTimeout((function(){return t.activeTouch=null}),1e3),(i=t.activeTouch).end=+new Date)}function o(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}function l(e,t){if(null==t.left)return!0;var n=t.left-e.left,i=t.top-e.top;return n*n+i*i>400}de(t.scroller,"touchstart",(function(r){if(!ge(e,r)&&!o(r)&&!ba(e,r)){t.input.ensurePolled(),clearTimeout(n);var a=+new Date;t.activeTouch={start:a,moved:!1,prev:a-i.end<=300?i:null},1==r.touches.length&&(t.activeTouch.left=r.touches[0].pageX,t.activeTouch.top=r.touches[0].pageY)}})),de(t.scroller,"touchmove",(function(){t.activeTouch&&(t.activeTouch.moved=!0)})),de(t.scroller,"touchend",(function(n){var i=t.activeTouch;if(i&&!Sn(t,n)&&null!=i.left&&!i.moved&&new Date-i.start<300){var o,a=e.coordsChar(t.activeTouch,"page");o=!i.prev||l(i,i.prev)?new Dr(a,a):!i.prev.prev||l(i,i.prev.prev)?e.findWordAt(a):new Dr(tt(a.line,0),lt(e.doc,tt(a.line+1,0))),e.setSelection(o.anchor,o.head),e.focus(),be(n)}r()})),de(t.scroller,"touchcancel",r),de(t.scroller,"scroll",(function(){t.scroller.clientHeight&&(Ni(e,t.scroller.scrollTop),Ui(e,t.scroller.scrollLeft,!0),he(e,"scroll",e))})),de(t.scroller,"mousewheel",(function(t){return Er(e,t)})),de(t.scroller,"DOMMouseScroll",(function(t){return Er(e,t)})),de(t.wrapper,"scroll",(function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0})),t.dragFunctions={enter:function(t){ge(e,t)||Se(t)},over:function(t){ge(e,t)||(function(e,t){var n=ci(e,t);if(n){var i=document.createDocumentFragment();Ci(e,n,i),e.display.dragCursor||(e.display.dragCursor=T("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),M(e.display.dragCursor,i)}}(e,t),Se(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-Oo<100))Se(t);else if(!ge(e,t)&&!Sn(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!d)){var n=T("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",f&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),f&&n.parentNode.removeChild(n)}}(e,t)},drop:tr(e,_o),leave:function(t){ge(e,t)||Lo(e)}};var u=t.input.getField();de(u,"keyup",(function(t){return da.call(e,t)})),de(u,"keydown",tr(e,fa)),de(u,"keypress",tr(e,ma)),de(u,"focus",(function(t){return Ai(e,t)})),de(u,"blur",(function(t){return Ri(e,t)}))}(this),Uo(),Ki(this),this.curOp.forceUpdate=!0,Nr(this,i),t.autofocus&&!y||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&Ai(n)}),20):Ri(this),Aa)Aa.hasOwnProperty(u)&&Aa[u](this,t[u],Sa);mr(this),t.finishInit&&t.finishInit(this);for(var c=0;c150)){if(!i)return;n="prev"}}else u=0,n="not";"prev"==n?u=t>o.first?U(Ke(o,t-1).text,null,a):0:"add"==n?u=l+e.options.indentUnit:"subtract"==n?u=l-e.options.indentUnit:"number"==typeof n&&(u=l+n),u=Math.max(0,u);var f="",d=0;if(e.options.indentWithTabs)for(var m=Math.floor(u/a);m;--m)d+=a,f+="\t";if(da,l=Pe(t),u=null;if(s&&i.ranges.length>1)if(Ia&&Ia.text.join("\n")==t){if(i.ranges.length%Ia.text.length==0){u=[];for(var c=0;c=0;d--){var m=i.ranges[d],p=m.from(),h=m.to();m.empty()&&(n&&n>0?p=tt(p.line,p.ch-n):e.state.overwrite&&!s?h=tt(h.line,Math.min(Ke(o,h.line).text.length,h.ch+J(l).length)):s&&Ia&&Ia.lineWise&&Ia.text.join("\n")==l.join("\n")&&(p=h=tt(p.line,0)));var g={from:p,to:h,text:u?u[d%u.length]:l,origin:r||(s?"paste":e.state.cutIncoming>a?"cut":"+input")};co(e.doc,g),un(e,"inputRead",e,g)}t&&!s&&La(e,t),Pi(e),e.curOp.updateInput<2&&(e.curOp.updateInput=f),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function _a(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||er(t,(function(){return Oa(t,n,0,null,"paste")})),!0}function La(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,i=n.ranges.length-1;i>=0;i--){var r=n.ranges[i];if(!(r.head.ch>100||i&&n.ranges[i-1].head.line==r.head.line)){var o=e.getModeAt(r.head),a=!1;if(o.electricChars){for(var s=0;s-1){a=wa(e,r.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Ke(e.doc,r.head.line).text.slice(0,r.head.ch))&&(a=wa(e,r.head.line,"smart"));a&&un(e,"electricInput",e,r.head.line)}}}function Na(e){for(var t=[],n=[],i=0;i0?0:-1));if(isNaN(c))a=null;else{var f=n>0?c>=55296&&c<56320:c>=56320&&c<57343;a=new tt(t.line,Math.max(0,Math.min(s.text.length,t.ch+n*(f?2:1))),-n)}}else a=r?function(e,t,n,i){var r=ce(t,e.doc.direction);if(!r)return ea(t,n,i);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=le(r,n.ch,n.sticky),a=r[o];if("ltr"==e.doc.direction&&a.level%2==0&&(i>0?a.to>n.ch:a.from=a.from&&d>=c.begin)){var m=f?"before":"after";return new tt(n.line,d,m)}}var p=function(e,t,i){for(var o=function(e,t){return t?new tt(n.line,l(e,1),"before"):new tt(n.line,e,"after")};e>=0&&e0==(1!=a.level),u=s?i.begin:l(i.end,-1);if(a.from<=u&&u0?c.end:l(c.begin,-1);return null==g||i>0&&g==t.text.length||!(h=p(i>0?0:r.length-1,i,u(g)))?null:h}(e.cm,s,t,n):ea(s,t,n);if(null==a){if(o||((u=t.line+l)=e.first+e.size||(t=new tt(u,t.ch,t.sticky),!(s=Ke(e,u)))))return!1;t=ta(r,e.cm,s,t.line,l)}else t=a;return!0}if("char"==i||"codepoint"==i)u();else if("column"==i)u(!0);else if("word"==i||"group"==i)for(var c=null,f="group"==i,d=e.cm&&e.cm.getHelper(t,"wordChars"),m=!0;!(n<0)||u(!m);m=!1){var p=s.text.charAt(t.ch)||"\n",h=te(p,d)?"w":f&&"\n"==p?"n":!f||/\s/.test(p)?null:"p";if(!f||m||h||(h="s"),c&&c!=h){n<0&&(n=1,u(),t.sticky="after");break}if(h&&(c=h),n>0&&!u(!m))break}var g=ao(e,t,o,a,!0);return it(o,g)&&(g.hitSide=!0),g}function qa(e,t,n,i){var r,o,a=e.doc,s=t.left;if("page"==i){var l=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),u=Math.max(l-.5*ri(e.display),3);r=(n>0?t.bottom:t.top)+n*u}else"line"==i&&(r=n>0?t.bottom+3:t.top-3);for(;(o=Yn(e,s,r)).outside;){if(n<0?r<=0:r>=a.height){o.hitSide=!0;break}r+=5*n}return o}var za=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new F,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function ja(e,t){var n=Pn(e,t.line);if(!n||n.hidden)return null;var i=Ke(e.doc,t.line),r=wn(n,i,t.line),o=ce(i,e.doc.direction),a="left";o&&(a=le(o,t.ch)%2?"right":"left");var s=Bn(r.map,t.ch,a);return s.offset="right"==s.collapse?s.end:s.start,s}function Ha(e,t){return t&&(e.bad=!0),e}function Va(e,t,n){var i;if(t==e.display.lineDiv){if(!(i=e.display.lineDiv.childNodes[n]))return Ha(e.clipPos(tt(e.display.viewTo-1)),!0);t=null,n=0}else for(i=t;;i=i.parentNode){if(!i||i==e.display.lineDiv)return null;if(i.parentNode&&i.parentNode==e.display.lineDiv)break}for(var r=0;r=t.display.viewTo||o.line=t.display.viewFrom&&ja(t,r)||{node:l[0].measure.map[2],offset:0},c=o.linei.firstLine()&&(a=tt(a.line-1,Ke(i.doc,a.line-1).length)),s.ch==Ke(i.doc,s.line).text.length&&s.liner.viewTo-1)return!1;a.line==r.viewFrom||0==(e=fi(i,a.line))?(t=Ye(r.view[0].line),n=r.view[0].node):(t=Ye(r.view[e].line),n=r.view[e-1].node.nextSibling);var l,u,c=fi(i,s.line);if(c==r.view.length-1?(l=r.viewTo-1,u=r.lineDiv.lastChild):(l=Ye(r.view[c+1].line)-1,u=r.view[c+1].node.previousSibling),!n)return!1;for(var f=i.doc.splitLines(function(e,t,n,i,r){var o="",a=!1,s=e.doc.lineSeparator(),l=!1;function u(){a&&(o+=s,l&&(o+=s),a=l=!1)}function c(e){e&&(u(),o+=e)}function f(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(n)return void c(n);var o,d=t.getAttribute("cm-marker");if(d){var m=e.findMarks(tt(i,0),tt(r+1,0),(g=+d,function(e){return e.id==g}));return void(m.length&&(o=m[0].find(0))&&c(Qe(e.doc,o.from,o.to).join(s)))}if("false"==t.getAttribute("contenteditable"))return;var p=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;p&&u();for(var h=0;h1&&d.length>1;)if(J(f)==J(d))f.pop(),d.pop(),l--;else{if(f[0]!=d[0])break;f.shift(),d.shift(),t++}for(var m=0,p=0,h=f[0],g=d[0],y=Math.min(h.length,g.length);ma.ch&&v.charCodeAt(v.length-p-1)==C.charCodeAt(C.length-p-1);)m--,p++;f[f.length-1]=v.slice(0,v.length-p).replace(/^\u200b+/,""),f[0]=f[0].slice(m).replace(/\u200b+$/,"");var x=tt(t,m),E=tt(l,d.length?J(d).length-p:0);return f.length>1||f[0]||nt(x,E)?(go(i.doc,f,x,E,"+input"),!0):void 0},za.prototype.ensurePolled=function(){this.forceCompositionEnd()},za.prototype.reset=function(){this.forceCompositionEnd()},za.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},za.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()}),80))},za.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||er(this.cm,(function(){return di(e.cm)}))},za.prototype.setUneditable=function(e){e.contentEditable="false"},za.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||tr(this.cm,Oa)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},za.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},za.prototype.onContextMenu=function(){},za.prototype.resetPosition=function(){},za.prototype.needsContentAttribute=!0;var Wa=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new F,this.hasSelection=!1,this.composing=null};Wa.prototype.init=function(e){var t=this,n=this,i=this.cm;this.createField(e);var r=this.textarea;function o(e){if(!ge(i,e)){if(i.somethingSelected())Pa({lineWise:!1,text:i.getSelections()});else{if(!i.options.lineWiseCopyCut)return;var t=Na(i);Pa({lineWise:!0,text:t.text}),"cut"==e.type?i.setSelections(t.ranges,null,H):(n.prevInput="",r.value=t.text.join("\n"),L(r))}"cut"==e.type&&(i.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),h&&(r.style.width="0px"),de(r,"input",(function(){a&&s>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()})),de(r,"paste",(function(e){ge(i,e)||_a(e,i)||(i.state.pasteIncoming=+new Date,n.fastPoll())})),de(r,"cut",o),de(r,"copy",o),de(e.scroller,"paste",(function(t){if(!Sn(e,t)&&!ge(i,t)){if(!r.dispatchEvent)return i.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,r.dispatchEvent(o)}})),de(e.lineSpace,"selectstart",(function(t){Sn(e,t)||be(t)})),de(r,"compositionstart",(function(){var e=i.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:i.markText(e,i.getCursor("to"),{className:"CodeMirror-composing"})}})),de(r,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Wa.prototype.createField=function(e){this.wrapper=Ua(),this.textarea=this.wrapper.firstChild},Wa.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},Wa.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,i=vi(e);if(e.options.moveInputWithCursor){var r=Qn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();i.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,r.top+a.top-o.top)),i.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,r.left+a.left-o.left))}return i},Wa.prototype.showSelection=function(e){var t=this.cm.display;M(t.cursorDiv,e.cursors),M(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Wa.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&L(this.textarea),a&&s>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",a&&s>=9&&(this.hasSelection=null))}},Wa.prototype.getField=function(){return this.textarea},Wa.prototype.supportsTouch=function(){return!1},Wa.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!y||P()!=this.textarea))try{this.textarea.focus()}catch(e){}},Wa.prototype.blur=function(){this.textarea.blur()},Wa.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Wa.prototype.receivedFocus=function(){this.slowPoll()},Wa.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},Wa.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))}))},Wa.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,i=this.prevInput;if(this.contextMenuPending||!t.state.focused||Oe(n)&&!i&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var r=n.value;if(r==i&&!t.somethingSelected())return!1;if(a&&s>=9&&this.hasSelection===r||v&&/[\uf700-\uf7ff]/.test(r))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=r.charCodeAt(0);if(8203!=o||i||(i="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,u=Math.min(i.length,r.length);l1e3||r.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=r,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},Wa.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Wa.prototype.onKeyPress=function(){a&&s>=9&&(this.hasSelection=null),this.fastPoll()},Wa.prototype.onContextMenu=function(e){var t=this,n=t.cm,i=n.display,r=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=ci(n,e),u=i.scroller.scrollTop;if(o&&!f){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&tr(n,eo)(n.doc,Rr(o),H);var c,d=r.style.cssText,m=t.wrapper.style.cssText,p=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",r.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-p.top-5)+"px; left: "+(e.clientX-p.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(c=window.scrollY),i.input.focus(),l&&window.scrollTo(null,c),i.input.reset(),n.somethingSelected()||(r.value=t.prevInput=" "),t.contextMenuPending=y,i.selForContextMenu=n.doc.sel,clearTimeout(i.detectingSelectAll),a&&s>=9&&g(),S){Se(e);var h=function(){pe(window,"mouseup",h),setTimeout(y,20)};de(window,"mouseup",h)}else setTimeout(y,50)}function g(){if(null!=r.selectionStart){var e=n.somethingSelected(),o="​"+(e?r.value:"");r.value="⇚",r.value=o,t.prevInput=e?"":"​",r.selectionStart=1,r.selectionEnd=o.length,i.selForContextMenu=n.doc.sel}}function y(){if(t.contextMenuPending==y&&(t.contextMenuPending=!1,t.wrapper.style.cssText=m,r.style.cssText=d,a&&s<9&&i.scrollbars.setScrollTop(i.scroller.scrollTop=u),null!=r.selectionStart)){(!a||a&&s<9)&&g();var e=0,o=function(){i.selForContextMenu==n.doc.sel&&0==r.selectionStart&&r.selectionEnd>0&&"​"==t.prevInput?tr(n,lo)(n):e++<10?i.detectingSelectAll=setTimeout(o,500):(i.selForContextMenu=null,i.input.reset())};i.detectingSelectAll=setTimeout(o,200)}}},Wa.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e,this.textarea.readOnly=!!e},Wa.prototype.setUneditable=function(){},Wa.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,i,r,o){e.defaults[n]=i,r&&(t[n]=o?function(e,t,n){n!=Sa&&r(e,t,n)}:r)}e.defineOption=n,e.Init=Sa,n("value","",(function(e,t){return e.setValue(t)}),!0),n("mode",null,(function(e,t){e.doc.modeOption=t,Ir(e)}),!0),n("indentUnit",2,Ir,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(e){Pr(e),zn(e),di(e)}),!0),n("lineSeparator",null,(function(e,t){if(e.doc.lineSep=t,t){var n=[],i=e.doc.first;e.doc.iter((function(e){for(var r=0;;){var o=e.text.indexOf(t,r);if(-1==o)break;r=o+t.length,n.push(tt(i,o))}i++}));for(var r=n.length-1;r>=0;r--)go(e.doc,t,n[r],tt(n[r].line,n[r].ch+t.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,(function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=Sa&&e.refresh()})),n("specialCharPlaceholder",Zt,(function(e){return e.refresh()}),!0),n("electricChars",!0),n("inputStyle",y?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(e,t){return e.getInputField().spellcheck=t}),!0),n("autocorrect",!1,(function(e,t){return e.getInputField().autocorrect=t}),!0),n("autocapitalize",!1,(function(e,t){return e.getInputField().autocapitalize=t}),!0),n("rtlMoveVisually",!b),n("wholeLineUpdateBefore",!0),n("theme","default",(function(e){Ea(e),gr(e)}),!0),n("keyMap","default",(function(e,t,n){var i=Yo(t),r=n!=Sa&&Yo(n);r&&r.detach&&r.detach(e,i),i.attach&&i.attach(e,r||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,ka,!0),n("gutters",[],(function(e,t){e.display.gutterSpecs=pr(t,e.options.lineNumbers),gr(e)}),!0),n("fixedGutter",!0,(function(e,t){e.display.gutters.style.left=t?si(e.display)+"px":"0",e.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(e){return ji(e)}),!0),n("scrollbarStyle","native",(function(e){Gi(e),ji(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(e,t){e.display.gutterSpecs=pr(e.options.gutters,t),gr(e)}),!0),n("firstLineNumber",1,gr,!0),n("lineNumberFormatter",(function(e){return e}),gr,!0),n("showCursorWhenSelecting",!1,yi,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(e,t){"nocursor"==t&&(Ri(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)})),n("screenReaderLabel",null,(function(e,t){t=""===t?null:t,e.display.input.screenReaderLabelChanged(t)})),n("disableInput",!1,(function(e,t){t||e.display.input.reset()}),!0),n("dragDrop",!0,Ra),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,yi,!0),n("singleCursorHeightPerLine",!0,yi,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Pr,!0),n("addModeClass",!1,Pr,!0),n("pollInterval",100),n("undoDepth",200,(function(e,t){return e.doc.history.undoDepth=t})),n("historyEventDelay",1250),n("viewportMargin",10,(function(e){return e.refresh()}),!0),n("maxHighlightLength",1e4,Pr,!0),n("moveInputWithCursor",!0,(function(e,t){t||e.display.input.resetPosition()})),n("tabindex",null,(function(e,t){return e.display.input.getField().tabIndex=t||""})),n("autofocus",null),n("direction","ltr",(function(e,t){return e.doc.setDirection(t)}),!0),n("phrases",null)}(Ma),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var i=this.options,r=i[e];i[e]==n&&"mode"!=e||(i[e]=n,t.hasOwnProperty(e)&&tr(this,t[e])(this,n,r),he(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](Yo(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(wa(this,r.head.line,e,!0),n=r.head.line,i==this.doc.sel.primIndex&&Pi(this));else{var o=r.from(),a=r.to(),s=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var l=s;l0&&Yr(this.doc,i,new Dr(o,u[i].to()),H)}}})),getTokenAt:function(e,t){return Ct(this,e,t)},getLineTokens:function(e,t){return Ct(this,tt(e),t,!0)},getTokenTypeAt:function(e){e=lt(this.doc,e);var t,n=mt(this,Ke(this.doc,e.line)),i=0,r=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=i+r>>1;if((a?n[2*a-1]:0)>=o)r=a;else{if(!(n[2*a+1]o&&(e=o,r=!0),i=Ke(this.doc,e)}else i=e;return Gn(this,i,{top:0,left:0},t||"page",n||r).top+(r?this.doc.height-Vt(i):0)},defaultTextHeight:function(){return ri(this.display)},defaultCharWidth:function(){return oi(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,i,r){var o,a,s,l=this.display,u=(e=Qn(this,lt(this.doc,e))).bottom,c=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),l.sizer.appendChild(t),"over"==i)u=e.top;else if("above"==i||"near"==i){var f=Math.max(l.wrapper.clientHeight,this.doc.height),d=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==i||e.bottom+t.offsetHeight>f)&&e.top>t.offsetHeight?u=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=f&&(u=e.bottom),c+t.offsetWidth>d&&(c=d-t.offsetWidth)}t.style.top=u+"px",t.style.left=t.style.right="","right"==r?(c=l.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==r?c=0:"middle"==r&&(c=(l.sizer.clientWidth-t.offsetWidth)/2),t.style.left=c+"px"),n&&(o=this,a={left:c,top:u,right:c+t.offsetWidth,bottom:u+t.offsetHeight},null!=(s=wi(o,a)).scrollTop&&Ni(o,s.scrollTop),null!=s.scrollLeft&&Ui(o,s.scrollLeft))},triggerOnKeyDown:nr(fa),triggerOnKeyPress:nr(ma),triggerOnKeyUp:da,triggerOnMouseDown:nr(ya),execCommand:function(e){if(na.hasOwnProperty(e))return na[e].call(null,this)},triggerElectric:nr((function(e){La(this,e)})),findPosH:function(e,t,n,i){var r=1;t<0&&(r=-1,t=-t);for(var o=lt(this.doc,e),a=0;a0&&a(t.charAt(n-1));)--n;for(;i.5||this.options.lineWrapping)&&ui(this),he(this,"refresh",this)})),swapDoc:nr((function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Nr(this,e),zn(this),this.display.input.reset(),Oi(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,un(this,"swapDoc",this,t),t})),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},Ce(e),e.registerHelper=function(t,i,r){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][i]=r},e.registerGlobalHelper=function(t,i,r,o){e.registerHelper(t,i,o),n[t]._global.push({pred:r,val:o})}}(Ma);var Ka="iter insert remove copy getEditor constructor".split(" ");for(var Qa in Po.prototype)Po.prototype.hasOwnProperty(Qa)&&q(Ka,Qa)<0&&(Ma.prototype[Qa]=function(e){return function(){return e.apply(this.doc,arguments)}}(Po.prototype[Qa]));return Ce(Po),Ma.inputStyles={textarea:Wa,contenteditable:za},Ma.defineMode=function(e){Ma.defaults.mode||"null"==e||(Ma.defaults.mode=e),Ue.apply(this,arguments)},Ma.defineMIME=function(e,t){Be[e]=t},Ma.defineMode("null",(function(){return{token:function(e){return e.skipToEnd()}}})),Ma.defineMIME("text/plain","null"),Ma.defineExtension=function(e,t){Ma.prototype[e]=t},Ma.defineDocExtension=function(e,t){Po.prototype[e]=t},Ma.fromTextArea=function(e,t){if((t=t?B(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=P();t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}function i(){e.value=s.getValue()}var r;if(e.form&&(de(e.form,"submit",i),!t.leaveSubmitMethodAlone)){var o=e.form;r=o.submit;try{var a=o.submit=function(){i(),o.submit=r,o.submit(),o.submit=a}}catch(e){}}t.finishInit=function(n){n.save=i,n.getTextArea=function(){return e},n.toTextArea=function(){n.toTextArea=isNaN,i(),e.parentNode.removeChild(n.getWrapperElement()),e.style.display="",e.form&&(pe(e.form,"submit",i),t.leaveSubmitMethodAlone||"function"!=typeof e.form.submit||(e.form.submit=r))}},e.style.display="none";var s=Ma((function(t){return e.parentNode.insertBefore(t,e.nextSibling)}),t);return s},function(e){e.off=pe,e.on=de,e.wheelEventPixels=xr,e.Doc=Po,e.splitLines=Pe,e.countColumn=U,e.findColumn=W,e.isWordChar=ee,e.Pass=j,e.signal=he,e.Line=Kt,e.changeEnd=kr,e.scrollbarModel=Vi,e.Pos=tt,e.cmpPos=nt,e.modes=Ne,e.mimeModes=Be,e.resolveMode=Fe,e.getMode=qe,e.modeExtensions=ze,e.extendMode=je,e.copyState=He,e.startState=Ge,e.innerMode=Ve,e.commands=na,e.keyMap=Vo,e.keyName=Xo,e.isModifierKey=Qo,e.lookupKey=Ko,e.normalizeKeyMap=Wo,e.StringStream=We,e.SharedTextMarker=Mo,e.TextMarker=Ro,e.LineWidget=So,e.e_preventDefault=be,e.e_stopPropagation=xe,e.e_stop=Se,e.addClass=O,e.contains=I,e.rmClass=R,e.keyNames=qo}(Ma),Ma.version="5.61.1",Ma}()},6876:function(e,t,n){!function(e){"use strict";e.defineMode("javascript",(function(t,n){var i,r,o=t.indentUnit,a=n.statementIndent,s=n.jsonld,l=n.json||s,u=!1!==n.trackScope,c=n.typescript,f=n.wordCharacters||/[\w$\xa1-\uffff]/,d=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),i=e("keyword c"),r=e("keyword d"),o=e("operator"),a={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:n,do:n,try:n,finally:n,return:r,break:r,continue:r,new:e("new"),delete:i,void:i,throw:i,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:o,typeof:o,instanceof:o,true:a,false:a,null:a,undefined:a,NaN:a,Infinity:a,this:e("this"),class:e("class"),super:e("atom"),yield:i,export:e("export"),import:e("import"),extends:i,await:i}}(),m=/[+\-*&%=<>!?|~^@]/,p=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function h(e,t,n){return i=e,r=n,t}function g(e,t){var n,i=e.next();if('"'==i||"'"==i)return t.tokenize=(n=i,function(e,t){var i,r=!1;if(s&&"@"==e.peek()&&e.match(p))return t.tokenize=g,h("jsonld-keyword","meta");for(;null!=(i=e.next())&&(i!=n||r);)r=!r&&"\\"==i;return r||(t.tokenize=g),h("string","string")}),t.tokenize(e,t);if("."==i&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return h("number","number");if("."==i&&e.match(".."))return h("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(i))return h(i);if("="==i&&e.eat(">"))return h("=>","operator");if("0"==i&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return h("number","number");if(/\d/.test(i))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),h("number","number");if("/"==i)return e.eat("*")?(t.tokenize=y,y(e,t)):e.eat("/")?(e.skipToEnd(),h("comment","comment")):et(e,t,1)?(function(e){for(var t,n=!1,i=!1;null!=(t=e.next());){if(!n){if("/"==t&&!i)return;"["==t?i=!0:i&&"]"==t&&(i=!1)}n=!n&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),h("regexp","string-2")):(e.eat("="),h("operator","operator",e.current()));if("`"==i)return t.tokenize=v,v(e,t);if("#"==i&&"!"==e.peek())return e.skipToEnd(),h("meta","meta");if("#"==i&&e.eatWhile(f))return h("variable","property");if("<"==i&&e.match("!--")||"-"==i&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),h("comment","comment");if(m.test(i))return">"==i&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=i&&"="!=i||e.eat("="):/[<>*+\-|&?]/.test(i)&&(e.eat(i),">"==i&&e.eat(i))),"?"==i&&e.eat(".")?h("."):h("operator","operator",e.current());if(f.test(i)){e.eatWhile(f);var r=e.current();if("."!=t.lastType){if(d.propertyIsEnumerable(r)){var o=d[r];return h(o.type,o.style,r)}if("async"==r&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return h("async","keyword",r)}return h("variable","variable",r)}}function y(e,t){for(var n,i=!1;n=e.next();){if("/"==n&&i){t.tokenize=g;break}i="*"==n}return h("comment","comment")}function v(e,t){for(var n,i=!1;null!=(n=e.next());){if(!i&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=g;break}i=!i&&"\\"==n}return h("quasi","string-2",e.current())}var C="([{}])";function b(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(c){var i=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));i&&(n=i.index)}for(var r=0,o=!1,a=n-1;a>=0;--a){var s=e.string.charAt(a),l=C.indexOf(s);if(l>=0&&l<3){if(!r){++a;break}if(0==--r){"("==s&&(o=!0);break}}else if(l>=3&&l<6)++r;else if(f.test(s))o=!0;else if(/["'\/`]/.test(s))for(;;--a){if(0==a)return;if(e.string.charAt(a-1)==s&&"\\"!=e.string.charAt(a-2)){a--;break}}else if(o&&!r){++a;break}}o&&!r&&(t.fatArrowAt=a)}}var x={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function E(e,t,n,i,r,o){this.indented=e,this.column=t,this.type=n,this.prev=r,this.info=o,null!=i&&(this.align=i)}function S(e,t){if(!u)return!1;for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var i=e.context;i;i=i.prev)for(n=i.vars;n;n=n.next)if(n.name==t)return!0}function D(e,t,n,i,r){var o=e.cc;for(A.state=e,A.stream=r,A.marked=null,A.cc=o,A.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((o.length?o.pop():l?H:z)(n,i)){for(;o.length&&o[o.length-1].lex;)o.pop()();return A.marked?A.marked:"variable"==n&&S(e,i)?"variable-2":t}}var A={state:null,column:null,marked:null,cc:null};function R(){for(var e=arguments.length-1;e>=0;e--)A.cc.push(arguments[e])}function k(){return R.apply(null,arguments),!0}function M(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function T(e){var t=A.state;if(A.marked="def",u){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var i=w(e,t.context);if(null!=i)return void(t.context=i)}else if(!M(e,t.localVars))return void(t.localVars=new O(e,t.localVars));n.globalVars&&!M(e,t.globalVars)&&(t.globalVars=new O(e,t.globalVars))}}function w(e,t){if(t){if(t.block){var n=w(e,t.prev);return n?n==t.prev?t:new P(n,t.vars,!0):null}return M(e,t.vars)?t:new P(t.prev,new O(e,t.vars),!1)}return null}function I(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function P(e,t,n){this.prev=e,this.vars=t,this.block=n}function O(e,t){this.name=e,this.next=t}var _=new O("this",new O("arguments",null));function L(){A.state.context=new P(A.state.context,A.state.localVars,!1),A.state.localVars=_}function N(){A.state.context=new P(A.state.context,A.state.localVars,!0),A.state.localVars=null}function B(){A.state.localVars=A.state.context.vars,A.state.context=A.state.context.prev}function U(e,t){var n=function(){var n=A.state,i=n.indented;if("stat"==n.lexical.type)i=n.lexical.indented;else for(var r=n.lexical;r&&")"==r.type&&r.align;r=r.prev)i=r.indented;n.lexical=new E(i,A.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function F(){var e=A.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function q(e){return function t(n){return n==e?k():";"==e||"}"==n||")"==n||"]"==n?R():k(t)}}function z(e,t){return"var"==e?k(U("vardef",t),Ae,q(";"),F):"keyword a"==e?k(U("form"),G,z,F):"keyword b"==e?k(U("form"),z,F):"keyword d"==e?A.stream.match(/^\s*$/,!1)?k():k(U("stat"),K,q(";"),F):"debugger"==e?k(q(";")):"{"==e?k(U("}"),N,ue,F,B):";"==e?k():"if"==e?("else"==A.state.lexical.info&&A.state.cc[A.state.cc.length-1]==F&&A.state.cc.pop()(),k(U("form"),G,z,F,Ie)):"function"==e?k(Le):"for"==e?k(U("form"),N,Pe,z,B,F):"class"==e||c&&"interface"==t?(A.marked="keyword",k(U("form","class"==e?e:t),qe,F)):"variable"==e?c&&"declare"==t?(A.marked="keyword",k(z)):c&&("module"==t||"enum"==t||"type"==t)&&A.stream.match(/^\s*\w/,!1)?(A.marked="keyword","enum"==t?k($e):"type"==t?k(Be,q("operator"),pe,q(";")):k(U("form"),Re,q("{"),U("}"),ue,F,F)):c&&"namespace"==t?(A.marked="keyword",k(U("form"),H,z,F)):c&&"abstract"==t?(A.marked="keyword",k(z)):k(U("stat"),ne):"switch"==e?k(U("form"),G,q("{"),U("}","switch"),N,ue,F,F,B):"case"==e?k(H,q(":")):"default"==e?k(q(":")):"catch"==e?k(U("form"),L,j,z,F,B):"export"==e?k(U("stat"),Ve,F):"import"==e?k(U("stat"),We,F):"async"==e?k(z):"@"==t?k(H,z):R(U("stat"),H,q(";"),F)}function j(e){if("("==e)return k(Ue,q(")"))}function H(e,t){return W(e,t,!1)}function V(e,t){return W(e,t,!0)}function G(e){return"("!=e?R():k(U(")"),K,q(")"),F)}function W(e,t,n){if(A.state.fatArrowAt==A.stream.start){var i=n?Z:$;if("("==e)return k(L,U(")"),se(Ue,")"),F,q("=>"),i,B);if("variable"==e)return R(L,Re,q("=>"),i,B)}var r=n?J:Q;return x.hasOwnProperty(e)?k(r):"function"==e?k(Le,r):"class"==e||c&&"interface"==t?(A.marked="keyword",k(U("form"),Fe,F)):"keyword c"==e||"async"==e?k(n?V:H):"("==e?k(U(")"),K,q(")"),F,r):"operator"==e||"spread"==e?k(n?V:H):"["==e?k(U("]"),Ye,F,r):"{"==e?le(re,"}",null,r):"quasi"==e?R(X,r):"new"==e?k(function(e){return function(t){return"."==t?k(e?te:ee):"variable"==t&&c?k(Ee,e?J:Q):R(e?V:H)}}(n)):k()}function K(e){return e.match(/[;\}\)\],]/)?R():R(H)}function Q(e,t){return","==e?k(K):J(e,t,!1)}function J(e,t,n){var i=0==n?Q:J,r=0==n?H:V;return"=>"==e?k(L,n?Z:$,B):"operator"==e?/\+\+|--/.test(t)||c&&"!"==t?k(i):c&&"<"==t&&A.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?k(U(">"),se(pe,">"),F,i):"?"==t?k(H,q(":"),r):k(r):"quasi"==e?R(X,i):";"!=e?"("==e?le(V,")","call",i):"."==e?k(ie,i):"["==e?k(U("]"),K,q("]"),F,i):c&&"as"==t?(A.marked="keyword",k(pe,i)):"regexp"==e?(A.state.lastType=A.marked="operator",A.stream.backUp(A.stream.pos-A.stream.start-1),k(r)):void 0:void 0}function X(e,t){return"quasi"!=e?R():"${"!=t.slice(t.length-2)?k(X):k(H,Y)}function Y(e){if("}"==e)return A.marked="string-2",A.state.tokenize=v,k(X)}function $(e){return b(A.stream,A.state),R("{"==e?z:H)}function Z(e){return b(A.stream,A.state),R("{"==e?z:V)}function ee(e,t){if("target"==t)return A.marked="keyword",k(Q)}function te(e,t){if("target"==t)return A.marked="keyword",k(J)}function ne(e){return":"==e?k(F,z):R(Q,q(";"),F)}function ie(e){if("variable"==e)return A.marked="property",k()}function re(e,t){return"async"==e?(A.marked="property",k(re)):"variable"==e||"keyword"==A.style?(A.marked="property","get"==t||"set"==t?k(oe):(c&&A.state.fatArrowAt==A.stream.start&&(n=A.stream.match(/^\s*:\s*/,!1))&&(A.state.fatArrowAt=A.stream.pos+n[0].length),k(ae))):"number"==e||"string"==e?(A.marked=s?"property":A.style+" property",k(ae)):"jsonld-keyword"==e?k(ae):c&&I(t)?(A.marked="keyword",k(re)):"["==e?k(H,ce,q("]"),ae):"spread"==e?k(V,ae):"*"==t?(A.marked="keyword",k(re)):":"==e?R(ae):void 0;var n}function oe(e){return"variable"!=e?R(ae):(A.marked="property",k(Le))}function ae(e){return":"==e?k(V):"("==e?R(Le):void 0}function se(e,t,n){function i(r,o){if(n?n.indexOf(r)>-1:","==r){var a=A.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),k((function(n,i){return n==t||i==t?R():R(e)}),i)}return r==t||o==t?k():n&&n.indexOf(";")>-1?R(e):k(q(t))}return function(n,r){return n==t||r==t?k():R(e,i)}}function le(e,t,n){for(var i=3;i"),pe):"quasi"==e?R(ve,xe):void 0}function he(e){if("=>"==e)return k(pe)}function ge(e){return e.match(/[\}\)\]]/)?k():","==e||";"==e?k(ge):R(ye,ge)}function ye(e,t){return"variable"==e||"keyword"==A.style?(A.marked="property",k(ye)):"?"==t||"number"==e||"string"==e?k(ye):":"==e?k(pe):"["==e?k(q("variable"),fe,q("]"),ye):"("==e?R(Ne,ye):e.match(/[;\}\)\],]/)?void 0:k()}function ve(e,t){return"quasi"!=e?R():"${"!=t.slice(t.length-2)?k(ve):k(pe,Ce)}function Ce(e){if("}"==e)return A.marked="string-2",A.state.tokenize=v,k(ve)}function be(e,t){return"variable"==e&&A.stream.match(/^\s*[?:]/,!1)||"?"==t?k(be):":"==e?k(pe):"spread"==e?k(be):R(pe)}function xe(e,t){return"<"==t?k(U(">"),se(pe,">"),F,xe):"|"==t||"."==e||"&"==t?k(pe):"["==e?k(pe,q("]"),xe):"extends"==t||"implements"==t?(A.marked="keyword",k(pe)):"?"==t?k(pe,q(":"),pe):void 0}function Ee(e,t){if("<"==t)return k(U(">"),se(pe,">"),F,xe)}function Se(){return R(pe,De)}function De(e,t){if("="==t)return k(pe)}function Ae(e,t){return"enum"==t?(A.marked="keyword",k($e)):R(Re,ce,Te,we)}function Re(e,t){return c&&I(t)?(A.marked="keyword",k(Re)):"variable"==e?(T(t),k()):"spread"==e?k(Re):"["==e?le(Me,"]"):"{"==e?le(ke,"}"):void 0}function ke(e,t){return"variable"!=e||A.stream.match(/^\s*:/,!1)?("variable"==e&&(A.marked="property"),"spread"==e?k(Re):"}"==e?R():"["==e?k(H,q("]"),q(":"),ke):k(q(":"),Re,Te)):(T(t),k(Te))}function Me(){return R(Re,Te)}function Te(e,t){if("="==t)return k(V)}function we(e){if(","==e)return k(Ae)}function Ie(e,t){if("keyword b"==e&&"else"==t)return k(U("form","else"),z,F)}function Pe(e,t){return"await"==t?k(Pe):"("==e?k(U(")"),Oe,F):void 0}function Oe(e){return"var"==e?k(Ae,_e):"variable"==e?k(_e):R(_e)}function _e(e,t){return")"==e?k():";"==e?k(_e):"in"==t||"of"==t?(A.marked="keyword",k(H,_e)):R(H,_e)}function Le(e,t){return"*"==t?(A.marked="keyword",k(Le)):"variable"==e?(T(t),k(Le)):"("==e?k(L,U(")"),se(Ue,")"),F,de,z,B):c&&"<"==t?k(U(">"),se(Se,">"),F,Le):void 0}function Ne(e,t){return"*"==t?(A.marked="keyword",k(Ne)):"variable"==e?(T(t),k(Ne)):"("==e?k(L,U(")"),se(Ue,")"),F,de,B):c&&"<"==t?k(U(">"),se(Se,">"),F,Ne):void 0}function Be(e,t){return"keyword"==e||"variable"==e?(A.marked="type",k(Be)):"<"==t?k(U(">"),se(Se,">"),F):void 0}function Ue(e,t){return"@"==t&&k(H,Ue),"spread"==e?k(Ue):c&&I(t)?(A.marked="keyword",k(Ue)):c&&"this"==e?k(ce,Te):R(Re,ce,Te)}function Fe(e,t){return"variable"==e?qe(e,t):ze(e,t)}function qe(e,t){if("variable"==e)return T(t),k(ze)}function ze(e,t){return"<"==t?k(U(">"),se(Se,">"),F,ze):"extends"==t||"implements"==t||c&&","==e?("implements"==t&&(A.marked="keyword"),k(c?pe:H,ze)):"{"==e?k(U("}"),je,F):void 0}function je(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||c&&I(t))&&A.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(A.marked="keyword",k(je)):"variable"==e||"keyword"==A.style?(A.marked="property",k(He,je)):"number"==e||"string"==e?k(He,je):"["==e?k(H,ce,q("]"),He,je):"*"==t?(A.marked="keyword",k(je)):c&&"("==e?R(Ne,je):";"==e||","==e?k(je):"}"==e?k():"@"==t?k(H,je):void 0}function He(e,t){if("!"==t)return k(He);if("?"==t)return k(He);if(":"==e)return k(pe,Te);if("="==t)return k(V);var n=A.state.lexical.prev;return R(n&&"interface"==n.info?Ne:Le)}function Ve(e,t){return"*"==t?(A.marked="keyword",k(Xe,q(";"))):"default"==t?(A.marked="keyword",k(H,q(";"))):"{"==e?k(se(Ge,"}"),Xe,q(";")):R(z)}function Ge(e,t){return"as"==t?(A.marked="keyword",k(q("variable"))):"variable"==e?R(V,Ge):void 0}function We(e){return"string"==e?k():"("==e?R(H):"."==e?R(Q):R(Ke,Qe,Xe)}function Ke(e,t){return"{"==e?le(Ke,"}"):("variable"==e&&T(t),"*"==t&&(A.marked="keyword"),k(Je))}function Qe(e){if(","==e)return k(Ke,Qe)}function Je(e,t){if("as"==t)return A.marked="keyword",k(Ke)}function Xe(e,t){if("from"==t)return A.marked="keyword",k(H)}function Ye(e){return"]"==e?k():R(se(V,"]"))}function $e(){return R(U("form"),Re,q("{"),U("}"),se(Ze,"}"),F,F)}function Ze(){return R(Re,Te)}function et(e,t,n){return t.tokenize==g&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return B.lex=!0,F.lex=!0,{startState:function(e){var t={tokenize:g,lastType:"sof",cc:[],lexical:new E((e||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new P(null,null,!1),indented:e||0};return n.globalVars&&"object"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),b(e,t)),t.tokenize!=y&&e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==i?n:(t.lastType="operator"!=i||"++"!=r&&"--"!=r?i:"incdec",D(t,n,i,r,e))},indent:function(t,i){if(t.tokenize==y||t.tokenize==v)return e.Pass;if(t.tokenize!=g)return 0;var r,s=i&&i.charAt(0),l=t.lexical;if(!/^\s*else\b/.test(i))for(var u=t.cc.length-1;u>=0;--u){var c=t.cc[u];if(c==F)l=l.prev;else if(c!=Ie&&c!=B)break}for(;("stat"==l.type||"form"==l.type)&&("}"==s||(r=t.cc[t.cc.length-1])&&(r==Q||r==J)&&!/^[,\.=+\-*:?[\(]/.test(i));)l=l.prev;a&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var f=l.type,d=s==f;return"vardef"==f?l.indented+("operator"==t.lastType||","==t.lastType?l.info.length+1:0):"form"==f&&"{"==s?l.indented:"form"==f?l.indented+o:"stat"==f?l.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||m.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,i)?a||o:0):"switch"!=l.info||d||0==n.doubleIndentSwitch?l.align?l.column+(d?0:1):l.indented+(d?0:o):l.indented+(/^(?:case|default)\b/.test(i)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:s,jsonMode:l,expressionAllowed:et,skipExpression:function(t){D(t,"atom","atom","true",new e.StringStream("",2,null))}}})),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/manifest+json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}(n(4631))},3631:function(e,t,n){!function(e){"use strict";e.defineMode("yaml",(function(){var e=new RegExp("\\b(("+["true","false","on","off","yes","no"].join(")|(")+"))$","i");return{token:function(t,n){var i=t.peek(),r=n.escaped;if(n.escaped=!1,"#"==i&&(0==t.pos||/\s/.test(t.string.charAt(t.pos-1))))return t.skipToEnd(),"comment";if(t.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(n.literal&&t.indentation()>n.keyCol)return t.skipToEnd(),"string";if(n.literal&&(n.literal=!1),t.sol()){if(n.keyCol=0,n.pair=!1,n.pairStart=!1,t.match("---"))return"def";if(t.match("..."))return"def";if(t.match(/\s*-\s+/))return"meta"}if(t.match(/^(\{|\}|\[|\])/))return"{"==i?n.inlinePairs++:"}"==i?n.inlinePairs--:"["==i?n.inlineList++:n.inlineList--,"meta";if(n.inlineList>0&&!r&&","==i)return t.next(),"meta";if(n.inlinePairs>0&&!r&&","==i)return n.keyCol=0,n.pair=!1,n.pairStart=!1,t.next(),"meta";if(n.pairStart){if(t.match(/^\s*(\||\>)\s*/))return n.literal=!0,"meta";if(t.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable-2";if(0==n.inlinePairs&&t.match(/^\s*-?[0-9\.\,]+\s?$/))return"number";if(n.inlinePairs>0&&t.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(t.match(e))return"keyword"}return!n.pair&&t.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(n.pair=!0,n.keyCol=t.indentation(),"atom"):n.pair&&t.match(/^:\s*/)?(n.pairStart=!0,"meta"):(n.pairStart=!1,n.escaped="\\"==i,t.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},lineComment:"#",fold:"indent"}})),e.defineMIME("text/x-yaml","yaml"),e.defineMIME("text/yaml","yaml")}(n(4631))},1240:function(e,t,n){"use strict";var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([e.id,"/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor-mark {\n background-color: rgba(20, 255, 20, 0.5);\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n}\n.cm-animate-fat-cursor {\n width: auto;\n border: 0;\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n background-color: #7e7;\n}\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n","",{version:3,sources:["webpack://./node_modules/codemirror/lib/codemirror.css"],names:[],mappings:"AAAA,WAAW;;AAEX;EACE,gEAAgE;EAChE,sBAAsB;EACtB,aAAa;EACb,YAAY;EACZ,cAAc;AAChB;;AAEA,YAAY;;AAEZ;EACE,cAAc,EAAE,oCAAoC;AACtD;AACA;;EAEE,cAAc,EAAE,kCAAkC;AACpD;;AAEA;EACE,uBAAuB,EAAE,iDAAiD;AAC5E;;AAEA,WAAW;;AAEX;EACE,4BAA4B;EAC5B,yBAAyB;EACzB,mBAAmB;AACrB;AACA,yBAAyB;AACzB;EACE,oBAAoB;EACpB,eAAe;EACf,iBAAiB;EACjB,WAAW;EACX,mBAAmB;AACrB;;AAEA,2BAA2B,YAAY,EAAE;AACzC,kCAAkC,WAAW,EAAE;;AAE/C,WAAW;;AAEX;EACE,4BAA4B;EAC5B,kBAAkB;EAClB,QAAQ;AACV;AACA,6CAA6C;AAC7C;EACE,6BAA6B;AAC/B;AACA;EACE,WAAW;EACX,oBAAoB;EACpB,gBAAgB;AAClB;AACA;EACE,UAAU;AACZ;AACA;EACE,wCAAwC;EACxC,gDAAgD;EAChD,6CAA6C;EAC7C,wCAAwC;AAC1C;AACA;EACE,WAAW;EACX,SAAS;EACT,gDAAgD;EAChD,6CAA6C;EAC7C,wCAAwC;EACxC,sBAAsB;AACxB;AACA;EACE,IAAI;EACJ,MAAM,6BAA6B,EAAE;EACrC,MAAM;AACR;AACA;EACE,IAAI;EACJ,MAAM,6BAA6B,EAAE;EACrC,MAAM;AACR;AACA;EACE,IAAI;EACJ,MAAM,6BAA6B,EAAE;EACrC,MAAM;AACR;;AAEA,8DAA8D;AAC9D,0CAA0C;;AAE1C,UAAU,qBAAqB,EAAE,wBAAwB,EAAE;;AAE3D;EACE,kBAAkB;EAClB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS;EACxC,gBAAgB;AAClB;AACA;EACE,2BAA2B;EAC3B,MAAM,EAAE,SAAS;EACjB,kBAAkB;AACpB;;AAEA,kBAAkB;;AAElB,0BAA0B,WAAW,CAAC;AACtC,yBAAyB,WAAW,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,wBAAwB,iBAAiB,CAAC;AAC1C,QAAQ,kBAAkB,CAAC;AAC3B,UAAU,0BAA0B,CAAC;AACrC,mBAAmB,6BAA6B,CAAC;;AAEjD,2BAA2B,WAAW,CAAC;AACvC,wBAAwB,WAAW,CAAC;AACpC,0BAA0B,WAAW,CAAC;AACtC,uBAAuB,WAAW,CAAC;AACnC;;;4BAG4B;AAC5B,8BAA8B,WAAW,CAAC;AAC1C,sDAAsD,WAAW,CAAC;AAClE,2BAA2B,WAAW,CAAC;AACvC,0BAA0B,WAAW,CAAC;AACtC,4BAA4B,WAAW,CAAC;AACxC,wBAAwB,WAAW,CAAC;AACpC,6BAA6B,WAAW,CAAC;AACzC,2BAA2B,WAAW,CAAC;AACvC,2BAA2B,WAAW,CAAC;AACvC,uBAAuB,WAAW,CAAC;AACnC,6BAA6B,WAAW,CAAC;AACzC,sBAAsB,WAAW,CAAC;AAClC,wBAAwB,WAAW,CAAC;;AAEpC,yBAAyB,WAAW,CAAC;AACrC,iBAAiB,WAAW,CAAC;;AAE7B,wBAAwB,wBAAwB,EAAE;;AAElD,qCAAqC;;AAErC,gDAAgD,WAAW,CAAC;AAC5D,mDAAmD,WAAW,CAAC;AAC/D,0BAA0B,iCAAiC,EAAE;AAC7D,mCAAmC,mBAAmB,CAAC;;AAEvD,SAAS;;AAET;mDACmD;;AAEnD;EACE,kBAAkB;EAClB,gBAAgB;EAChB,iBAAiB;AACnB;;AAEA;EACE,2BAA2B,EAAE,4CAA4C;EACzE,wEAAwE;EACxE,wCAAwC;EACxC,oBAAoB,EAAE,mBAAmB;EACzC,oBAAoB;EACpB,YAAY;EACZ,aAAa,EAAE,mDAAmD;EAClE,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,oCAAoC;AACtC;;AAEA;;0BAE0B;AAC1B;EACE,kBAAkB;EAClB,UAAU;EACV,aAAa;EACb,aAAa;AACf;AACA;EACE,QAAQ,EAAE,MAAM;EAChB,kBAAkB;EAClB,kBAAkB;AACpB;AACA;EACE,SAAS,EAAE,OAAO;EAClB,kBAAkB;EAClB,kBAAkB;AACpB;AACA;EACE,QAAQ,EAAE,SAAS;AACrB;AACA;EACE,OAAO,EAAE,SAAS;AACpB;;AAEA;EACE,kBAAkB,EAAE,OAAO,EAAE,MAAM;EACnC,gBAAgB;EAChB,UAAU;AACZ;AACA;EACE,mBAAmB;EACnB,YAAY;EACZ,qBAAqB;EACrB,mBAAmB;EACnB,oBAAoB;AACtB;AACA;EACE,kBAAkB;EAClB,UAAU;EACV,2BAA2B;EAC3B,uBAAuB;AACzB;AACA;EACE,kBAAkB;EAClB,MAAM,EAAE,SAAS;EACjB,UAAU;AACZ;AACA;EACE,kBAAkB;EAClB,eAAe;EACf,UAAU;AACZ;AACA,yCAAyC,8BAA8B;AACvE,8CAA8C,8BAA8B;;AAE5E;EACE,YAAY;EACZ,eAAe,EAAE,0CAA0C;AAC7D;AACA;;EAEE,+DAA+D;EAC/D,qBAAqB,EAAE,wBAAwB,EAAE,gBAAgB;EACjE,eAAe;EACf,uBAAuB;EACvB,oBAAoB;EACpB,kBAAkB;EAClB,SAAS;EACT,gBAAgB;EAChB,iBAAiB;EACjB,oBAAoB;EACpB,cAAc;EACd,UAAU;EACV,kBAAkB;EAClB,iBAAiB;EACjB,wCAAwC;EACxC,0CAA0C;EAC1C,kCAAkC;AACpC;AACA;;EAEE,qBAAqB;EACrB,qBAAqB;EACrB,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS;EACpC,UAAU;AACZ;;AAEA;EACE,kBAAkB;EAClB,UAAU;EACV,cAAc,EAAE,yDAAyD;AAC3E;;AAEA,oBAAoB;;AAEpB,sBAAsB,cAAc,EAAE;;AAEtC;EACE,aAAa;AACf;;AAEA,iEAAiE;AACjE;;;;;EAKE,4BAA4B;EAC5B,uBAAuB;AACzB;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA;EACE,kBAAkB;EAClB,oBAAoB;AACtB;AACA,0BAA0B,gBAAgB,EAAE;;AAE5C;EACE,kBAAkB;EAClB,kBAAkB;EAClB,UAAU;AACZ;AACA;EACE,mBAAmB;AACrB;;AAEA;EACE,mBAAmB;AACrB;;AAEA,uBAAuB,mBAAmB,EAAE;AAC5C,2CAA2C,mBAAmB,EAAE;AAChE,wBAAwB,iBAAiB,EAAE;AAC3C,6GAA6G,mBAAmB,EAAE;AAClI,4HAA4H,mBAAmB,EAAE;;AAEjJ;EACE,sBAAsB;EACtB,uCAAuC;AACzC;;AAEA,4CAA4C;AAC5C,mBAAmB,mBAAmB,EAAE;;AAExC;EACE,kCAAkC;EAClC;IACE,kBAAkB;EACpB;AACF;;AAEA,oBAAoB;AACpB,0BAA0B,WAAW,EAAE;;AAEvC,iEAAiE;AACjE,+BAA+B,gBAAgB,EAAE",sourcesContent:["/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor-mark {\n background-color: rgba(20, 255, 20, 0.5);\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n}\n.cm-animate-fat-cursor {\n width: auto;\n border: 0;\n -webkit-animation: blink 1.06s steps(1) infinite;\n -moz-animation: blink 1.06s steps(1) infinite;\n animation: blink 1.06s steps(1) infinite;\n background-color: #7e7;\n}\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n"],sourceRoot:""}]),t.Z=a},2559:function(e,t,n){"use strict";var i=n(7537),r=n.n(i),o=n(3645),a=n.n(o)()(r());a.push([e.id,"body {\n padding: 0;\n background-color: #f9f9f9;\n font-family: sans-serif;\n}\n.container {\n margin: 0;\n display: flex;\n flex-direction: column;\n padding-bottom: 30px;\n}\n\n#header {\n padding: 10px 0px;\n}\n#header a {\n font-size: 20px;\n font-weight: 400;\n text-decoration: none;\n}\n\n#pane {\n display: flex;\n flex-direction: row;\n}\n#inputWrapper {\n flex: 1;\n}\n#input {\n margin-top: 3px;\n}\n\n#input .CodeMirror {\n border: 1px solid #ddd;\n height: auto;\n}\n#path {\n font-size: 20px;\n padding: 6px 8px;\n margin: 0;\n margin-bottom: 10px;\n}\n#output {\n flex: 0.3;\n padding: 20px;\n background: #f9f9f9;\n}\n\nh1 {\n margin: 10px;\n}\n\n#footer {\n position: fixed;\n text-align: right;\n bottom: 0px;\n left:0px;\n right: 0px;\n padding: 5px 20px;\n background: #eee;\n opacity: 0.8;\n z-index: 100;\n font-size: 13px;\n border-top: 1px solid #ddd;\n}\n","",{version:3,sources:["webpack://./public/app.css"],names:[],mappings:"AAAA;EACE,UAAU;EACV,yBAAyB;EACzB,uBAAuB;AACzB;AACA;EACE,SAAS;EACT,aAAa;EACb,sBAAsB;EACtB,oBAAoB;AACtB;;AAEA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,OAAO;AACT;AACA;EACE,eAAe;AACjB;;AAEA;EACE,sBAAsB;EACtB,YAAY;AACd;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,SAAS;EACT,mBAAmB;AACrB;AACA;EACE,SAAS;EACT,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,eAAe;EACf,iBAAiB;EACjB,WAAW;EACX,QAAQ;EACR,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,YAAY;EACZ,YAAY;EACZ,eAAe;EACf,0BAA0B;AAC5B",sourcesContent:["body {\n padding: 0;\n background-color: #f9f9f9;\n font-family: sans-serif;\n}\n.container {\n margin: 0;\n display: flex;\n flex-direction: column;\n padding-bottom: 30px;\n}\n\n#header {\n padding: 10px 0px;\n}\n#header a {\n font-size: 20px;\n font-weight: 400;\n text-decoration: none;\n}\n\n#pane {\n display: flex;\n flex-direction: row;\n}\n#inputWrapper {\n flex: 1;\n}\n#input {\n margin-top: 3px;\n}\n\n#input .CodeMirror {\n border: 1px solid #ddd;\n height: auto;\n}\n#path {\n font-size: 20px;\n padding: 6px 8px;\n margin: 0;\n margin-bottom: 10px;\n}\n#output {\n flex: 0.3;\n padding: 20px;\n background: #f9f9f9;\n}\n\nh1 {\n margin: 10px;\n}\n\n#footer {\n position: fixed;\n text-align: right;\n bottom: 0px;\n left:0px;\n right: 0px;\n padding: 5px 20px;\n background: #eee;\n opacity: 0.8;\n z-index: 100;\n font-size: 13px;\n border-top: 1px solid #ddd;\n}\n"],sourceRoot:""}]),t.Z=a},3645:function(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",i=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),i&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),i&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,i,r,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(i)for(var s=0;s0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=o),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),r&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=r):c[4]="".concat(r)),t.push(c))}},t}},7537:function(e){"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(i),o="/*# ".concat(r," */");return[t].concat([o]).join("\n")}return[t].join("\n")}},1072:function(e){var t;t=function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={exports:{},id:i,loaded:!1};return e[i].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(1),r=n(3),o=n(8),a=n(15);function s(e,t,n){var a=null,s=function(e,t){n&&n(e,t),a&&a.visit(e,t)},l="function"==typeof n?s:null,u=!1;if(t){u="boolean"==typeof t.comment&&t.comment;var c="boolean"==typeof t.attachComment&&t.attachComment;(u||c)&&((a=new i.CommentHandler).attach=c,t.comment=!0,l=s)}var f,d=!1;t&&"string"==typeof t.sourceType&&(d="module"===t.sourceType),f=t&&"boolean"==typeof t.jsx&&t.jsx?new r.JSXParser(e,t,l):new o.Parser(e,t,l);var m=d?f.parseModule():f.parseScript();return u&&a&&(m.comments=a.comments),f.config.tokens&&(m.tokens=f.tokens),f.config.tolerant&&(m.errors=f.errorHandler.errors),m}t.parse=s,t.parseModule=function(e,t,n){var i=t||{};return i.sourceType="module",s(e,i,n)},t.parseScript=function(e,t,n){var i=t||{};return i.sourceType="script",s(e,i,n)},t.tokenize=function(e,t,n){var i,r=new a.Tokenizer(e,t);i=[];try{for(;;){var o=r.getNextToken();if(!o)break;n&&(o=n(o)),i.push(o)}}catch(e){r.errorHandler.tolerate(e)}return r.errorHandler.tolerant&&(i.errors=r.errors()),i};var l=n(2);t.Syntax=l.Syntax,t.version="4.0.1"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),r=function(){function e(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return e.prototype.insertInnerComments=function(e,t){if(e.type===i.Syntax.BlockStatement&&0===e.body.length){for(var n=[],r=this.leading.length-1;r>=0;--r){var o=this.leading[r];t.end.offset>=o.start&&(n.unshift(o.comment),this.leading.splice(r,1),this.trailing.splice(r,1))}n.length&&(e.innerComments=n)}},e.prototype.findTrailingComments=function(e){var t=[];if(this.trailing.length>0){for(var n=this.trailing.length-1;n>=0;--n){var i=this.trailing[n];i.start>=e.end.offset&&t.unshift(i.comment)}return this.trailing.length=0,t}var r=this.stack[this.stack.length-1];if(r&&r.node.trailingComments){var o=r.node.trailingComments[0];o&&o.range[0]>=e.end.offset&&(t=r.node.trailingComments,delete r.node.trailingComments)}return t},e.prototype.findLeadingComments=function(e){for(var t,n=[];this.stack.length>0&&(o=this.stack[this.stack.length-1])&&o.start>=e.start.offset;)t=o.node,this.stack.pop();if(t){for(var i=(t.leadingComments?t.leadingComments.length:0)-1;i>=0;--i){var r=t.leadingComments[i];r.range[1]<=e.start.offset&&(n.unshift(r),t.leadingComments.splice(i,1))}return t.leadingComments&&0===t.leadingComments.length&&delete t.leadingComments,n}for(i=this.leading.length-1;i>=0;--i){var o;(o=this.leading[i]).start<=e.start.offset&&(n.unshift(o.comment),this.leading.splice(i,1))}return n},e.prototype.visitNode=function(e,t){if(!(e.type===i.Syntax.Program&&e.body.length>0)){this.insertInnerComments(e,t);var n=this.findTrailingComments(t),r=this.findLeadingComments(t);r.length>0&&(e.leadingComments=r),n.length>0&&(e.trailingComments=n),this.stack.push({node:e,start:t.start.offset})}},e.prototype.visitComment=function(e,t){var n="L"===e.type[0]?"Line":"Block",i={type:n,value:e.value};if(e.range&&(i.range=e.range),e.loc&&(i.loc=e.loc),this.comments.push(i),this.attach){var r={comment:{type:n,value:e.value,range:[t.start.offset,t.end.offset]},start:t.start.offset};e.loc&&(r.comment.loc=e.loc),e.type=n,this.leading.push(r),this.trailing.push(r)}},e.prototype.visit=function(e,t){"LineComment"===e.type||"BlockComment"===e.type?this.visitComment(e,t):this.attach&&this.visitNode(e,t)},e}();t.CommentHandler=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,t,n){"use strict";var i,r=this&&this.__extends||(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(4),a=n(5),s=n(6),l=n(7),u=n(8),c=n(13),f=n(14);function d(e){var t;switch(e.type){case s.JSXSyntax.JSXIdentifier:t=e.name;break;case s.JSXSyntax.JSXNamespacedName:var n=e;t=d(n.namespace)+":"+d(n.name);break;case s.JSXSyntax.JSXMemberExpression:var i=e;t=d(i.object)+"."+d(i.property)}return t}c.TokenName[100]="JSXIdentifier",c.TokenName[101]="JSXText";var m=function(e){function t(t,n,i){return e.call(this,t,n,i)||this}return r(t,e),t.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)},t.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},t.prototype.finishJSX=function(){this.nextToken()},t.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()},t.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.scanXHTMLEntity=function(e){for(var t="&",n=!0,i=!1,r=!1,a=!1;!this.scanner.eof()&&n&&!i;){var s=this.scanner.source[this.scanner.index];if(s===e)break;if(i=";"===s,t+=s,++this.scanner.index,!i)switch(t.length){case 2:r="#"===s;break;case 3:r&&(n=(a="x"===s)||o.Character.isDecimalDigit(s.charCodeAt(0)),r=r&&!a);break;default:n=(n=n&&!(r&&!o.Character.isDecimalDigit(s.charCodeAt(0))))&&!(a&&!o.Character.isHexDigit(s.charCodeAt(0)))}}if(n&&i&&t.length>2){var l=t.substr(1,t.length-2);r&&l.length>1?t=String.fromCharCode(parseInt(l.substr(1),10)):a&&l.length>2?t=String.fromCharCode(parseInt("0"+l.substr(1),16)):r||a||!f.XHTMLEntities[l]||(t=f.XHTMLEntities[l])}return t},t.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(60===e||62===e||47===e||58===e||61===e||123===e||125===e)return{type:7,value:s=this.scanner.source[this.scanner.index++],lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index};if(34===e||39===e){for(var t=this.scanner.index,n=this.scanner.source[this.scanner.index++],i="";!this.scanner.eof()&&(l=this.scanner.source[this.scanner.index++])!==n;)i+="&"===l?this.scanXHTMLEntity(n):l;return{type:8,value:i,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(46===e){var r=this.scanner.source.charCodeAt(this.scanner.index+1),a=this.scanner.source.charCodeAt(this.scanner.index+2),s=46===r&&46===a?"...":".";return t=this.scanner.index,this.scanner.index+=s.length,{type:7,value:s,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(96===e)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(o.Character.isIdentifierStart(e)&&92!==e){for(t=this.scanner.index,++this.scanner.index;!this.scanner.eof();){var l=this.scanner.source.charCodeAt(this.scanner.index);if(o.Character.isIdentifierPart(l)&&92!==l)++this.scanner.index;else{if(45!==l)break;++this.scanner.index}}return{type:100,value:this.scanner.source.slice(t,this.scanner.index),lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()},t.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(e)),e},t.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var e=this.scanner.index,t="";!this.scanner.eof();){var n=this.scanner.source[this.scanner.index];if("{"===n||"<"===n)break;++this.scanner.index,t+=n,o.Character.isLineTerminator(n.charCodeAt(0))&&(++this.scanner.lineNumber,"\r"===n&&"\n"===this.scanner.source[this.scanner.index]&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var i={type:101,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};return t.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(i)),i},t.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.lexJSX();return this.scanner.restoreState(e),t},t.prototype.expectJSX=function(e){var t=this.nextJSXToken();7===t.type&&t.value===e||this.throwUnexpectedToken(t)},t.prototype.matchJSX=function(e){var t=this.peekJSXToken();return 7===t.type&&t.value===e},t.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode(),t=this.nextJSXToken();return 100!==t.type&&this.throwUnexpectedToken(t),this.finalize(e,new a.JSXIdentifier(t.value))},t.prototype.parseJSXElementName=function(){var e=this.createJSXNode(),t=this.parseJSXIdentifier();if(this.matchJSX(":")){var n=t;this.expectJSX(":");var i=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXNamespacedName(n,i))}else if(this.matchJSX("."))for(;this.matchJSX(".");){var r=t;this.expectJSX(".");var o=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXMemberExpression(r,o))}return t},t.prototype.parseJSXAttributeName=function(){var e,t=this.createJSXNode(),n=this.parseJSXIdentifier();if(this.matchJSX(":")){var i=n;this.expectJSX(":");var r=this.parseJSXIdentifier();e=this.finalize(t,new a.JSXNamespacedName(i,r))}else e=n;return e},t.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode(),t=this.nextJSXToken();8!==t.type&&this.throwUnexpectedToken(t);var n=this.getTokenRaw(t);return this.finalize(e,new l.Literal(t.value,n))},t.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.finishJSX(),this.match("}")&&this.tolerateError("JSX attributes must only be assigned a non-empty expression");var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXExpressionContainer(t))},t.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},t.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode(),t=this.parseJSXAttributeName(),n=null;return this.matchJSX("=")&&(this.expectJSX("="),n=this.parseJSXAttributeValue()),this.finalize(e,new a.JSXAttribute(t,n))},t.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.expectJSX("..."),this.finishJSX();var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new a.JSXSpreadAttribute(t))},t.prototype.parseJSXAttributes=function(){for(var e=[];!this.matchJSX("/")&&!this.matchJSX(">");){var t=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(t)}return e},t.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX("<");var t=this.parseJSXElementName(),n=this.parseJSXAttributes(),i=this.matchJSX("/");return i&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new a.JSXOpeningElement(t,i,n))},t.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX("/")){this.expectJSX("/");var t=this.parseJSXElementName();return this.expectJSX(">"),this.finalize(e,new a.JSXClosingElement(t))}var n=this.parseJSXElementName(),i=this.parseJSXAttributes(),r=this.matchJSX("/");return r&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new a.JSXOpeningElement(n,r,i))},t.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(e,new a.JSXEmptyExpression)},t.prototype.parseJSXExpressionContainer=function(){var e,t=this.createJSXNode();return this.expectJSX("{"),this.matchJSX("}")?(e=this.parseJSXEmptyExpression(),this.expectJSX("}")):(this.finishJSX(),e=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(t,new a.JSXExpressionContainer(e))},t.prototype.parseJSXChildren=function(){for(var e=[];!this.scanner.eof();){var t=this.createJSXChildNode(),n=this.nextJSXText();if(n.start0))break;o=this.finalize(e.node,new a.JSXElement(e.opening,e.children,e.closing)),(e=t[t.length-1]).children.push(o),t.pop()}}return e},t.prototype.parseJSXElement=function(){var e=this.createJSXNode(),t=this.parseJSXOpeningElement(),n=[],i=null;if(!t.selfClosing){var r=this.parseComplexJSXElement({node:e,opening:t,closing:i,children:n});n=r.children,i=r.closing}return this.finalize(e,new a.JSXElement(t,n,i))},t.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var e=this.parseJSXElement();return this.finishJSX(),e},t.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match("<")},t}(u.Parser);t.JSXParser=m},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};t.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&n.NonAsciiIdentifierStart.test(t.Character.fromCodePoint(e))},isIdentifierPart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&n.NonAsciiIdentifierPart.test(t.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(6);t.JSXClosingElement=function(e){this.type=i.JSXSyntax.JSXClosingElement,this.name=e};t.JSXElement=function(e,t,n){this.type=i.JSXSyntax.JSXElement,this.openingElement=e,this.children=t,this.closingElement=n};t.JSXEmptyExpression=function(){this.type=i.JSXSyntax.JSXEmptyExpression};t.JSXExpressionContainer=function(e){this.type=i.JSXSyntax.JSXExpressionContainer,this.expression=e};t.JSXIdentifier=function(e){this.type=i.JSXSyntax.JSXIdentifier,this.name=e};t.JSXMemberExpression=function(e,t){this.type=i.JSXSyntax.JSXMemberExpression,this.object=e,this.property=t};t.JSXAttribute=function(e,t){this.type=i.JSXSyntax.JSXAttribute,this.name=e,this.value=t};t.JSXNamespacedName=function(e,t){this.type=i.JSXSyntax.JSXNamespacedName,this.namespace=e,this.name=t};t.JSXOpeningElement=function(e,t,n){this.type=i.JSXSyntax.JSXOpeningElement,this.name=e,this.selfClosing=t,this.attributes=n};t.JSXSpreadAttribute=function(e){this.type=i.JSXSyntax.JSXSpreadAttribute,this.argument=e};t.JSXText=function(e,t){this.type=i.JSXSyntax.JSXText,this.value=e,this.raw=t}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(2);t.ArrayExpression=function(e){this.type=i.Syntax.ArrayExpression,this.elements=e};t.ArrayPattern=function(e){this.type=i.Syntax.ArrayPattern,this.elements=e};t.ArrowFunctionExpression=function(e,t,n){this.type=i.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!1};t.AssignmentExpression=function(e,t,n){this.type=i.Syntax.AssignmentExpression,this.operator=e,this.left=t,this.right=n};t.AssignmentPattern=function(e,t){this.type=i.Syntax.AssignmentPattern,this.left=e,this.right=t};t.AsyncArrowFunctionExpression=function(e,t,n){this.type=i.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!0};t.AsyncFunctionDeclaration=function(e,t,n){this.type=i.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionExpression=function(e,t,n){this.type=i.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AwaitExpression=function(e){this.type=i.Syntax.AwaitExpression,this.argument=e};t.BinaryExpression=function(e,t,n){var r="||"===e||"&&"===e;this.type=r?i.Syntax.LogicalExpression:i.Syntax.BinaryExpression,this.operator=e,this.left=t,this.right=n};t.BlockStatement=function(e){this.type=i.Syntax.BlockStatement,this.body=e};t.BreakStatement=function(e){this.type=i.Syntax.BreakStatement,this.label=e};t.CallExpression=function(e,t){this.type=i.Syntax.CallExpression,this.callee=e,this.arguments=t};t.CatchClause=function(e,t){this.type=i.Syntax.CatchClause,this.param=e,this.body=t};t.ClassBody=function(e){this.type=i.Syntax.ClassBody,this.body=e};t.ClassDeclaration=function(e,t,n){this.type=i.Syntax.ClassDeclaration,this.id=e,this.superClass=t,this.body=n};t.ClassExpression=function(e,t,n){this.type=i.Syntax.ClassExpression,this.id=e,this.superClass=t,this.body=n};t.ComputedMemberExpression=function(e,t){this.type=i.Syntax.MemberExpression,this.computed=!0,this.object=e,this.property=t};t.ConditionalExpression=function(e,t,n){this.type=i.Syntax.ConditionalExpression,this.test=e,this.consequent=t,this.alternate=n};t.ContinueStatement=function(e){this.type=i.Syntax.ContinueStatement,this.label=e};t.DebuggerStatement=function(){this.type=i.Syntax.DebuggerStatement};t.Directive=function(e,t){this.type=i.Syntax.ExpressionStatement,this.expression=e,this.directive=t};t.DoWhileStatement=function(e,t){this.type=i.Syntax.DoWhileStatement,this.body=e,this.test=t};t.EmptyStatement=function(){this.type=i.Syntax.EmptyStatement};t.ExportAllDeclaration=function(e){this.type=i.Syntax.ExportAllDeclaration,this.source=e};t.ExportDefaultDeclaration=function(e){this.type=i.Syntax.ExportDefaultDeclaration,this.declaration=e};t.ExportNamedDeclaration=function(e,t,n){this.type=i.Syntax.ExportNamedDeclaration,this.declaration=e,this.specifiers=t,this.source=n};t.ExportSpecifier=function(e,t){this.type=i.Syntax.ExportSpecifier,this.exported=t,this.local=e};t.ExpressionStatement=function(e){this.type=i.Syntax.ExpressionStatement,this.expression=e};t.ForInStatement=function(e,t,n){this.type=i.Syntax.ForInStatement,this.left=e,this.right=t,this.body=n,this.each=!1};t.ForOfStatement=function(e,t,n){this.type=i.Syntax.ForOfStatement,this.left=e,this.right=t,this.body=n};t.ForStatement=function(e,t,n,r){this.type=i.Syntax.ForStatement,this.init=e,this.test=t,this.update=n,this.body=r};t.FunctionDeclaration=function(e,t,n,r){this.type=i.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=r,this.expression=!1,this.async=!1};t.FunctionExpression=function(e,t,n,r){this.type=i.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=r,this.expression=!1,this.async=!1};t.Identifier=function(e){this.type=i.Syntax.Identifier,this.name=e};t.IfStatement=function(e,t,n){this.type=i.Syntax.IfStatement,this.test=e,this.consequent=t,this.alternate=n};t.ImportDeclaration=function(e,t){this.type=i.Syntax.ImportDeclaration,this.specifiers=e,this.source=t};t.ImportDefaultSpecifier=function(e){this.type=i.Syntax.ImportDefaultSpecifier,this.local=e};t.ImportNamespaceSpecifier=function(e){this.type=i.Syntax.ImportNamespaceSpecifier,this.local=e};t.ImportSpecifier=function(e,t){this.type=i.Syntax.ImportSpecifier,this.local=e,this.imported=t};t.LabeledStatement=function(e,t){this.type=i.Syntax.LabeledStatement,this.label=e,this.body=t};t.Literal=function(e,t){this.type=i.Syntax.Literal,this.value=e,this.raw=t};t.MetaProperty=function(e,t){this.type=i.Syntax.MetaProperty,this.meta=e,this.property=t};t.MethodDefinition=function(e,t,n,r,o){this.type=i.Syntax.MethodDefinition,this.key=e,this.computed=t,this.value=n,this.kind=r,this.static=o};t.Module=function(e){this.type=i.Syntax.Program,this.body=e,this.sourceType="module"};t.NewExpression=function(e,t){this.type=i.Syntax.NewExpression,this.callee=e,this.arguments=t};t.ObjectExpression=function(e){this.type=i.Syntax.ObjectExpression,this.properties=e};t.ObjectPattern=function(e){this.type=i.Syntax.ObjectPattern,this.properties=e};t.Property=function(e,t,n,r,o,a){this.type=i.Syntax.Property,this.key=t,this.computed=n,this.value=r,this.kind=e,this.method=o,this.shorthand=a};t.RegexLiteral=function(e,t,n,r){this.type=i.Syntax.Literal,this.value=e,this.raw=t,this.regex={pattern:n,flags:r}};t.RestElement=function(e){this.type=i.Syntax.RestElement,this.argument=e};t.ReturnStatement=function(e){this.type=i.Syntax.ReturnStatement,this.argument=e};t.Script=function(e){this.type=i.Syntax.Program,this.body=e,this.sourceType="script"};t.SequenceExpression=function(e){this.type=i.Syntax.SequenceExpression,this.expressions=e};t.SpreadElement=function(e){this.type=i.Syntax.SpreadElement,this.argument=e};t.StaticMemberExpression=function(e,t){this.type=i.Syntax.MemberExpression,this.computed=!1,this.object=e,this.property=t};t.Super=function(){this.type=i.Syntax.Super};t.SwitchCase=function(e,t){this.type=i.Syntax.SwitchCase,this.test=e,this.consequent=t};t.SwitchStatement=function(e,t){this.type=i.Syntax.SwitchStatement,this.discriminant=e,this.cases=t};t.TaggedTemplateExpression=function(e,t){this.type=i.Syntax.TaggedTemplateExpression,this.tag=e,this.quasi=t};t.TemplateElement=function(e,t){this.type=i.Syntax.TemplateElement,this.value=e,this.tail=t};t.TemplateLiteral=function(e,t){this.type=i.Syntax.TemplateLiteral,this.quasis=e,this.expressions=t};t.ThisExpression=function(){this.type=i.Syntax.ThisExpression};t.ThrowStatement=function(e){this.type=i.Syntax.ThrowStatement,this.argument=e};t.TryStatement=function(e,t,n){this.type=i.Syntax.TryStatement,this.block=e,this.handler=t,this.finalizer=n};t.UnaryExpression=function(e,t){this.type=i.Syntax.UnaryExpression,this.operator=e,this.argument=t,this.prefix=!0};t.UpdateExpression=function(e,t,n){this.type=i.Syntax.UpdateExpression,this.operator=e,this.argument=t,this.prefix=n};t.VariableDeclaration=function(e,t){this.type=i.Syntax.VariableDeclaration,this.declarations=e,this.kind=t};t.VariableDeclarator=function(e,t){this.type=i.Syntax.VariableDeclarator,this.id=e,this.init=t};t.WhileStatement=function(e,t){this.type=i.Syntax.WhileStatement,this.test=e,this.body=t};t.WithStatement=function(e,t){this.type=i.Syntax.WithStatement,this.object=e,this.body=t};t.YieldExpression=function(e,t){this.type=i.Syntax.YieldExpression,this.argument=e,this.delegate=t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(9),r=n(10),o=n(11),a=n(7),s=n(12),l=n(2),u=n(13),c="ArrowParameterPlaceHolder",f=function(){function e(e,t,n){void 0===t&&(t={}),this.config={range:"boolean"==typeof t.range&&t.range,loc:"boolean"==typeof t.loc&&t.loc,source:null,tokens:"boolean"==typeof t.tokens&&t.tokens,comment:"boolean"==typeof t.comment&&t.comment,tolerant:"boolean"==typeof t.tolerant&&t.tolerant},this.config.loc&&t.source&&null!==t.source&&(this.config.source=String(t.source)),this.delegate=n,this.errorHandler=new r.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new s.Scanner(e,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11},this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return e.prototype.throwError=function(e){for(var t=[],n=1;n0&&this.delegate)for(var t=0;t>="===e||">>>="===e||"&="===e||"^="===e||"|="===e},e.prototype.isolateCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var r=e.call(this);return null!==this.context.firstCoverInitializedNameError&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=t,this.context.isAssignmentTarget=n,this.context.firstCoverInitializedNameError=i,r},e.prototype.inheritCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var r=e.call(this);return this.context.isBindingElement=this.context.isBindingElement&&t,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&n,this.context.firstCoverInitializedNameError=i||this.context.firstCoverInitializedNameError,r},e.prototype.consumeSemicolon=function(){this.match(";")?this.nextToken():this.hasLineTerminator||(2===this.lookahead.type||this.match("}")||this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},e.prototype.parsePrimaryExpression=function(){var e,t,n,i=this.createNode();switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&"await"===this.lookahead.value&&this.tolerateUnexpectedToken(this.lookahead),e=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(i,new a.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,o.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.Literal(t.value,n));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.Literal("true"===t.value,n));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.Literal(null,n));break;case 10:e=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=!1,e=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":e=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":e=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,t=this.nextRegexToken(),n=this.getTokenRaw(t),e=this.finalize(i,new a.RegexLiteral(t.regex,n,t.pattern,t.flags));break;default:e=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")?e=this.parseIdentifierName():!this.context.strict&&this.matchKeyword("let")?e=this.finalize(i,new a.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword("function")?e=this.parseFunctionExpression():this.matchKeyword("this")?(this.nextToken(),e=this.finalize(i,new a.ThisExpression)):e=this.matchKeyword("class")?this.parseClassExpression():this.throwUnexpectedToken(this.nextToken()));break;default:e=this.throwUnexpectedToken(this.nextToken())}return e},e.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect("...");var t=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new a.SpreadElement(t))},e.prototype.parseArrayInitializer=function(){var e=this.createNode(),t=[];for(this.expect("[");!this.match("]");)if(this.match(","))this.nextToken(),t.push(null);else if(this.match("...")){var n=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),t.push(n)}else t.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(e,new a.ArrayExpression(t))},e.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var t=this.context.strict,n=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var i=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&e.firstRestricted&&this.tolerateUnexpectedToken(e.firstRestricted,e.message),this.context.strict&&e.stricted&&this.tolerateUnexpectedToken(e.stricted,e.message),this.context.strict=t,this.context.allowStrictDirective=n,i},e.prototype.parsePropertyMethodFunction=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters(),i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!1))},e.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode(),t=this.context.allowYield,n=this.context.await;this.context.allowYield=!1,this.context.await=!0;var i=this.parseFormalParameters(),r=this.parsePropertyMethod(i);return this.context.allowYield=t,this.context.await=n,this.finalize(e,new a.AsyncFunctionExpression(null,i.params,r))},e.prototype.parseObjectPropertyKey=function(){var e,t=this.createNode(),n=this.nextToken();switch(n.type){case 8:case 6:this.context.strict&&n.octal&&this.tolerateUnexpectedToken(n,o.Messages.StrictOctalLiteral);var i=this.getTokenRaw(n);e=this.finalize(t,new a.Literal(n.value,i));break;case 3:case 1:case 5:case 4:e=this.finalize(t,new a.Identifier(n.value));break;case 7:"["===n.value?(e=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):e=this.throwUnexpectedToken(n);break;default:e=this.throwUnexpectedToken(n)}return e},e.prototype.isPropertyKey=function(e,t){return e.type===l.Syntax.Identifier&&e.name===t||e.type===l.Syntax.Literal&&e.value===t},e.prototype.parseObjectProperty=function(e){var t,n=this.createNode(),i=this.lookahead,r=null,s=null,l=!1,u=!1,c=!1,f=!1;if(3===i.type){var d=i.value;this.nextToken(),l=this.match("["),r=(f=!(this.hasLineTerminator||"async"!==d||this.match(":")||this.match("(")||this.match("*")||this.match(",")))?this.parseObjectPropertyKey():this.finalize(n,new a.Identifier(d))}else this.match("*")?this.nextToken():(l=this.match("["),r=this.parseObjectPropertyKey());var m=this.qualifiedPropertyName(this.lookahead);if(3===i.type&&!f&&"get"===i.value&&m)t="get",l=this.match("["),r=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod();else if(3===i.type&&!f&&"set"===i.value&&m)t="set",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseSetterMethod();else if(7===i.type&&"*"===i.value&&m)t="init",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),u=!0;else if(r||this.throwUnexpectedToken(this.lookahead),t="init",this.match(":")&&!f)!l&&this.isPropertyKey(r,"__proto__")&&(e.value&&this.tolerateError(o.Messages.DuplicateProtoProperty),e.value=!0),this.nextToken(),s=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match("("))s=f?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),u=!0;else if(3===i.type)if(d=this.finalize(n,new a.Identifier(i.value)),this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),c=!0;var p=this.isolateCoverGrammar(this.parseAssignmentExpression);s=this.finalize(n,new a.AssignmentPattern(d,p))}else c=!0,s=d;else this.throwUnexpectedToken(this.nextToken());return this.finalize(n,new a.Property(t,r,l,s,u,c))},e.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");for(var t=[],n={value:!1};!this.match("}");)t.push(this.parseObjectProperty(n)),this.match("}")||this.expectCommaSeparator();return this.expect("}"),this.finalize(e,new a.ObjectExpression(t))},e.prototype.parseTemplateHead=function(){i.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode(),t=this.nextToken(),n=t.value,r=t.cooked;return this.finalize(e,new a.TemplateElement({raw:n,cooked:r},t.tail))},e.prototype.parseTemplateElement=function(){10!==this.lookahead.type&&this.throwUnexpectedToken();var e=this.createNode(),t=this.nextToken(),n=t.value,i=t.cooked;return this.finalize(e,new a.TemplateElement({raw:n,cooked:i},t.tail))},e.prototype.parseTemplateLiteral=function(){var e=this.createNode(),t=[],n=[],i=this.parseTemplateHead();for(n.push(i);!i.tail;)t.push(this.parseExpression()),i=this.parseTemplateElement(),n.push(i);return this.finalize(e,new a.TemplateLiteral(n,t))},e.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case l.Syntax.Identifier:case l.Syntax.MemberExpression:case l.Syntax.RestElement:case l.Syntax.AssignmentPattern:break;case l.Syntax.SpreadElement:e.type=l.Syntax.RestElement,this.reinterpretExpressionAsPattern(e.argument);break;case l.Syntax.ArrayExpression:e.type=l.Syntax.ArrayPattern;for(var t=0;t")||this.expect("=>"),e={type:c,params:[],async:!1};else{var t=this.lookahead,n=[];if(this.match("..."))e=this.parseRestElement(n),this.expect(")"),this.match("=>")||this.expect("=>"),e={type:c,params:[e],async:!1};else{var i=!1;if(this.context.isBindingElement=!0,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(",")){var r=[];for(this.context.isAssignmentTarget=!1,r.push(e);2!==this.lookahead.type&&this.match(",");){if(this.nextToken(),this.match(")")){this.nextToken();for(var o=0;o")||this.expect("=>"),this.context.isBindingElement=!1,o=0;o")&&(e.type===l.Syntax.Identifier&&"yield"===e.name&&(i=!0,e={type:c,params:[e],async:!1}),!i)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),e.type===l.Syntax.SequenceExpression)for(o=0;o")){for(var l=0;l0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var r=[e,this.lookahead],o=t,s=this.isolateCoverGrammar(this.parseExponentiationExpression),l=[o,n.value,s],u=[i];!((i=this.binaryPrecedence(this.lookahead))<=0);){for(;l.length>2&&i<=u[u.length-1];){s=l.pop();var c=l.pop();u.pop(),o=l.pop(),r.pop();var f=this.startNode(r[r.length-1]);l.push(this.finalize(f,new a.BinaryExpression(c,o,s)))}l.push(this.nextToken().value),u.push(i),r.push(this.lookahead),l.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var d=l.length-1;t=l[d];for(var m=r.pop();d>1;){var p=r.pop(),h=m&&m.lineStart;f=this.startNode(p,h),c=l[d-1],t=this.finalize(f,new a.BinaryExpression(c,l[d-2],t)),d-=2,m=p}}return t},e.prototype.parseConditionalExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var n=this.context.allowIn;this.context.allowIn=!0;var i=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=n,this.expect(":");var r=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new a.ConditionalExpression(t,i,r)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return t},e.prototype.checkPatternParam=function(e,t){switch(t.type){case l.Syntax.Identifier:this.validateParam(e,t,t.name);break;case l.Syntax.RestElement:this.checkPatternParam(e,t.argument);break;case l.Syntax.AssignmentPattern:this.checkPatternParam(e,t.left);break;case l.Syntax.ArrayPattern:for(var n=0;n")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var r=e.async,s=this.reinterpretAsCoverFormalsList(e);if(s){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var u=this.context.strict,f=this.context.allowStrictDirective;this.context.allowStrictDirective=s.simple;var d=this.context.allowYield,m=this.context.await;this.context.allowYield=!0,this.context.await=r;var p=this.startNode(t);this.expect("=>");var h=void 0;if(this.match("{")){var g=this.context.allowIn;this.context.allowIn=!0,h=this.parseFunctionSourceElements(),this.context.allowIn=g}else h=this.isolateCoverGrammar(this.parseAssignmentExpression);var y=h.type!==l.Syntax.BlockStatement;this.context.strict&&s.firstRestricted&&this.throwUnexpectedToken(s.firstRestricted,s.message),this.context.strict&&s.stricted&&this.tolerateUnexpectedToken(s.stricted,s.message),e=r?this.finalize(p,new a.AsyncArrowFunctionExpression(s.params,h,y)):this.finalize(p,new a.ArrowFunctionExpression(s.params,h,y)),this.context.strict=u,this.context.allowStrictDirective=f,this.context.allowYield=d,this.context.await=m}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(o.Messages.InvalidLHSInAssignment),this.context.strict&&e.type===l.Syntax.Identifier){var v=e;this.scanner.isRestrictedWord(v.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(v.name)&&this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord)}this.match("=")?this.reinterpretExpressionAsPattern(e):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1);var C=(n=this.nextToken()).value,b=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new a.AssignmentExpression(C,e,b)),this.context.firstCoverInitializedNameError=null}}return e},e.prototype.parseExpression=function(){var e=this.lookahead,t=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var n=[];for(n.push(t);2!==this.lookahead.type&&this.match(",");)this.nextToken(),n.push(this.isolateCoverGrammar(this.parseAssignmentExpression));t=this.finalize(this.startNode(e),new a.SequenceExpression(n))}return t},e.prototype.parseStatementListItem=function(){var e;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,4===this.lookahead.type)switch(this.lookahead.value){case"export":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalExportDeclaration),e=this.parseExportDeclaration();break;case"import":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,o.Messages.IllegalImportDeclaration),e=this.parseImportDeclaration();break;case"const":e=this.parseLexicalDeclaration({inFor:!1});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:e=this.parseStatement()}else e=this.parseStatement();return e},e.prototype.parseBlock=function(){var e=this.createNode();this.expect("{");for(var t=[];!this.match("}");)t.push(this.parseStatementListItem());return this.expect("}"),this.finalize(e,new a.BlockStatement(t))},e.prototype.parseLexicalBinding=function(e,t){var n=this.createNode(),i=this.parsePattern([],e);this.context.strict&&i.type===l.Syntax.Identifier&&this.scanner.isRestrictedWord(i.name)&&this.tolerateError(o.Messages.StrictVarName);var r=null;return"const"===e?this.matchKeyword("in")||this.matchContextualKeyword("of")||(this.match("=")?(this.nextToken(),r=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(o.Messages.DeclarationMissingInitializer,"const")):(!t.inFor&&i.type!==l.Syntax.Identifier||this.match("="))&&(this.expect("="),r=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(n,new a.VariableDeclarator(i,r))},e.prototype.parseBindingList=function(e,t){for(var n=[this.parseLexicalBinding(e,t)];this.match(",");)this.nextToken(),n.push(this.parseLexicalBinding(e,t));return n},e.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.scanner.lex();return this.scanner.restoreState(e),3===t.type||7===t.type&&"["===t.value||7===t.type&&"{"===t.value||4===t.type&&"let"===t.value||4===t.type&&"yield"===t.value},e.prototype.parseLexicalDeclaration=function(e){var t=this.createNode(),n=this.nextToken().value;i.assert("let"===n||"const"===n,"Lexical declaration must be either let or const");var r=this.parseBindingList(n,e);return this.consumeSemicolon(),this.finalize(t,new a.VariableDeclaration(r,n))},e.prototype.parseBindingRestElement=function(e,t){var n=this.createNode();this.expect("...");var i=this.parsePattern(e,t);return this.finalize(n,new a.RestElement(i))},e.prototype.parseArrayPattern=function(e,t){var n=this.createNode();this.expect("[");for(var i=[];!this.match("]");)if(this.match(","))this.nextToken(),i.push(null);else{if(this.match("...")){i.push(this.parseBindingRestElement(e,t));break}i.push(this.parsePatternWithDefault(e,t)),this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(n,new a.ArrayPattern(i))},e.prototype.parsePropertyPattern=function(e,t){var n,i,r=this.createNode(),o=!1,s=!1;if(3===this.lookahead.type){var l=this.lookahead;n=this.parseVariableIdentifier();var u=this.finalize(r,new a.Identifier(l.value));if(this.match("=")){e.push(l),s=!0,this.nextToken();var c=this.parseAssignmentExpression();i=this.finalize(this.startNode(l),new a.AssignmentPattern(u,c))}else this.match(":")?(this.expect(":"),i=this.parsePatternWithDefault(e,t)):(e.push(l),s=!0,i=u)}else o=this.match("["),n=this.parseObjectPropertyKey(),this.expect(":"),i=this.parsePatternWithDefault(e,t);return this.finalize(r,new a.Property("init",n,o,i,!1,s))},e.prototype.parseObjectPattern=function(e,t){var n=this.createNode(),i=[];for(this.expect("{");!this.match("}");)i.push(this.parsePropertyPattern(e,t)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(n,new a.ObjectPattern(i))},e.prototype.parsePattern=function(e,t){var n;return this.match("[")?n=this.parseArrayPattern(e,t):this.match("{")?n=this.parseObjectPattern(e,t):(!this.matchKeyword("let")||"const"!==t&&"let"!==t||this.tolerateUnexpectedToken(this.lookahead,o.Messages.LetInLexicalBinding),e.push(this.lookahead),n=this.parseVariableIdentifier(t)),n},e.prototype.parsePatternWithDefault=function(e,t){var n=this.lookahead,i=this.parsePattern(e,t);if(this.match("=")){this.nextToken();var r=this.context.allowYield;this.context.allowYield=!0;var o=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=r,i=this.finalize(this.startNode(n),new a.AssignmentPattern(i,o))}return i},e.prototype.parseVariableIdentifier=function(e){var t=this.createNode(),n=this.nextToken();return 4===n.type&&"yield"===n.value?this.context.strict?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(n):3!==n.type?this.context.strict&&4===n.type&&this.scanner.isStrictModeReservedWord(n.value)?this.tolerateUnexpectedToken(n,o.Messages.StrictReservedWord):(this.context.strict||"let"!==n.value||"var"!==e)&&this.throwUnexpectedToken(n):(this.context.isModule||this.context.await)&&3===n.type&&"await"===n.value&&this.tolerateUnexpectedToken(n),this.finalize(t,new a.Identifier(n.value))},e.prototype.parseVariableDeclaration=function(e){var t=this.createNode(),n=this.parsePattern([],"var");this.context.strict&&n.type===l.Syntax.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(o.Messages.StrictVarName);var i=null;return this.match("=")?(this.nextToken(),i=this.isolateCoverGrammar(this.parseAssignmentExpression)):n.type===l.Syntax.Identifier||e.inFor||this.expect("="),this.finalize(t,new a.VariableDeclarator(n,i))},e.prototype.parseVariableDeclarationList=function(e){var t={inFor:e.inFor},n=[];for(n.push(this.parseVariableDeclaration(t));this.match(",");)this.nextToken(),n.push(this.parseVariableDeclaration(t));return n},e.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var t=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(e,new a.VariableDeclaration(t,"var"))},e.prototype.parseEmptyStatement=function(){var e=this.createNode();return this.expect(";"),this.finalize(e,new a.EmptyStatement)},e.prototype.parseExpressionStatement=function(){var e=this.createNode(),t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ExpressionStatement(t))},e.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(o.Messages.StrictFunction),this.parseStatement()},e.prototype.parseIfStatement=function(){var e,t=this.createNode(),n=null;this.expectKeyword("if"),this.expect("(");var i=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(")"),e=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),n=this.parseIfClause())),this.finalize(t,new a.IfStatement(i,e,n))},e.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var t=this.context.inIteration;this.context.inIteration=!0;var n=this.parseStatement();this.context.inIteration=t,this.expectKeyword("while"),this.expect("(");var i=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(e,new a.DoWhileStatement(n,i))},e.prototype.parseWhileStatement=function(){var e,t=this.createNode();this.expectKeyword("while"),this.expect("(");var n=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(")");var i=this.context.inIteration;this.context.inIteration=!0,e=this.parseStatement(),this.context.inIteration=i}return this.finalize(t,new a.WhileStatement(n,e))},e.prototype.parseForStatement=function(){var e,t,n,i=null,r=null,s=null,u=!0,c=this.createNode();if(this.expectKeyword("for"),this.expect("("),this.match(";"))this.nextToken();else if(this.matchKeyword("var")){i=this.createNode(),this.nextToken();var f=this.context.allowIn;this.context.allowIn=!1;var d=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=f,1===d.length&&this.matchKeyword("in")){var m=d[0];m.init&&(m.id.type===l.Syntax.ArrayPattern||m.id.type===l.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(o.Messages.ForInOfLoopInitializer,"for-in"),i=this.finalize(i,new a.VariableDeclaration(d,"var")),this.nextToken(),e=i,t=this.parseExpression(),i=null}else 1===d.length&&null===d[0].init&&this.matchContextualKeyword("of")?(i=this.finalize(i,new a.VariableDeclaration(d,"var")),this.nextToken(),e=i,t=this.parseAssignmentExpression(),i=null,u=!1):(i=this.finalize(i,new a.VariableDeclaration(d,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){i=this.createNode();var p=this.nextToken().value;this.context.strict||"in"!==this.lookahead.value?(f=this.context.allowIn,this.context.allowIn=!1,d=this.parseBindingList(p,{inFor:!0}),this.context.allowIn=f,1===d.length&&null===d[0].init&&this.matchKeyword("in")?(i=this.finalize(i,new a.VariableDeclaration(d,p)),this.nextToken(),e=i,t=this.parseExpression(),i=null):1===d.length&&null===d[0].init&&this.matchContextualKeyword("of")?(i=this.finalize(i,new a.VariableDeclaration(d,p)),this.nextToken(),e=i,t=this.parseAssignmentExpression(),i=null,u=!1):(this.consumeSemicolon(),i=this.finalize(i,new a.VariableDeclaration(d,p)))):(i=this.finalize(i,new a.Identifier(p)),this.nextToken(),e=i,t=this.parseExpression(),i=null)}else{var h=this.lookahead;if(f=this.context.allowIn,this.context.allowIn=!1,i=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=f,this.matchKeyword("in"))this.context.isAssignmentTarget&&i.type!==l.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(i),e=i,t=this.parseExpression(),i=null;else if(this.matchContextualKeyword("of"))this.context.isAssignmentTarget&&i.type!==l.Syntax.AssignmentExpression||this.tolerateError(o.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(i),e=i,t=this.parseAssignmentExpression(),i=null,u=!1;else{if(this.match(",")){for(var g=[i];this.match(",");)this.nextToken(),g.push(this.isolateCoverGrammar(this.parseAssignmentExpression));i=this.finalize(this.startNode(h),new a.SequenceExpression(g))}this.expect(";")}}if(void 0===e&&(this.match(";")||(r=this.parseExpression()),this.expect(";"),this.match(")")||(s=this.parseExpression())),!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),n=this.finalize(this.createNode(),new a.EmptyStatement);else{this.expect(")");var y=this.context.inIteration;this.context.inIteration=!0,n=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=y}return void 0===e?this.finalize(c,new a.ForStatement(i,r,s,n)):u?this.finalize(c,new a.ForInStatement(e,t,n)):this.finalize(c,new a.ForOfStatement(e,t,n))},e.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier();t=n;var i="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)||this.throwError(o.Messages.UnknownLabel,n.name)}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.throwError(o.Messages.IllegalContinue),this.finalize(e,new a.ContinueStatement(t))},e.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier(),i="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,i)||this.throwError(o.Messages.UnknownLabel,n.name),t=n}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.context.inSwitch||this.throwError(o.Messages.IllegalBreak),this.finalize(e,new a.BreakStatement(t))},e.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(o.Messages.IllegalReturn);var e=this.createNode();this.expectKeyword("return");var t=(this.match(";")||this.match("}")||this.hasLineTerminator||2===this.lookahead.type)&&8!==this.lookahead.type&&10!==this.lookahead.type?null:this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ReturnStatement(t))},e.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(o.Messages.StrictModeWith);var e,t=this.createNode();this.expectKeyword("with"),this.expect("(");var n=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new a.EmptyStatement)):(this.expect(")"),e=this.parseStatement()),this.finalize(t,new a.WithStatement(n,e))},e.prototype.parseSwitchCase=function(){var e,t=this.createNode();this.matchKeyword("default")?(this.nextToken(),e=null):(this.expectKeyword("case"),e=this.parseExpression()),this.expect(":");for(var n=[];!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)n.push(this.parseStatementListItem());return this.finalize(t,new a.SwitchCase(e,n))},e.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch"),this.expect("(");var t=this.parseExpression();this.expect(")");var n=this.context.inSwitch;this.context.inSwitch=!0;var i=[],r=!1;for(this.expect("{");!this.match("}");){var s=this.parseSwitchCase();null===s.test&&(r&&this.throwError(o.Messages.MultipleDefaultsInSwitch),r=!0),i.push(s)}return this.expect("}"),this.context.inSwitch=n,this.finalize(e,new a.SwitchStatement(t,i))},e.prototype.parseLabelledStatement=function(){var e,t=this.createNode(),n=this.parseExpression();if(n.type===l.Syntax.Identifier&&this.match(":")){this.nextToken();var i=n,r="$"+i.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)&&this.throwError(o.Messages.Redeclaration,"Label",i.name),this.context.labelSet[r]=!0;var s=void 0;if(this.matchKeyword("class"))this.tolerateUnexpectedToken(this.lookahead),s=this.parseClassDeclaration();else if(this.matchKeyword("function")){var u=this.lookahead,c=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(u,o.Messages.StrictFunction):c.generator&&this.tolerateUnexpectedToken(u,o.Messages.GeneratorInLegacyContext),s=c}else s=this.parseStatement();delete this.context.labelSet[r],e=new a.LabeledStatement(i,s)}else this.consumeSemicolon(),e=new a.ExpressionStatement(n);return this.finalize(t,e)},e.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(o.Messages.NewlineAfterThrow);var t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new a.ThrowStatement(t))},e.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch"),this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);for(var t=[],n=this.parsePattern(t),i={},r=0;r0&&this.tolerateError(o.Messages.BadGetterArity);var i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!1))},e.prototype.parseSetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();1!==n.params.length?this.tolerateError(o.Messages.BadSetterArity):n.params[0]instanceof a.RestElement&&this.tolerateError(o.Messages.BadSetterRestParameter);var i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!1))},e.prototype.parseGeneratorMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();this.context.allowYield=!1;var i=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new a.FunctionExpression(null,n.params,i,!0))},e.prototype.isStartOfExpression=function(){var e=!0,t=this.lookahead.value;switch(this.lookahead.type){case 7:e="["===t||"("===t||"{"===t||"+"===t||"-"===t||"!"===t||"~"===t||"++"===t||"--"===t||"/"===t||"/="===t;break;case 4:e="class"===t||"delete"===t||"function"===t||"let"===t||"new"===t||"super"===t||"this"===t||"typeof"===t||"void"===t||"yield"===t}return e},e.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword("yield");var t=null,n=!1;if(!this.hasLineTerminator){var i=this.context.allowYield;this.context.allowYield=!1,(n=this.match("*"))?(this.nextToken(),t=this.parseAssignmentExpression()):this.isStartOfExpression()&&(t=this.parseAssignmentExpression()),this.context.allowYield=i}return this.finalize(e,new a.YieldExpression(t,n))},e.prototype.parseClassElement=function(e){var t=this.lookahead,n=this.createNode(),i="",r=null,s=null,l=!1,u=!1,c=!1,f=!1;if(this.match("*"))this.nextToken();else if(l=this.match("["),"static"===(r=this.parseObjectPropertyKey()).name&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))&&(t=this.lookahead,c=!0,l=this.match("["),this.match("*")?this.nextToken():r=this.parseObjectPropertyKey()),3===t.type&&!this.hasLineTerminator&&"async"===t.value){var d=this.lookahead.value;":"!==d&&"("!==d&&"*"!==d&&(f=!0,t=this.lookahead,r=this.parseObjectPropertyKey(),3===t.type&&"constructor"===t.value&&this.tolerateUnexpectedToken(t,o.Messages.ConstructorIsAsync))}var m=this.qualifiedPropertyName(this.lookahead);return 3===t.type?"get"===t.value&&m?(i="get",l=this.match("["),r=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod()):"set"===t.value&&m&&(i="set",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseSetterMethod()):7===t.type&&"*"===t.value&&m&&(i="init",l=this.match("["),r=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),u=!0),!i&&r&&this.match("(")&&(i="init",s=f?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),u=!0),i||this.throwUnexpectedToken(this.lookahead),"init"===i&&(i="method"),l||(c&&this.isPropertyKey(r,"prototype")&&this.throwUnexpectedToken(t,o.Messages.StaticPrototype),!c&&this.isPropertyKey(r,"constructor")&&(("method"!==i||!u||s&&s.generator)&&this.throwUnexpectedToken(t,o.Messages.ConstructorSpecialMethod),e.value?this.throwUnexpectedToken(t,o.Messages.DuplicateConstructor):e.value=!0,i="constructor")),this.finalize(n,new a.MethodDefinition(r,l,s,i,c))},e.prototype.parseClassElementList=function(){var e=[],t={value:!1};for(this.expect("{");!this.match("}");)this.match(";")?this.nextToken():e.push(this.parseClassElement(t));return this.expect("}"),e},e.prototype.parseClassBody=function(){var e=this.createNode(),t=this.parseClassElementList();return this.finalize(e,new a.ClassBody(t))},e.prototype.parseClassDeclaration=function(e){var t=this.createNode(),n=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var i=e&&3!==this.lookahead.type?null:this.parseVariableIdentifier(),r=null;this.matchKeyword("extends")&&(this.nextToken(),r=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var o=this.parseClassBody();return this.context.strict=n,this.finalize(t,new a.ClassDeclaration(i,r,o))},e.prototype.parseClassExpression=function(){var e=this.createNode(),t=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var n=3===this.lookahead.type?this.parseVariableIdentifier():null,i=null;this.matchKeyword("extends")&&(this.nextToken(),i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var r=this.parseClassBody();return this.context.strict=t,this.finalize(e,new a.ClassExpression(n,i,r))},e.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Module(t))},e.prototype.parseScript=function(){for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new a.Script(t))},e.prototype.parseModuleSpecifier=function(){var e=this.createNode();8!==this.lookahead.type&&this.throwError(o.Messages.InvalidModuleSpecifier);var t=this.nextToken(),n=this.getTokenRaw(t);return this.finalize(e,new a.Literal(t.value,n))},e.prototype.parseImportSpecifier=function(){var e,t,n=this.createNode();return 3===this.lookahead.type?(t=e=this.parseVariableIdentifier(),this.matchContextualKeyword("as")&&(this.nextToken(),t=this.parseVariableIdentifier())):(t=e=this.parseIdentifierName(),this.matchContextualKeyword("as")?(this.nextToken(),t=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(n,new a.ImportSpecifier(t,e))},e.prototype.parseNamedImports=function(){this.expect("{");for(var e=[];!this.match("}");)e.push(this.parseImportSpecifier()),this.match("}")||this.expect(",");return this.expect("}"),e},e.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName();return this.finalize(e,new a.ImportDefaultSpecifier(t))},e.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(o.Messages.NoAsAfterImportNamespace),this.nextToken();var t=this.parseIdentifierName();return this.finalize(e,new a.ImportNamespaceSpecifier(t))},e.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalImportDeclaration);var e,t=this.createNode();this.expectKeyword("import");var n=[];if(8===this.lookahead.type)e=this.parseModuleSpecifier();else{if(this.match("{")?n=n.concat(this.parseNamedImports()):this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(n.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.match("{")?n=n.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){var i=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken(),e=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(t,new a.ImportDeclaration(n,e))},e.prototype.parseExportSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName(),n=t;return this.matchContextualKeyword("as")&&(this.nextToken(),n=this.parseIdentifierName()),this.finalize(e,new a.ExportSpecifier(t,n))},e.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(o.Messages.IllegalExportDeclaration);var e,t=this.createNode();if(this.expectKeyword("export"),this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){var n=this.parseFunctionDeclaration(!0);e=this.finalize(t,new a.ExportDefaultDeclaration(n))}else this.matchKeyword("class")?(n=this.parseClassDeclaration(!0),e=this.finalize(t,new a.ExportDefaultDeclaration(n))):this.matchContextualKeyword("async")?(n=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression(),e=this.finalize(t,new a.ExportDefaultDeclaration(n))):(this.matchContextualKeyword("from")&&this.throwError(o.Messages.UnexpectedToken,this.lookahead.value),n=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression(),this.consumeSemicolon(),e=this.finalize(t,new a.ExportDefaultDeclaration(n)));else if(this.match("*")){if(this.nextToken(),!this.matchContextualKeyword("from")){var i=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken();var r=this.parseModuleSpecifier();this.consumeSemicolon(),e=this.finalize(t,new a.ExportAllDeclaration(r))}else if(4===this.lookahead.type){switch(n=void 0,this.lookahead.value){case"let":case"const":n=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":n=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}e=this.finalize(t,new a.ExportNamedDeclaration(n,[],null))}else if(this.matchAsyncFunction())n=this.parseFunctionDeclaration(),e=this.finalize(t,new a.ExportNamedDeclaration(n,[],null));else{var s=[],l=null,u=!1;for(this.expect("{");!this.match("}");)u=u||this.matchKeyword("default"),s.push(this.parseExportSpecifier()),this.match("}")||this.expect(",");this.expect("}"),this.matchContextualKeyword("from")?(this.nextToken(),l=this.parseModuleSpecifier(),this.consumeSemicolon()):u?(i=this.lookahead.value?o.Messages.UnexpectedToken:o.Messages.MissingFromClause,this.throwError(i,this.lookahead.value)):this.consumeSemicolon(),e=this.finalize(t,new a.ExportNamedDeclaration(null,s,l))}return e},e}();t.Parser=f},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assert=function(e,t){if(!e)throw new Error("ASSERT: "+t)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){this.errors=[],this.tolerant=!1}return e.prototype.recordError=function(e){this.errors.push(e)},e.prototype.tolerate=function(e){if(!this.tolerant)throw e;this.recordError(e)},e.prototype.constructError=function(e,t){var n=new Error(e);try{throw n}catch(e){Object.create&&Object.defineProperty&&(n=Object.create(e),Object.defineProperty(n,"column",{value:t}))}return n},e.prototype.createError=function(e,t,n,i){var r="Line "+t+": "+i,o=this.constructError(r,n);return o.index=e,o.lineNumber=t,o.description=i,o},e.prototype.throwError=function(e,t,n,i){throw this.createError(e,t,n,i)},e.prototype.tolerateError=function(e,t,n,i){var r=this.createError(e,t,n,i);if(!this.tolerant)throw r;this.recordError(r)},e}();t.ErrorHandler=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(9),r=n(4),o=n(11);function a(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function s(e){return"01234567".indexOf(e)}var l=function(){function e(e,t){this.source=e,this.errorHandler=t,this.trackComment=!1,this.isModule=!1,this.length=e.length,this.index=0,this.lineNumber=e.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return e.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},e.prototype.restoreState=function(e){this.index=e.index,this.lineNumber=e.lineNumber,this.lineStart=e.lineStart},e.prototype.eof=function(){return this.index>=this.length},e.prototype.throwUnexpectedToken=function(e){return void 0===e&&(e=o.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.tolerateUnexpectedToken=function(e){void 0===e&&(e=o.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.skipSingleLineComment=function(e){var t,n,i=[];for(this.trackComment&&(i=[],t=this.index-e,n={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}});!this.eof();){var o=this.source.charCodeAt(this.index);if(++this.index,r.Character.isLineTerminator(o)){if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart-1};var a={multiLine:!1,slice:[t+e,this.index-1],range:[t,this.index-1],loc:n};i.push(a)}return 13===o&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,i}}return this.trackComment&&(n.end={line:this.lineNumber,column:this.index-this.lineStart},a={multiLine:!1,slice:[t+e,this.index],range:[t,this.index],loc:n},i.push(a)),i},e.prototype.skipMultiLineComment=function(){var e,t,n=[];for(this.trackComment&&(n=[],e=this.index-2,t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var i=this.source.charCodeAt(this.index);if(r.Character.isLineTerminator(i))13===i&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===i){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var o={multiLine:!0,slice:[e+2,this.index-2],range:[e,this.index],loc:t};n.push(o)}return n}++this.index}else++this.index}return this.trackComment&&(t.end={line:this.lineNumber,column:this.index-this.lineStart},o={multiLine:!0,slice:[e+2,this.index],range:[e,this.index],loc:t},n.push(o)),this.tolerateUnexpectedToken(),n},e.prototype.scanComments=function(){var e;this.trackComment&&(e=[]);for(var t=0===this.index;!this.eof();){var n=this.source.charCodeAt(this.index);if(r.Character.isWhiteSpace(n))++this.index;else if(r.Character.isLineTerminator(n))++this.index,13===n&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,t=!0;else if(47===n)if(47===(n=this.source.charCodeAt(this.index+1))){this.index+=2;var i=this.skipSingleLineComment(2);this.trackComment&&(e=e.concat(i)),t=!0}else{if(42!==n)break;this.index+=2,i=this.skipMultiLineComment(),this.trackComment&&(e=e.concat(i))}else if(t&&45===n){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;this.index+=3,i=this.skipSingleLineComment(3),this.trackComment&&(e=e.concat(i))}else{if(60!==n||this.isModule)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;this.index+=4,i=this.skipSingleLineComment(4),this.trackComment&&(e=e.concat(i))}}return e},e.prototype.isFutureReservedWord=function(e){switch(e){case"enum":case"export":case"import":case"super":return!0;default:return!1}},e.prototype.isStrictModeReservedWord=function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}},e.prototype.isRestrictedWord=function(e){return"eval"===e||"arguments"===e},e.prototype.isKeyword=function(e){switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}},e.prototype.codePointAt=function(e){var t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){var n=this.source.charCodeAt(e+1);n>=56320&&n<=57343&&(t=1024*(t-55296)+n-56320+65536)}return t},e.prototype.scanHexEscape=function(e){for(var t="u"===e?4:2,n=0,i=0;i1114111||"}"!==e)&&this.throwUnexpectedToken(),r.Character.fromCodePoint(t)},e.prototype.getIdentifier=function(){for(var e=this.index++;!this.eof();){var t=this.source.charCodeAt(this.index);if(92===t)return this.index=e,this.getComplexIdentifier();if(t>=55296&&t<57343)return this.index=e,this.getComplexIdentifier();if(!r.Character.isIdentifierPart(t))break;++this.index}return this.source.slice(e,this.index)},e.prototype.getComplexIdentifier=function(){var e,t=this.codePointAt(this.index),n=r.Character.fromCodePoint(t);for(this.index+=n.length,92===t&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&r.Character.isIdentifierStart(e.charCodeAt(0))||this.throwUnexpectedToken(),n=e);!this.eof()&&(t=this.codePointAt(this.index),r.Character.isIdentifierPart(t));)n+=e=r.Character.fromCodePoint(t),this.index+=e.length,92===t&&(n=n.substr(0,n.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&r.Character.isIdentifierPart(e.charCodeAt(0))||this.throwUnexpectedToken(),n+=e);return n},e.prototype.octalToDecimal=function(e){var t="0"!==e,n=s(e);return!this.eof()&&r.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(t=!0,n=8*n+s(this.source[this.index++]),"0123".indexOf(e)>=0&&!this.eof()&&r.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(n=8*n+s(this.source[this.index++]))),{code:n,octal:t}},e.prototype.scanIdentifier=function(){var e,t=this.index,n=92===this.source.charCodeAt(t)?this.getComplexIdentifier():this.getIdentifier();if(3!=(e=1===n.length?3:this.isKeyword(n)?4:"null"===n?5:"true"===n||"false"===n?1:3)&&t+n.length!==this.index){var i=this.index;this.index=t,this.tolerateUnexpectedToken(o.Messages.InvalidEscapedReservedWord),this.index=i}return{type:e,value:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.scanPunctuator=function(){var e=this.index,t=this.source[this.index];switch(t){case"(":case"{":"{"===t&&this.curlyStack.push("{"),++this.index;break;case".":++this.index,"."===this.source[this.index]&&"."===this.source[this.index+1]&&(this.index+=2,t="...");break;case"}":++this.index,this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:">>>="===(t=this.source.substr(this.index,4))?this.index+=4:"==="===(t=t.substr(0,3))||"!=="===t||">>>"===t||"<<="===t||">>="===t||"**="===t?this.index+=3:"&&"===(t=t.substr(0,2))||"||"===t||"=="===t||"!="===t||"+="===t||"-="===t||"*="===t||"/="===t||"++"===t||"--"===t||"<<"===t||">>"===t||"&="===t||"|="===t||"^="===t||"%="===t||"<="===t||">="===t||"=>"===t||"**"===t?this.index+=2:(t=this.source[this.index],"<>=!+-*%&|^/".indexOf(t)>=0&&++this.index)}return this.index===e&&this.throwUnexpectedToken(),{type:7,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanHexLiteral=function(e){for(var t="";!this.eof()&&r.Character.isHexDigit(this.source.charCodeAt(this.index));)t+=this.source[this.index++];return 0===t.length&&this.throwUnexpectedToken(),r.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt("0x"+t,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanBinaryLiteral=function(e){for(var t,n="";!this.eof()&&("0"===(t=this.source[this.index])||"1"===t);)n+=this.source[this.index++];return 0===n.length&&this.throwUnexpectedToken(),this.eof()||(t=this.source.charCodeAt(this.index),(r.Character.isIdentifierStart(t)||r.Character.isDecimalDigit(t))&&this.throwUnexpectedToken()),{type:6,value:parseInt(n,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanOctalLiteral=function(e,t){var n="",i=!1;for(r.Character.isOctalDigit(e.charCodeAt(0))?(i=!0,n="0"+this.source[this.index++]):++this.index;!this.eof()&&r.Character.isOctalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];return i||0!==n.length||this.throwUnexpectedToken(),(r.Character.isIdentifierStart(this.source.charCodeAt(this.index))||r.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(n,8),octal:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,(function(e,t,n){var r=parseInt(t||n,16);return r>1114111&&i.throwUnexpectedToken(o.Messages.InvalidRegExp),r<=65535?String.fromCharCode(r):"￿"})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"￿"));try{RegExp(n)}catch(e){this.throwUnexpectedToken(o.Messages.InvalidRegExp)}try{return new RegExp(e,t)}catch(e){return null}},e.prototype.scanRegExpBody=function(){var e=this.source[this.index];i.assert("/"===e,"Regular expression literal must start with a slash");for(var t=this.source[this.index++],n=!1,a=!1;!this.eof();)if(t+=e=this.source[this.index++],"\\"===e)e=this.source[this.index++],r.Character.isLineTerminator(e.charCodeAt(0))&&this.throwUnexpectedToken(o.Messages.UnterminatedRegExp),t+=e;else if(r.Character.isLineTerminator(e.charCodeAt(0)))this.throwUnexpectedToken(o.Messages.UnterminatedRegExp);else if(n)"]"===e&&(n=!1);else{if("/"===e){a=!0;break}"["===e&&(n=!0)}return a||this.throwUnexpectedToken(o.Messages.UnterminatedRegExp),t.substr(1,t.length-2)},e.prototype.scanRegExpFlags=function(){for(var e="";!this.eof();){var t=this.source[this.index];if(!r.Character.isIdentifierPart(t.charCodeAt(0)))break;if(++this.index,"\\"!==t||this.eof())e+=t;else if("u"===(t=this.source[this.index])){++this.index;var n=this.index,i=this.scanHexEscape("u");if(null!==i)for(e+=i;n=55296&&e<57343&&r.Character.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()},e}();t.Scanner=l},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenName={},t.TokenName[1]="Boolean",t.TokenName[2]="",t.TokenName[3]="Identifier",t.TokenName[4]="Keyword",t.TokenName[5]="Null",t.TokenName[6]="Numeric",t.TokenName[7]="Punctuator",t.TokenName[8]="String",t.TokenName[9]="RegularExpression",t.TokenName[10]="Template"},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.XHTMLEntities={quot:'"',amp:"&",apos:"'",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),r=n(12),o=n(13),a=function(){function e(){this.values=[],this.curly=this.paren=-1}return e.prototype.beforeFunctionExpression=function(e){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(e)>=0},e.prototype.isRegexStart=function(){var e=this.values[this.values.length-1],t=null!==e;switch(e){case"this":case"]":t=!1;break;case")":var n=this.values[this.paren-1];t="if"===n||"while"===n||"for"===n||"with"===n;break;case"}":if(t=!1,"function"===this.values[this.curly-3])t=!!(i=this.values[this.curly-4])&&!this.beforeFunctionExpression(i);else if("function"===this.values[this.curly-4]){var i;t=!(i=this.values[this.curly-5])||!this.beforeFunctionExpression(i)}}return t},e.prototype.push=function(e){7===e.type||4===e.type?("{"===e.value?this.curly=this.values.length:"("===e.value&&(this.paren=this.values.length),this.values.push(e.value)):this.values.push(null)},e}(),s=function(){function e(e,t){this.errorHandler=new i.ErrorHandler,this.errorHandler.tolerant=!!t&&"boolean"==typeof t.tolerant&&t.tolerant,this.scanner=new r.Scanner(e,this.errorHandler),this.scanner.trackComment=!!t&&"boolean"==typeof t.comment&&t.comment,this.trackRange=!!t&&"boolean"==typeof t.range&&t.range,this.trackLoc=!!t&&"boolean"==typeof t.loc&&t.loc,this.buffer=[],this.reader=new a}return e.prototype.errors=function(){return this.errorHandler.errors},e.prototype.getNextToken=function(){if(0===this.buffer.length){var e=this.scanner.scanComments();if(this.scanner.trackComment)for(var t=0;t-1&&n>=e.flowLevel;switch(function(e,t,n,i,r){var o,a,s,l=!1,u=!1,f=-1!==i,I=-1,P=U(s=e.charCodeAt(0))&&65279!==s&&!B(s)&&s!==b&&s!==S&&s!==x&&s!==C&&s!==A&&s!==R&&s!==M&&s!==w&&s!==p&&s!==g&&s!==v&&s!==d&&s!==T&&s!==E&&s!==y&&s!==m&&s!==h&&s!==D&&s!==k&&!B(e.charCodeAt(e.length-1));if(t)for(o=0;oi&&" "!==e[I+1],I=o);else if(!U(a))return G;P=P&&F(a)}u=u||f&&o-I-1>i&&" "!==e[I+1]}return l||u?n>9&&q(e)?G:u?V:H:P&&!r(e)?z:j}(t,s,e.indent,a,(function(t){return function(e,t){var n,i;for(n=0,i=e.implicitTypes.length;n"+K(t,e.indent)+Q(L(function(e,t){for(var n,i,r,o=/(\n+)([^\n]*)/g,a=(r=-1!==(r=e.indexOf("\n"))?r:e.length,o.lastIndex=r,J(e.slice(0,r),t)),s="\n"===e[0]||" "===e[0];i=o.exec(e);){var l=i[1],u=i[2];n=" "===u[0],a+=l+(s||n||""===u?"":"\n")+J(u,t),s=n}return a}(t,a),o));case G:return'"'+function(e){for(var t,n,i,r="",o=0;o=55296&&t<=56319&&(n=e.charCodeAt(o+1))>=56320&&n<=57343?(r+=O(1024*(t-55296)+n-56320+65536),o++):r+=!(i=I[t])&&U(t)?e[o]:i||O(t);return r}(t)+'"';default:throw new r("impossible error: invalid scalar style")}}()}function K(e,t){var n=q(e)?String(t):"",i="\n"===e[e.length-1];return n+(!i||"\n"!==e[e.length-2]&&"\n"!==e?i?"":"-":"+")+"\n"}function Q(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function J(e,t){if(""===e||" "===e[0])return e;for(var n,i,r=/ [^ ]/g,o=0,a=0,s=0,l="";n=r.exec(e);)(s=n.index)-o>t&&(i=a>o?a:s,l+="\n"+e.slice(o,i),o=i+1),a=s;return l+="\n",e.length-o>t&&a>o?l+=e.slice(o,a)+"\n"+e.slice(a+1):l+=e.slice(o),l.slice(1)}function X(e,t,n){var i,o,a,u,c,f;for(a=0,u=(o=n?e.explicitTypes:e.implicitTypes).length;a tag resolver accepts not "'+f+'" style');i=c.represent[f](t,f)}e.dump=i}return!0}return!1}function Y(e,t,n,i,o,a){e.tag=null,e.dump=n,X(e,n,!1)||X(e,n,!0);var l=s.call(e.dump);i&&(i=e.flowLevel<0||e.flowLevel>t);var u,f,d="[object Object]"===l||"[object Array]"===l;if(d&&(f=-1!==(u=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||f||2!==e.indent&&t>0)&&(o=!1),f&&e.usedDuplicates[u])e.dump="*ref_"+u;else{if(d&&f&&!e.usedDuplicates[u]&&(e.usedDuplicates[u]=!0),"[object Object]"===l)i&&0!==Object.keys(e.dump).length?(function(e,t,n,i){var o,a,s,l,u,f,d="",m=e.tag,p=Object.keys(n);if(!0===e.sortKeys)p.sort();else if("function"==typeof e.sortKeys)p.sort(e.sortKeys);else if(e.sortKeys)throw new r("sortKeys must be a boolean or a function");for(o=0,a=p.length;o1024)&&(e.dump&&c===e.dump.charCodeAt(0)?f+="?":f+="? "),f+=e.dump,u&&(f+=N(e,t)),Y(e,t+1,l,!0,u)&&(e.dump&&c===e.dump.charCodeAt(0)?f+=":":f+=": ",d+=f+=e.dump));e.tag=m,e.dump=d||"{}"}(e,t,e.dump,o),f&&(e.dump="&ref_"+u+e.dump)):(function(e,t,n){var i,r,o,a,s,l="",u=e.tag,c=Object.keys(n);for(i=0,r=c.length;i1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),Y(e,t,a,!1,!1)&&(l+=s+=e.dump));e.tag=u,e.dump="{"+l+"}"}(e,t,e.dump),f&&(e.dump="&ref_"+u+" "+e.dump));else if("[object Array]"===l){var m=e.noArrayIndent&&t>0?t-1:t;i&&0!==e.dump.length?(function(e,t,n,i){var r,o,a="",s=e.tag;for(r=0,o=n.length;r "+e.dump)}return!0}function $(e,t){var n,i,r=[],o=[];for(Z(e,r,o),n=0,i=o.length;n>10),56320+(e-65536&1023))}for(var T=new Array(256),w=new Array(256),I=0;I<256;I++)T[I]=k(I)?1:0,w[I]=k(I);function P(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||s,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function O(e,t){return new r(t,new o(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function _(e,t){throw O(e,t)}function L(e,t){e.onWarning&&e.onWarning.call(null,O(e,t))}var N={YAML:function(e,t,n){var i,r,o;null!==e.version&&_(e,"duplication of %YAML directive"),1!==n.length&&_(e,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&_(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&_(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=o<2,1!==o&&2!==o&&L(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&_(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],C.test(i)||_(e,"ill-formed tag handle (first argument) of the TAG directive"),l.call(e.tagMap,i)&&_(e,'there is a previously declared suffix for "'+i+'" tag handle'),b.test(r)||_(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=r}};function B(e,t,n,i){var r,o,a,s;if(t1&&(e.result+=i.repeat("\n",t-1))}function V(e,t){var n,i,r=e.tag,o=e.anchor,a=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=a),i=e.input.charCodeAt(e.position);0!==i&&45===i&&D(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,z(e,!0,-1)&&e.lineIndent<=t)a.push(null),i=e.input.charCodeAt(e.position);else if(n=e.line,K(e,t,f,!1,!0),a.push(e.result),z(e,!0,-1),i=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==i)_(e,"bad indentation of a sequence entry");else if(e.lineIndentt?k=1:e.lineIndent===t?k=0:e.lineIndentt?k=1:e.lineIndent===t?k=0:e.lineIndentt)&&(K(e,t,d,!0,r)&&(y?h=e.result:g=e.result),y||(F(e,f,m,p,h,g,o,a),p=h=g=null),z(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)_(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===o?_(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?_(e,"repeat of an indentation width identifier"):(f=t+o-1,c=!0)}if(S(a)){do{a=e.input.charCodeAt(++e.position)}while(S(a));if(35===a)do{a=e.input.charCodeAt(++e.position)}while(!E(a)&&0!==a)}for(;0!==a;){for(q(e),e.lineIndent=0,a=e.input.charCodeAt(e.position);(!c||e.lineIndentf&&(f=e.lineIndent),E(a))d++;else{if(e.lineIndent0){for(r=a,o=0;r>0;r--)(a=R(s=e.input.charCodeAt(++e.position)))>=0?o=(o<<4)+a:_(e,"expected hexadecimal character");e.result+=M(o),e.position++}else _(e,"unknown escape sequence");n=i=e.position}else E(s)?(B(e,n,i,!0),H(e,z(e,!1,t)),n=i=e.position):e.position===e.lineStart&&j(e)?_(e,"unexpected end of the document within a double quoted scalar"):(e.position++,i=e.position)}_(e,"unexpected end of the stream within a double quoted scalar")}(e,b)?P=!0:function(e){var t,n,i;if(42!==(i=e.input.charCodeAt(e.position)))return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!D(i)&&!A(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&_(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||_(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],z(e,!0,-1),!0}(e)?(P=!0,null===e.tag&&null===e.anchor||_(e,"alias node should not have any properties")):function(e,t,n){var i,r,o,a,s,l,u,c,f=e.kind,d=e.result;if(D(c=e.input.charCodeAt(e.position))||A(c)||35===c||38===c||42===c||33===c||124===c||62===c||39===c||34===c||37===c||64===c||96===c)return!1;if((63===c||45===c)&&(D(i=e.input.charCodeAt(e.position+1))||n&&A(i)))return!1;for(e.kind="scalar",e.result="",r=o=e.position,a=!1;0!==c;){if(58===c){if(D(i=e.input.charCodeAt(e.position+1))||n&&A(i))break}else if(35===c){if(D(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&j(e)||n&&A(c))break;if(E(c)){if(s=e.line,l=e.lineStart,u=e.lineIndent,z(e,!1,-1),e.lineIndent>=t){a=!0,c=e.input.charCodeAt(e.position);continue}e.position=o,e.line=s,e.lineStart=l,e.lineIndent=u;break}}a&&(B(e,r,o,!1),H(e,e.line-s),r=o=e.position,a=!1),S(c)||(o=e.position+1),c=e.input.charCodeAt(++e.position)}return B(e,r,o,!1),!!e.result||(e.kind=f,e.result=d,!1)}(e,b,u===n)&&(P=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===k&&(P=g&&V(e,x))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(y=0,v=e.implicitTypes.length;y tag; it should be "'+C.kind+'", not "'+e.kind+'"'),C.resolve(e.result)?(e.result=C.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):_(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):_(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||P}function Q(e){var t,n,i,r,o=e.position,a=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(r=e.input.charCodeAt(e.position))&&(z(e,!0,-1),r=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==r));){for(a=!0,r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!D(r);)r=e.input.charCodeAt(++e.position);for(i=[],(n=e.input.slice(t,e.position)).length<1&&_(e,"directive name must not be less than one character in length");0!==r;){for(;S(r);)r=e.input.charCodeAt(++e.position);if(35===r){do{r=e.input.charCodeAt(++e.position)}while(0!==r&&!E(r));break}if(E(r))break;for(t=e.position;0!==r&&!D(r);)r=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}0!==r&&q(e),l.call(N,n)?N[n](e,n,i):L(e,'unknown document directive "'+n+'"')}z(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,z(e,!0,-1)):a&&_(e,"directives end mark is expected"),K(e,e.lineIndent-1,d,!1,!0),z(e,!0,-1),e.checkLineBreaks&&y.test(e.input.slice(o,e.position))&&L(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&j(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,z(e,!0,-1)):e.position0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>t/2-1){n=" ... ",r+=5;break}for(o="",a=this.position;at/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(r,a),i.repeat(" ",e)+n+s+o+"\n"+i.repeat(" ",e+this.position-r+n.length)+"^"},r.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(n+=":\n"+t),n},e.exports=r},2409:function(e,t,n){"use strict";var i=n(5596),r=n(4884),o=n(3899);function a(e,t,n){var i=[];return e.include.forEach((function(e){n=a(e,t,n)})),e[t].forEach((function(e){n.forEach((function(t,n){t.tag===e.tag&&t.kind===e.kind&&i.push(n)})),n.push(e)})),n.filter((function(e,t){return-1===i.indexOf(t)}))}function s(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach((function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new r("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")})),this.compiledImplicit=a(this,"implicit",[]),this.compiledExplicit=a(this,"explicit",[]),this.compiledTypeMap=function(){var e,t,n={scalar:{},sequence:{},mapping:{},fallback:{}};function i(e){n[e.kind][e.tag]=n.fallback[e.tag]=e}for(e=0,t=arguments.length;e64)){if(t<0)return!1;i+=6}return i%8==0},construct:function(e){var t,n,r=e.replace(/[\r\n=]/g,""),a=r.length,s=o,l=0,u=[];for(t=0;t>16&255),u.push(l>>8&255),u.push(255&l)),l=l<<6|s.indexOf(r.charAt(t));return 0==(n=a%4*6)?(u.push(l>>16&255),u.push(l>>8&255),u.push(255&l)):18===n?(u.push(l>>10&255),u.push(l>>2&255)):12===n&&u.push(l>>4&255),i?i.from?i.from(u):new i(u):u},predicate:function(e){return i&&i.isBuffer(e)},represent:function(e){var t,n,i="",r=0,a=e.length,s=o;for(t=0;t>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]),r=(r<<8)+e[t];return 0==(n=a%3)?(i+=s[r>>18&63],i+=s[r>>12&63],i+=s[r>>6&63],i+=s[63&r]):2===n?(i+=s[r>>10&63],i+=s[r>>4&63],i+=s[r<<2&63],i+=s[64]):1===n&&(i+=s[r>>2&63],i+=s[r<<4&63],i+=s[64],i+=s[64]),i}})},2648:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},3456:function(e,t,n){"use strict";var i=n(5596),r=n(3899),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),a=/^[-+]?[0-9]+e/;e.exports=new r("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!o.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n,i,r;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,r=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach((function(e){r.unshift(parseFloat(e,10))})),t=0,i=1,r.forEach((function(e){t+=e*i,i*=60})),n*t):n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||i.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(i.isNegativeZero(e))return"-0.0";return n=e.toString(10),a.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},5979:function(e,t,n){"use strict";var i=n(5596),r=n(3899);function o(e){return 48<=e&&e<=55}function a(e){return 48<=e&&e<=57}e.exports=new r("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,i=e.length,r=0,s=!1;if(!i)return!1;if("-"!==(t=e[r])&&"+"!==t||(t=e[++r]),"0"===t){if(r+1===i)return!0;if("b"===(t=e[++r])){for(r++;r=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},9811:function(e,t,n){"use strict";var i;try{i=n(1072)}catch(e){"undefined"!=typeof window&&(i=window.esprima)}var r=n(3899);e.exports=new r("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",n=i.parse(t,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,n="("+e+")",r=i.parse(n,{range:!0}),o=[];if("Program"!==r.type||1!==r.body.length||"ExpressionStatement"!==r.body[0].type||"ArrowFunctionExpression"!==r.body[0].expression.type&&"FunctionExpression"!==r.body[0].expression.type)throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach((function(e){o.push(e.name)})),t=r.body[0].expression.body.range,"BlockStatement"===r.body[0].expression.body.type?new Function(o,n.slice(t[0]+1,t[1]-1)):new Function(o,"return "+n.slice(t[0],t[1]))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},7287:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:function(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),i="";if("/"===t[0]){if(n&&(i=n[1]),i.length>3)return!1;if("/"!==t[t.length-i.length-1])return!1}return!0},construct:function(e){var t=e,n=/\/([gim]*)$/.exec(e),i="";return"/"===t[0]&&(n&&(i=n[1]),t=t.slice(1,t.length-i.length-1)),new RegExp(t,i)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},575:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:function(){return!0},construct:function(){},predicate:function(e){return void 0===e},represent:function(){return""}})},6553:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},243:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},3022:function(e,t,n){"use strict";var i=n(3899);e.exports=new i("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},3878:function(e,t,n){"use strict";var i=n(3899),r=Object.prototype.hasOwnProperty,o=Object.prototype.toString;e.exports=new i("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,i,a,s,l=[],u=e;for(t=0,n=u.length;t0?" ".concat(n.layer):""," {")),i+=n.css,r&&(i+="}"),n.media&&(i+="}"),n.supports&&(i+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleTagTransform(i,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},4589:function(e){"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},8549:function(e,t,n){var i=void 0===arguments?void 0:arguments,r=this;n(8045),n(9715),n(3034),n(4391);var o=n(4631),a=n(3320);n(3631),n(6876),n(2783),n(1380);var s=n(2346);document.getElementById("version").innerText="(version "+fhirpath.version+")";var l=function(e,t){var n;return function(){var o=r,a=i;clearTimeout(n),n=setTimeout((function(){return e.apply(o,a)}),t)}},u=document.getElementById("path"),c=document.getElementById("output");function f(){try{var e=document.querySelector('input[name="inputType"]:checked').value,t=d.getValue(),n=u.value;if(""!=n.trim()){var i="yaml"===e?a.safeLoad(t):JSON.parse(t);console.log(u.value,i);var r=fhirpath.evaluate(i,n,null,fhirpath_r4_model);c.innerHTML="
",c.childNodes.item(0).textContent=a.dump(JSON.parse(JSON.stringify(r)))}}catch(e){c.innerHTML='
',e.toString().replace(/\n/,"
"),c.childNodes.item(0).textContent=e.toString(),console.error(e)}}var d=o(document.getElementById("input"),{value:a.dump(s),lineNumbers:!0,mode:"yaml"});window.cm=d;var m=document.querySelector('input[name="inputType"]:checked').value;function p(e){var t=e.target.value;if(t!==m){if("json"===t){var n=d.getValue();d.setOption("mode","javascript"),d.setOption("json","true"),d.setValue(JSON.stringify(a.safeLoad(n),null,2))}else{var i=d.getValue();d.setOption("mode","yaml"),d.setValue(a.dump(JSON.parse(i)))}m=t}}for(var h=document.querySelectorAll('input[name="inputType"]'),g=0,y=h.length;g0?a-4:a;for(n=0;n>16&255,u[c++]=t>>8&255,u[c++]=255&t;return 2===s&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,u[c++]=255&t),1===s&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,u[c++]=t>>8&255,u[c++]=255&t),u},t.fromByteArray=function(e){for(var t,i=e.length,r=i%3,o=[],a=16383,s=0,l=i-r;sl?l:s+a));return 1===r?(t=e[i-1],o.push(n[t>>2]+n[t<<4&63]+"==")):2===r&&(t=(e[i-2]<<8)+e[i-1],o.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"=")),o.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function u(e,t,i){for(var r,o,a=[],s=t;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},816:function(e,t,n){"use strict";var i=n(4782),r=n(8898),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.lW=l,t.h2=50;var a=2147483647;function s(e){if(e>a)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return f(e)}return u(e,t,n)}function u(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!l.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var n=0|h(e,t),i=s(n),r=i.write(e,t);return r!==n&&(i=i.slice(0,r)),i}(e,t);if(ArrayBuffer.isView(e))return function(e){if(z(e,Uint8Array)){var t=new Uint8Array(e);return m(t.buffer,t.byteOffset,t.byteLength)}return d(e)}(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(z(e,ArrayBuffer)||e&&z(e.buffer,ArrayBuffer))return m(e,t,n);if("undefined"!=typeof SharedArrayBuffer&&(z(e,SharedArrayBuffer)||e&&z(e.buffer,SharedArrayBuffer)))return m(e,t,n);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var i=e.valueOf&&e.valueOf();if(null!=i&&i!==e)return l.from(i,t,n);var r=function(e){if(l.isBuffer(e)){var t=0|p(e.length),n=s(t);return 0===n.length||e.copy(n,0,0,t),n}return void 0!==e.length?"number"!=typeof e.length||j(e.length)?s(0):d(e):"Buffer"===e.type&&Array.isArray(e.data)?d(e.data):void 0}(e);if(r)return r;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return l.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function f(e){return c(e),s(e<0?0:0|p(e))}function d(e){for(var t=e.length<0?0:0|p(e.length),n=s(t),i=0;i=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function h(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||z(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return U(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(e).length;default:if(r)return i?-1:U(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return w(this,t,n);case"utf8":case"utf-8":return R(this,t,n);case"ascii":return M(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return A(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function y(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function v(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),j(n=+n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:C(e,t,n,i,r);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):C(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function C(e,t,n,i,r){var o,a=1,s=e.length,l=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(r){var c=-1;for(o=n;os&&(n=s-l),o=n;o>=0;o--){for(var f=!0,d=0;dr&&(i=r):i=r;var o=t.length;i>o/2&&(i=o/2);for(var a=0;a>8,r=n%256,o.push(r),o.push(i);return o}(t,e.length-n),e,n,i)}function A(e,t,n){return 0===t&&n===e.length?i.fromByteArray(e):i.fromByteArray(e.slice(t,n))}function R(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r239?4:u>223?3:u>191?2:1;if(r+f<=n)switch(f){case 1:u<128&&(c=u);break;case 2:128==(192&(o=e[r+1]))&&(l=(31&u)<<6|63&o)>127&&(c=l);break;case 3:o=e[r+1],a=e[r+2],128==(192&o)&&128==(192&a)&&(l=(15&u)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:o=e[r+1],a=e[r+2],s=e[r+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(l=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,f=1):c>65535&&(c-=65536,i.push(c>>>10&1023|55296),c=56320|1023&c),i.push(c),r+=f}return function(e){var t=e.length;if(t<=k)return String.fromCharCode.apply(String,e);for(var n="",i=0;ii.length?l.from(o).copy(i,r):Uint8Array.prototype.set.call(i,o,r);else{if(!l.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,r)}r+=o.length}return i},l.byteLength=h,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;tn&&(e+=" ... "),""},o&&(l.prototype[o]=l.prototype.inspect),l.prototype.compare=function(e,t,n,i,r){if(z(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(r>>>=0)-(i>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),u=this.slice(i,r),c=e.slice(t,n),f=0;f>>=0,isFinite(n)?(n>>>=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return x(this,e,t,n);case"ascii":case"latin1":case"binary":return E(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return D(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function M(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;ri)&&(n=i);for(var r="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function O(e,t,n,i,r,o){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||te.length)throw new RangeError("Index out of range")}function _(e,t,n,i,r,o){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,i,o){return t=+t,n>>>=0,o||_(e,0,n,4),r.write(e,t,n,i,23,4),n+4}function N(e,t,n,i,o){return t=+t,n>>>=0,o||_(e,0,n,8),r.write(e,t,n,i,52,8),n+8}l.prototype.slice=function(e,t){var n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},l.prototype.readUint8=l.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=this[e],r=1,o=0;++o=(r*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var i=t,r=1,o=this[e+--i];i>0&&(r*=256);)o+=this[e+--i]*r;return o>=(r*=128)&&(o-=Math.pow(2,8*t)),o},l.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),r.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),r.read(this,e,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(e,t,n,i){e=+e,t>>>=0,n>>>=0,i||O(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,o=0;for(this[t]=255&e;++o>>=0,n>>>=0,i||O(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,o=1;for(this[t+r]=255&e;--r>=0&&(o*=256);)this[t+r]=e/o&255;return t+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);O(this,e,t,n,r-1,-r)}var o=0,a=1,s=0;for(this[t]=255&e;++o>0)-s&255;return t+n},l.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t>>>=0,!i){var r=Math.pow(2,8*n-1);O(this,e,t,n,r-1,-r)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||O(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return N(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return N(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,i){if(!l.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(o=t;o55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===i){(t-=3)>-1&&o.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&o.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function F(e){return i.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(B,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function q(e,t,n,i){for(var r=0;r=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function z(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function j(e){return e!=e}var H=function(){for(var e="0123456789abcdef",t=new Array(256),n=0;n<16;++n)for(var i=16*n,r=0;r<16;++r)t[i+r]=e[n]+e[r];return t}()},8898:function(e,t){t.read=function(e,t,n,i,r){var o,a,s=8*r-i-1,l=(1<>1,c=-7,f=n?r-1:0,d=n?-1:1,m=e[t+f];for(f+=d,o=m&(1<<-c)-1,m>>=-c,c+=s;c>0;o=256*o+e[t+f],f+=d,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=i;c>0;a=256*a+e[t+f],f+=d,c-=8);if(0===o)o=1-u;else{if(o===l)return a?NaN:1/0*(m?-1:1);a+=Math.pow(2,i),o-=u}return(m?-1:1)*a*Math.pow(2,o-i)},t.write=function(e,t,n,i,r,o){var a,s,l,u=8*o-r-1,c=(1<>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,m=i?0:o-1,p=i?1:-1,h=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+f>=1?d/l:d*Math.pow(2,1-f))*l>=2&&(a++,l/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(t*l-1)*Math.pow(2,r),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,r),a=0));r>=8;e[n+m]=255&s,m+=p,s/=256,r-=8);for(a=a<0;e[n+m]=255&a,m+=p,a/=256,u-=8);e[n+m-p]|=128*h}}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={id:i,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="",n.nc=void 0,n(8549)}(); //# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/app.js.map b/app.js.map index 2e90815..9ea0787 100644 --- a/app.js.map +++ b/app.js.map @@ -1 +1 @@ -{"version":3,"file":"app.js","mappings":"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","sources":["webpack://fhirpath-demo/../browser-build/fhirpath.min.js","webpack://fhirpath-demo/../browser-build/fhirpath.r4.min.js","webpack://fhirpath-demo/./node_modules/codemirror/addon/lint/yaml-lint.js","webpack://fhirpath-demo/./node_modules/codemirror/lib/codemirror.js","webpack://fhirpath-demo/./node_modules/codemirror/mode/javascript/javascript.js","webpack://fhirpath-demo/./node_modules/codemirror/mode/yaml/yaml.js","webpack://fhirpath-demo/./node_modules/codemirror/lib/codemirror.css","webpack://fhirpath-demo/./public/app.css","webpack://fhirpath-demo/./node_modules/css-loader/dist/runtime/api.js","webpack://fhirpath-demo/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://fhirpath-demo/./node_modules/esprima/dist/esprima.js","webpack://fhirpath-demo/./public/index.html","webpack://fhirpath-demo/./node_modules/js-yaml/index.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/common.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/dumper.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/exception.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/loader.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/mark.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/schema.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/schema/core.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/schema/default_full.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/schema/default_safe.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/schema/failsafe.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/schema/json.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/binary.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/bool.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/float.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/int.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/js/function.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/js/regexp.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/js/undefined.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/map.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/merge.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/null.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/omap.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/pairs.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/seq.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/set.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/str.js","webpack://fhirpath-demo/./node_modules/js-yaml/lib/js-yaml/type/timestamp.js","webpack://fhirpath-demo/./public/patient-example.yaml","webpack://fhirpath-demo/./node_modules/codemirror/lib/codemirror.css?a5e1","webpack://fhirpath-demo/./public/app.css?b1af","webpack://fhirpath-demo/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://fhirpath-demo/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://fhirpath-demo/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://fhirpath-demo/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://fhirpath-demo/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://fhirpath-demo/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://fhirpath-demo/./public/app.js","webpack://fhirpath-demo/../node_modules/base64-js/index.js","webpack://fhirpath-demo/../node_modules/buffer/index.js","webpack://fhirpath-demo/../node_modules/ieee754/index.js","webpack://fhirpath-demo/webpack/bootstrap","webpack://fhirpath-demo/webpack/runtime/compat get default export","webpack://fhirpath-demo/webpack/runtime/define property getters","webpack://fhirpath-demo/webpack/runtime/hasOwnProperty shorthand","webpack://fhirpath-demo/webpack/runtime/make namespace object","webpack://fhirpath-demo/webpack/runtime/publicPath","webpack://fhirpath-demo/webpack/runtime/nonce","webpack://fhirpath-demo/webpack/startup"],"sourcesContent":["/*! For license information please see fhirpath.min.js.LICENSE.txt */\n!function(){var e={6759:function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Ucum=void 0,t.Ucum={dimLen_:7,validOps_:[\".\",\"/\"],codeSep_:\": \",valMsgStart_:\"Did you mean \",valMsgEnd_:\"?\",cnvMsgStart_:\"We assumed you meant \",cnvMsgEnd_:\".\",openEmph_:\" ->\",closeEmph_:\"<- \",openEmphHTML_:' ',closeEmphHTML_:\" \",bracesMsg_:\"FYI - annotations (text in curly braces {}) are ignored, except that an annotation without a leading symbol implies the default unit 1 (the unity).\",needMoleWeightMsg_:\"Did you wish to convert between mass and moles? The molecular weight of the substance represented by the units is required to perform the conversion.\",csvCols_:{\"case-sensitive code\":\"csCode_\",\"LOINC property\":\"loincProperty_\",\"name (display)\":\"name_\",synonyms:\"synonyms_\",source:\"source_\",category:\"category_\",Guidance:\"guidance_\"},inputKey_:\"case-sensitive code\",specUnits_:{\"B[10.nV]\":\"specialUnitOne\",\"[m/s2/Hz^(1/2)]\":\"specialUnitTwo\"}}},9460:function(e,t,n){\"use strict\";function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n=i.Ucum.dimLen_)throw new Error(\"Parameter error, invalid element number specified for Dimension constructor\");this.assignZero(),this.dimVec_[t]=1}}var t,n;return t=e,(n=[{key:\"setElementAt\",value:function(e,t){if(!a(e)||e<0||e>=i.Ucum.dimLen_)throw new Error(\"Dimension.setElementAt called with an invalid index \"+\"position (\".concat(e,\")\"));this.dimVec_||this.assignZero(),null==t&&(t=1),this.dimVec_[e]=t}},{key:\"getElementAt\",value:function(e){if(!a(e)||e<0||e>=i.Ucum.dimLen_)throw new Error(\"Dimension.getElementAt called with an invalid index \"+\"position (\".concat(e,\")\"));var t=null;return this.dimVec_&&(t=this.dimVec_[e]),t}},{key:\"getProperty\",value:function(e){return this[\"_\"===e.charAt(e.length-1)?e:e+\"_\"]}},{key:\"toString\",value:function(){var e=null;return this.dimVec_&&(e=\"[\"+this.dimVec_.join(\", \")+\"]\"),e}},{key:\"add\",value:function(t){if(!t instanceof e)throw new Error(\"Dimension.add called with an invalid parameter - \"+\"\".concat(r(t),\" instead of a Dimension object\"));if(this.dimVec_&&t.dimVec_)for(var n=0;n mole conversion cannot be executed for two mole-based units. No conversion was attempted.\");if(0===a.moleExp_&&0===u.moleExp_)throw new Error(\"A molecular weight was specified but a mass <-> mole conversion cannot be executed when neither unit is mole-based. No conversion was attempted.\");if(!a.isMoleMassCommensurable(u))throw new Error(\"Sorry. \".concat(e,\" cannot be \")+\"converted to \".concat(n,\".\"));0!==a.moleExp_?i.toVal=a.convertMolToMass(t,u,l):i.toVal=a.convertMassToMol(t,u,l)}else i.toVal=u.convertFrom(t,a);i.status=\"succeeded\",i.fromUnit=a,i.toUnit=u}catch(e){i.status=\"failed\",i.msg.push(e.message)}}catch(e){e.message==o.needMoleWeightMsg_?i.status=\"failed\":i.status=\"error\",i.msg.push(e.message)}return i}},{key:\"convertToBaseUnits\",value:function(e,t){var n={};if(this._checkFromVal(t,n),!n.status){var r=this.getSpecifiedUnit(e,\"validate\");n={status:\"valid\"==r.status?\"succeeded\":r.status};var l,i=r.unit;if(n.msg=r.retMsg||[],i){if(i.isArbitrary_)n.msg.push(\"Arbitrary units cannot be converted to base units or other units.\"),n.status=\"failed\";else if(\"succeeded\"==n.status){var a,s={},o=null===(a=i.dim_)||void 0===a?void 0:a.dimVec_,c=\"1\";if(o)for(var f=u.getInstance().dimVecIndexToBaseUnit_,m=0,h=o.length;m0&&(t=r.retMsg),l){var i=null,a=l.getProperty(\"dim_\");if(a){try{i=a.getProperty(\"dimVec_\")}catch(e){t.push(e.message),\"Dimension does not have requested property(dimVec_)\"===e.message&&(i=null)}i&&(n=u.getInstance().getUnitsByDimension(i))}else t.push(\"No commensurable units were found for \"+e)}else t.push(\"Could not find unit \".concat(e,\".\"));return[n,t]}}])&&r(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.n=f,f.getInstance=function(){return new f}},8973:function(e,t,n){\"use strict\";t.ng=void 0,n(6759).Ucum;var r=n(5845).n;t.ng=r,n(8443).UnitTables},9307:function(e,t,n){\"use strict\";function r(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.isBase_=t.isBase_||!1,this.name_=t.name_||\"\",this.csCode_=t.csCode_||\"\",this.ciCode_=t.ciCode_||\"\",this.property_=t.property_||\"\",this.magnitude_=t.magnitude_||1,void 0===t.dim_||null===t.dim_?this.dim_=new f:void 0!==t.dim_.dimVec_?this.dim_=new f(t.dim_.dimVec_):t.dim_ instanceof f?this.dim_=t.dim_:t.dim_ instanceof Array||m(t.dim_)?this.dim_=new f(t.dim_):this.dim_=new f,this.printSymbol_=t.printSymbol_||null,this.class_=t.class_||null,this.isMetric_=t.isMetric_||!1,this.variable_=t.variable_||null,this.cnv_=t.cnv_||null,this.cnvPfx_=t.cnvPfx_||1,this.isSpecial_=t.isSpecial_||!1,this.isArbitrary_=t.isArbitrary_||!1,this.moleExp_=t.moleExp_||0,this.synonyms_=t.synonyms_||null,this.source_=t.source_||null,this.loincProperty_=t.loincProperty_||null,this.category_=t.category_||null,this.guidance_=t.guidance_||null,this.csUnitString_=t.csUnitString_||null,this.ciUnitString_=t.ciUnitString_||null,this.baseFactorStr_=t.baseFactorStr_||null,this.baseFactor_=t.baseFactor_||null,this.defError_=t.defError_||!1}var t,l;return t=e,(l=[{key:\"assignUnity\",value:function(){return this.name_=\"\",this.magnitude_=1,this.dim_||(this.dim_=new f),this.dim_.assignZero(),this.cnv_=null,this.cnvPfx_=1,this}},{key:\"assignVals\",value:function(e){for(var t in e){var n=\"_\"===!t.charAt(t.length-1)?t+\"_\":t;if(!this.hasOwnProperty(n))throw new Error(\"Parameter error; \".concat(t,\" is not a property of a Unit\"));this[n]=e[t]}}},{key:\"clone\",value:function(){var t=this,n=new e;return Object.getOwnPropertyNames(this).forEach((function(e){\"dim_\"===e?t.dim_?n.dim_=t.dim_.clone():n.dim_=null:n[e]=t[e]})),n}},{key:\"assign\",value:function(e){var t=this;Object.getOwnPropertyNames(e).forEach((function(n){\"dim_\"===n?e.dim_?t.dim_=e.dim_.clone():t.dim_=null:t[n]=e[n]}))}},{key:\"equals\",value:function(e){return this.magnitude_===e.magnitude_&&this.cnv_===e.cnv_&&this.cnvPfx_===e.cnvPfx_&&(null===this.dim_&&null===e.dim_||this.dim_.equals(e.dim_))}},{key:\"fullEquals\",value:function(e){for(var t=Object.keys(this).sort(),n=Object.keys(e).sort(),r=t.length,l=r===n.length,i=0;i0){var t=e.replace(\"/\",\"!\").replace(\".\",\"/\").replace(\"!\",\".\");switch(t.charAt(0)){case\".\":e=t.substr(1);break;case\"/\":e=t;break;default:e=\"/\"+t}}return e}},{key:\"_concatStrs\",value:function(e,t,n,r,l){return this._buildOneString(e,r,l)+t+this._buildOneString(n,r,l)}},{key:\"_buildOneString\",value:function(e,t,n){return s.isNumericString(e)||\"(\"===e.charAt(0)&&e.endsWith(\")\")||\"[\"===e.charAt(0)&&e.endsWith(\"]\")?e:/[./* ]/.test(e)?t+e+n:e}},{key:\"power\",value:function(e){if(null!=this.cnv_)throw new Error(\"Attempt to raise a non-ratio unit, \".concat(this.name_,\", \")+\"to a power.\");for(var t=this.csCode_.match(/([./]|[^./]+)/g),n=t.length,r=0;r=0;s--){var o=parseInt(l[s]);if(!m(o)){if(\"-\"!==l[s]&&\"+\"!==l[s]||s--,s0)l[0]=null,l[1]=null;else{this.retMsg_.length;var i=null;for(i in u.specUnits_)for(;-1!==e.indexOf(i);)e=e.replace(i,u.specUnits_[i]);if(e.indexOf(\" \")>-1)throw new Error(\"Blank spaces are not allowed in unit expressions.\");var s=(l=this._parseTheString(e,r))[0];(a.isIntegerUnit(s)||\"number\"==typeof s)&&(s=new c({csCode_:r,ciCode_:r,magnitude_:s,name_:r}),l[0]=s)}return l[2]=this.retMsg_,this.suggestions_&&this.suggestions_.length>0&&(l[3]=this.suggestions_),l}},{key:\"_parseTheString\",value:function(e,t){var n=null,r=this.retMsg_.length>0,l=this._processParens(e,t),i=[];if(!(r=l[2])){e=l[0],t=l[1];var s=this._makeUnitsArray(e,t);if(!(r=s[2])){i=s[0],t=s[1];for(var o=i.length,u=0;u=0){var f=this._getParensUnit(c,t);r||(r=f[1]),r||(i[u].un=f[0])}else{var m=this._makeUnit(c,t);null===m[0]?r=!0:(i[u].un=m[0],t=m[1])}}}}return r||null!==i[0]&&\" \"!==i[0]&&void 0!==i[0].un&&null!==i[0].un||0!==this.retMsg_.length||(this.retMsg_.push(\"Unit string (\".concat(t,\") did not contain \")+\"anything that could be used to create a unit, or else something that is not handled yet by this package. Sorry\"),r=!0),r||(n=this._performUnitArithmetic(i,t)),[n,t]}},{key:\"_getAnnotations\",value:function(t){for(var n=t.indexOf(\"{\");n>=0;){var r=t.indexOf(\"}\");if(r<0)this.retMsg_.push(\"Missing closing brace for annotation starting at \"+this.openEmph_+t.substr(n)+this.closeEmph_),n=-1;else{var l=t.substring(n,r+1);if(e.VALID_ANNOTATION_REGEX.test(l)){var i=this.annotations_.length.toString();t=t.replace(l,this.braceFlag_+i+this.braceFlag_),this.annotations_.push(l),n=t.indexOf(\"{\")}else this.retMsg_.push(e.INVALID_ANNOTATION_CHAR_MSG+this.openEmph_+l+this.closeEmph_),n=-1}}if(0==this.retMsg_.length){var a=t.indexOf(\"}\");a>=0&&this.retMsg_.push(\"Missing opening brace for closing brace found at \"+this.openEmph_+t.substring(0,a+1)+this.closeEmph_)}return t}},{key:\"_processParens\",value:function(e,t){for(var n=[],r=0,l=!1,i=this.parensUnits_.length,a=0;\"\"!==e&&!l;){var s=0,o=0,u=e.indexOf(\"(\");if(u<0){var c=e.indexOf(\")\");if(c>=0){var f=\"Missing open parenthesis for close \"+\"parenthesis at \".concat(e.substring(0,c+a))+\"\".concat(this.openEmph_).concat(e.substr(c,1)).concat(this.closeEmph_);c0&&(n[r++]=e.substr(0,u));for(var h=0,p=u+1;p0&&(i=e.substr(0,l-1));var s=e.lastIndexOf(this.parensFlag_),o=null;s+this.pFlagLen_=0){var m=this._getAnnoText(i,t);if(m[1]||m[2])throw new Error(\"Text found before the parentheses (\"+\"\".concat(i,\") included an annotation along with other text \")+\"for parenthetical unit \".concat(r.csCode_));e+=m[0],this.retMsg_.push(\"The annotation \".concat(m[0],\" before the unit \")+\"code is invalid.\\n\"+this.vcMsgStart_+e+this.vcMsgEnd_)}else this.suggestions_?n=\"succeeded\"!==this._getSuggestions(i):(this.retMsg_.push(\"\".concat(i,\" preceding the unit code \").concat(e,\" \")+\"is invalid. Unable to make a substitution.\"),n=!0);if(o)if(o.indexOf(this.braceFlag_)>=0){var h=this._getAnnoText(o,t);if(h[1]||h[2])throw new Error(\"Text found after the parentheses (\"+\"\".concat(o,\") included an annotation along with other text \")+\"for parenthetical unit \".concat(r.csCode_));e+=h[0]}else a.isNumericString(o)?(e+=o,r=r.power(Number(o)),this.retMsg_.push(\"An exponent (\".concat(o,\") following a parenthesis \")+\"is invalid as of revision 1.9 of the UCUM Specification.\\n \"+this.vcMsgStart_+e+this.vcMsgEnd_)):this.suggestions_?n=\"succeeded\"!==this._getSuggestions(i):(this.retMsg_.push(\"Text \".concat(o,\" following the unit code \").concat(e,\" \")+\"is invalid. Unable to make a substitution.\"),n=!0);return n||(r?a.isIntegerUnit(r)?r=new c({csCode_:r,magnitude_:r,name_:r}):r.csCode_=e:r=new c({csCode_:e,magnitude_:1,name_:e})),[r,n]}},{key:\"_getAnnoText\",value:function(e,t){var n=e.indexOf(this.braceFlag_),r=n>0?e.substring(0,n):null;0!==n&&(e=e.substr(n));var l=e.indexOf(this.braceFlag_,1),i=l+this.bFlagLen_=this.annotations_.length)throw new Error(\"Processing Error - invalid annotation index \".concat(s,\" found \")+\"in \".concat(e,\" that was created from \").concat(t));return[e=this.annotations_[o],r,i]}},{key:\"_getSuggestions\",value:function(e){var t=a.getSynonyms(e);if(\"succeeded\"===t.status){var n={};n.msg=\"\".concat(e,\" is not a valid UCUM code. We found possible \")+\"units that might be what was meant:\",n.invalidUnit=e;var r=t.units.length;n.units=[];for(var l=0;l=0){var r=this._getUnitWithAnnotation(e,t);(n=r[0])&&(t=r[1])}else{if(e.indexOf(\"^\")>-1){var l=e.replace(\"^\",\"*\");(n=this.utabs_.getUnitByCode(l))&&((n=n.clone()).csCode_=n.csCode_.replace(\"*\",\"^\"),n.ciCode_=n.ciCode_.replace(\"*\",\"^\"))}if(!n){var i=\"[\"+e+\"]\";(n=this.utabs_.getUnitByCode(i))&&(n=n.clone(),t=t.replace(e,i),this.retMsg_.push(\"\".concat(e,\" is not a valid unit expression, but \")+\"\".concat(i,\" is.\\n\")+this.vcMsgStart_+\"\".concat(i,\" (\").concat(n.name_,\")\").concat(this.vcMsgEnd_)))}if(!n){var a=this.utabs_.getUnitByName(e);if(a&&a.length>0){for(var s=\"The UCUM code for \"+e+\" is \"+(n=a[0].clone()).csCode_+\".\\n\"+this.vcMsgStart_+n.csCode_+this.vcMsgEnd_,o=!1,c=0;c\"+I+\"\",csCode_:M+I,ciCode_:U+I,printSymbol_:O+\"\"+I+\"\"})}}else n=null,this.suggestions_?this._getSuggestions(p):this.retMsg_.push(\"\".concat(p,\" is not a valid UCUM code.\"))}}return[n,t]}},{key:\"_getUnitWithAnnotation\",value:function(e,t){var n=null,l=this._getAnnoText(e,t),i=l[0],s=l[1],o=l[2];this.bracesMsg_&&-1===this.retMsg_.indexOf(this.bracesMsg_)&&this.retMsg_.push(this.bracesMsg_);var u,f,m=this.retMsg_.length;if(s||o)if(s&&!o)if(a.isIntegerUnit(s))n=s;else{var h=this._makeUnit(s,t);h[0]?((n=h[0]).csCode_+=i,t=h[1]):this.retMsg_.push(\"Unable to find a unit for \".concat(s,\" that \")+\"precedes the annotation \".concat(i,\".\"))}else if(!s&&o)if(a.isIntegerUnit(o))n=o+i,this.retMsg_.push(\"The annotation \".concat(i,\" before the \")(r||(u=[\"\",\" is invalid.\\n\"],(f=[\"\",\" is invalid.\\\\n\"])||(f=u.slice(0)),r=Object.freeze(Object.defineProperties(u,{raw:{value:Object.freeze(f)}}))),o)+this.vcMsgStart_+n+this.vcMsgEnd_);else{var p=this._makeUnit(o,t);p[0]?((n=p[0]).csCode_+=i,t=n.csCode_,this.retMsg_.push(\"The annotation \".concat(i,\" before the unit \")+\"code is invalid.\\n\"+this.vcMsgStart_+n.csCode_+this.vcMsgEnd_)):this.retMsg_.push(\"Unable to find a unit for \".concat(s,\" that \")+\"follows the annotation \".concat(i,\".\"))}else this.retMsg_.push(\"Unable to find a unit for \".concat(s).concat(i)+\"\".concat(o,\".\\nWe are not sure how to interpret text both before \")+\"and after the annotation. Sorry\");else{var d=\"[\"+i.substring(1,i.length-1)+\"]\",y=this._makeUnit(d,t);y[0]?(n=e,this.retMsg_.push(\"\".concat(i,\" is a valid unit expression, but \")+\"did you mean \".concat(d,\" (\").concat(y[0].name_,\")?\"))):this.retMsg_.length>m&&this.retMsg_.pop(),n=new c({csCode_:i,ciCode_:i,magnitude_:1,name_:i})}return[n,t]}},{key:\"_performUnitArithmetic\",value:function(e,t){var n=e[0].un;a.isIntegerUnit(n)&&(n=new c({csCode_:n,ciCode_:n,magnitude_:Number(n),name_:n}));for(var r=e.length,l=!1,i=1;i=1&&(n=e.substr(t+i.codeSep_.length),e=e.substr(0,t));var r=this.unitNames_[e];if(r){var l=r.length;if(n&&l>1){for(var a=0;r[a].csCode_!==n&&a0&&(n+=t),\"dim_\"===e[c])null!==u.dim_&&void 0!==u.dim_&&u.dim_.dimVec_ instanceof Array?n+=\"[\"+u.dim_.dimVec_.join(\",\")+\"]\":n+=\"\";else{var f=u[e[c]];n+=\"string\"==typeof f?f.replace(/[\\n\\r]/g,\" \"):f}n+=\"\\r\\n\"}return n}},{key:\"printUnits\",value:function(e,t){void 0===e&&(e=!1),void 0===t&&(t=\"|\");var n=\"\",r=this.codeOrder_.length,l=\"csCode\"+t;e&&(l+=\"ciCode\"+t),l+=\"name\"+t,e&&(l+=\"isBase\"+t),l+=\"magnitude\"+t+\"dimension\"+t+\"from unit(s)\"+t+\"value\"+t+\"function\"+t,e&&(l+=\"property\"+t+\"printSymbol\"+t+\"synonyms\"+t+\"source\"+t+\"class\"+t+\"isMetric\"+t+\"variable\"+t+\"isSpecial\"+t+\"isAbitrary\"+t),n=(l+=\"comment\")+\"\\n\";for(var i=0;i=0&&(this.fetchedEOF?this.index0)||this.fetch(t)>=t}},{key:\"fetch\",value:function(e){if(this.fetchedEOF)return 0;for(var t=0;t=this.tokens.length&&(t=this.tokens.length-1);for(var l=e;l=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[t]}},{key:\"adjustSeekIndex\",value:function(e){return e}},{key:\"lazyInit\",value:function(){-1===this.index&&this.setup()}},{key:\"setup\",value:function(){this.sync(0),this.index=this.adjustSeekIndex(0)}},{key:\"setTokenSource\",value:function(e){this.tokenSource=e,this.tokens=[],this.index=-1,this.fetchedEOF=!1}},{key:\"nextTokenOnChannel\",value:function(e,t){if(this.sync(e),e>=this.tokens.length)return-1;for(var n=this.tokens[e];n.channel!==this.channel;){if(n.type===u.EOF)return-1;e+=1,this.sync(e),n=this.tokens[e]}return e}},{key:\"previousTokenOnChannel\",value:function(e,t){for(;e>=0&&this.tokens[e].channel!==t;)e-=1;return e}},{key:\"getHiddenTokensToRight\",value:function(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+\" not in 0..\"+this.tokens.length-1;var n=this.nextTokenOnChannel(e+1,c.DEFAULT_TOKEN_CHANNEL),r=e+1,l=-1===n?this.tokens.length-1:n;return this.filterForChannel(r,l,t)}},{key:\"getHiddenTokensToLeft\",value:function(e,t){if(void 0===t&&(t=-1),this.lazyInit(),e<0||e>=this.tokens.length)throw e+\" not in 0..\"+this.tokens.length-1;var n=this.previousTokenOnChannel(e-1,c.DEFAULT_TOKEN_CHANNEL);if(n===e-1)return null;var r=n+1,l=e-1;return this.filterForChannel(r,l,t)}},{key:\"filterForChannel\",value:function(e,t,n){for(var r=[],l=e;l=this.tokens.length&&(n=this.tokens.length-1);for(var r=\"\",l=t;l\",this.strdata=t,this.decodeToUnicodeCodePoints=n||!1,this._index=0,this.data=[],this.decodeToUnicodeCodePoints)for(var r=0;r=this._size)throw\"cannot consume EOF\";this._index+=1}},{key:\"LA\",value:function(e){if(0===e)return 0;e<0&&(e+=1);var t=this._index+e-1;return t<0||t>=this._size?i.EOF:this.data[t]}},{key:\"LT\",value:function(e){return this.LA(e)}},{key:\"mark\",value:function(){return-1}},{key:\"release\",value:function(e){}},{key:\"seek\",value:function(e){e<=this._index?this._index=e:this._index=Math.min(e,this._size)}},{key:\"getText\",value:function(e,t){if(t>=this._size&&(t=this._size-1),e>=this._size)return\"\";if(this.decodeToUnicodeCodePoints){for(var n=\"\",r=e;r<=t;r++)n+=String.fromCodePoint(this.data[r]);return n}return this.strdata.slice(e,t+1)}},{key:\"toString\",value:function(){return this.strdata}},{key:\"index\",get:function(){return this._index}},{key:\"size\",get:function(){return this._size}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();e.exports=a},5062:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){for(var n=0;n=this.start&&e=n.stop?(this.intervals.splice(e+1,1),this.reduce(e)):t.stop>=n.start&&(this.intervals[e]=new o(t.start,n.stop),this.intervals.splice(e+1,1))}}},{key:\"complement\",value:function(t,n){var r=new e;return r.addInterval(new o(t,n+1)),null!==this.intervals&&this.intervals.forEach((function(e){return r.removeRange(e)})),r}},{key:\"contains\",value:function(e){if(null===this.intervals)return!1;for(var t=0;tr.start&&e.stop=r.stop?(this.intervals.splice(t,1),t-=1):e.start\"):e.push(\"'\"+String.fromCharCode(n.start)+\"'\"):e.push(\"'\"+String.fromCharCode(n.start)+\"'..'\"+String.fromCharCode(n.stop-1)+\"'\")}return e.length>1?\"{\"+e.join(\", \")+\"}\":e[0]}},{key:\"toIndexString\",value:function(){for(var e=[],t=0;t\"):e.push(n.start.toString()):e.push(n.start.toString()+\"..\"+(n.stop-1).toString())}return e.length>1?\"{\"+e.join(\", \")+\"}\":e[0]}},{key:\"toTokenString\",value:function(e,t){for(var n=[],r=0;r1?\"{\"+n.join(\", \")+\"}\":n[0]}},{key:\"elementName\",value:function(e,t,n){return n===s.EOF?\"\":n===s.EPSILON?\"\":e[n]||t[n]}},{key:\"length\",get:function(){return this.intervals.map((function(e){return e.length})).reduce((function(e,t){return e+t}))}}]),e}();e.exports={Interval:o,IntervalSet:u}},2894:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n\":\"\\n\"===e?\"\\\\n\":\"\\t\"===e?\"\\\\t\":\"\\r\"===e?\"\\\\r\":e}},{key:\"getCharErrorDisplay\",value:function(e){return\"'\"+this.getErrorDisplayForChar(e)+\"'\"}},{key:\"recover\",value:function(e){this._input.LA(1)!==o.EOF&&(e instanceof m?this._interp.consume(this._input):this._input.consume())}},{key:\"inputStream\",get:function(){return this._input},set:function(e){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=e,this._tokenFactorySourcePair=[this,this._input]}},{key:\"sourceName\",get:function(){return this._input.sourceName}},{key:\"type\",get:function(){return this._type},set:function(e){this._type=e}},{key:\"line\",get:function(){return this._interp.line},set:function(e){this._interp.line=e}},{key:\"column\",get:function(){return this._interp.column},set:function(e){this._interp.column=e}},{key:\"text\",get:function(){return null!==this._text?this._text:this._interp.getText(this._input)},set:function(e){this._text=e}}])&&s(u.prototype,h),p&&s(u,p),Object.defineProperty(u,\"prototype\",{writable:!1}),y}(u);h.DEFAULT_MODE=0,h.MORE=-2,h.SKIP=-3,h.DEFAULT_TOKEN_CHANNEL=o.DEFAULT_CHANNEL,h.HIDDEN=o.HIDDEN_CHANNEL,h.MIN_CHAR_VALUE=0,h.MAX_CHAR_VALUE=1114111,e.exports=h},4680:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){for(var n=0;n0?(this._errHandler.reportMatch(this),this.consume()):(e=this._errHandler.recoverInline(this),this._buildParseTrees&&-1===e.tokenIndex&&this._ctx.addErrorNode(e)),e}},{key:\"getParseListeners\",value:function(){return this._parseListeners||[]}},{key:\"addParseListener\",value:function(e){if(null===e)throw\"listener\";null===this._parseListeners&&(this._parseListeners=[]),this._parseListeners.push(e)}},{key:\"removeParseListener\",value:function(e){if(null!==this._parseListeners){var t=this._parseListeners.indexOf(e);t>=0&&this._parseListeners.splice(t,1),0===this._parseListeners.length&&(this._parseListeners=null)}}},{key:\"removeParseListeners\",value:function(){this._parseListeners=null}},{key:\"triggerEnterRuleEvent\",value:function(){if(null!==this._parseListeners){var e=this._ctx;this._parseListeners.forEach((function(t){t.enterEveryRule(e),e.enterRule(t)}))}}},{key:\"triggerExitRuleEvent\",value:function(){if(null!==this._parseListeners){var e=this._ctx;this._parseListeners.slice(0).reverse().forEach((function(t){e.exitRule(t),t.exitEveryRule(e)}))}}},{key:\"getTokenFactory\",value:function(){return this._input.tokenSource._factory}},{key:\"setTokenFactory\",value:function(e){this._input.tokenSource._factory=e}},{key:\"getATNWithBypassAlts\",value:function(){var e=this.getSerializedATN();if(null===e)throw\"The current parser does not support an ATN with bypass alternatives.\";var t=this.bypassAltsAtnCache[e];if(null===t){var n=new b;n.generateRuleBypassTransitions=!0,t=new v(n).deserialize(e),this.bypassAltsAtnCache[e]=t}return t}},{key:\"compileParseTreePattern\",value:function(e,t,n){if(null===(n=n||null)&&null!==this.getTokenStream()){var r=this.getTokenStream().tokenSource;r instanceof _&&(n=r)}if(null===n)throw\"Parser can't discover a lexer to use\";return new ParseTreePatternMatcher(n,this).compile(e,t)}},{key:\"getInputStream\",value:function(){return this.getTokenStream()}},{key:\"setInputStream\",value:function(e){this.setTokenStream(e)}},{key:\"getTokenStream\",value:function(){return this._input}},{key:\"setTokenStream\",value:function(e){this._input=null,this.reset(),this._input=e}},{key:\"getCurrentToken\",value:function(){return this._input.LT(1)}},{key:\"notifyErrorListeners\",value:function(e,t,n){n=n||null,null===(t=t||null)&&(t=this.getCurrentToken()),this._syntaxErrors+=1;var r=t.line,l=t.column;this.getErrorListenerDispatch().syntaxError(this,t,r,l,e,n)}},{key:\"consume\",value:function(){var e=this.getCurrentToken();e.type!==f.EOF&&this.getInputStream().consume();var t,n=null!==this._parseListeners&&this._parseListeners.length>0;return(this.buildParseTrees||n)&&((t=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(e):this._ctx.addTokenNode(e)).invokingState=this.state,n&&this._parseListeners.forEach((function(e){t instanceof d||void 0!==t.isErrorNode&&t.isErrorNode()?e.visitErrorNode(t):t instanceof p&&e.visitTerminal(t)}))),e}},{key:\"addContextToParseTree\",value:function(){null!==this._ctx.parentCtx&&this._ctx.parentCtx.addChild(this._ctx)}},{key:\"enterRule\",value:function(e,t,n){this.state=t,this._ctx=e,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}},{key:\"exitRule\",value:function(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}},{key:\"enterOuterAlt\",value:function(e,t){e.setAltNumber(t),this.buildParseTrees&&this._ctx!==e&&null!==this._ctx.parentCtx&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(e)),this._ctx=e}},{key:\"getPrecedence\",value:function(){return 0===this._precedenceStack.length?-1:this._precedenceStack[this._precedenceStack.length-1]}},{key:\"enterRecursionRule\",value:function(e,t,n,r){this.state=t,this._precedenceStack.push(r),this._ctx=e,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}},{key:\"pushNewRecursionContext\",value:function(e,t,n){var r=this._ctx;r.parentCtx=e,r.invokingState=t,r.stop=this._input.LT(-1),this._ctx=e,this._ctx.start=r.start,this.buildParseTrees&&this._ctx.addChild(r),this.triggerEnterRuleEvent()}},{key:\"unrollRecursionContexts\",value:function(e){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);var t=this._ctx,n=this.getParseListeners();if(null!==n&&n.length>0)for(;this._ctx!==e;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=e;t.parentCtx=e,this.buildParseTrees&&null!==e&&e.addChild(t)}},{key:\"getInvokingContext\",value:function(e){for(var t=this._ctx;null!==t;){if(t.ruleIndex===e)return t;t=t.parentCtx}return null}},{key:\"precpred\",value:function(e,t){return t>=this._precedenceStack[this._precedenceStack.length-1]}},{key:\"inContext\",value:function(e){return!1}},{key:\"isExpectedToken\",value:function(e){var t=this._interp.atn,n=this._ctx,r=t.states[this.state],l=t.nextTokens(r);if(l.contains(e))return!0;if(!l.contains(f.EPSILON))return!1;for(;null!==n&&n.invokingState>=0&&l.contains(f.EPSILON);){var i=t.states[n.invokingState].transitions[0];if((l=t.nextTokens(i.followState)).contains(e))return!0;n=n.parentCtx}return!(!l.contains(f.EPSILON)||e!==f.EOF)}},{key:\"getExpectedTokens\",value:function(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}},{key:\"getExpectedTokensWithinCurrentRule\",value:function(){var e=this._interp.atn,t=e.states[this.state];return e.nextTokens(t)}},{key:\"getRuleIndex\",value:function(e){var t=this.getRuleIndexMap()[e];return null!==t?t:-1}},{key:\"getRuleInvocationStack\",value:function(e){null===(e=e||null)&&(e=this._ctx);for(var t=[];null!==e;){var n=e.ruleIndex;n<0?t.push(\"n/a\"):t.push(this.ruleNames[n]),e=e.parentCtx}return t}},{key:\"getDFAStrings\",value:function(){return this._interp.decisionToDFA.toString()}},{key:\"dumpDFA\",value:function(){for(var e=!1,t=0;t0&&(e&&console.log(),this.printer.println(\"Decision \"+n.decision+\":\"),this.printer.print(n.toString(this.literalNames,this.symbolicNames)),e=!0)}}},{key:\"getSourceName\",value:function(){return this._input.sourceName}},{key:\"setTrace\",value:function(e){e?(null!==this._tracer&&this.removeParseListener(this._tracer),this._tracer=new C(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}}]),n}(y);L.bypassAltsAtnCache={},e.exports=L},788:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n=this.children.length)return null;if(null===t)return this.children[e];for(var n=0;n=this.children.length)return null;for(var n=0;n0&&(e+=\", \"),this.returnStates[t]!==v.EMPTY_RETURN_STATE?(e+=this.returnStates[t],null!==this.parents[t]?e=e+\" \"+this.parents[t]:e+=\"null\"):e+=\"$\";return e+\"]\"}},{key:\"length\",get:function(){return this.returnStates.length}}]),n}(v);e.exports={merge:function e(t,n,r,l){if(t===n)return t;if(t instanceof _&&n instanceof _)return function(t,n,r,l){if(null!==l){var i=l.get(t,n);if(null!==i)return i;if(null!==(i=l.get(n,t)))return i}var a=function(e,t,n){if(n){if(e===v.EMPTY)return v.EMPTY;if(t===v.EMPTY)return v.EMPTY}else{if(e===v.EMPTY&&t===v.EMPTY)return v.EMPTY;if(e===v.EMPTY){var r=[t.returnState,v.EMPTY_RETURN_STATE],l=[t.parentCtx,null];return new L(l,r)}if(t===v.EMPTY){var i=[e.returnState,v.EMPTY_RETURN_STATE],a=[e.parentCtx,null];return new L(a,i)}}return null}(t,n,r);if(null!==a)return null!==l&&l.set(t,n,a),a;if(t.returnState===n.returnState){var s=e(t.parentCtx,n.parentCtx,r,l);if(s===t.parentCtx)return t;if(s===n.parentCtx)return n;var o=_.create(s,t.returnState);return null!==l&&l.set(t,n,o),o}var u=null;if((t===n||null!==t.parentCtx&&t.parentCtx===n.parentCtx)&&(u=t.parentCtx),null!==u){var c=[t.returnState,n.returnState];t.returnState>n.returnState&&(c[0]=n.returnState,c[1]=t.returnState);var f=new L([u,u],c);return null!==l&&l.set(t,n,f),f}var m=[t.returnState,n.returnState],h=[t.parentCtx,n.parentCtx];t.returnState>n.returnState&&(m[0]=n.returnState,m[1]=t.returnState,h=[n.parentCtx,t.parentCtx]);var p=new L(h,m);return null!==l&&l.set(t,n,p),p}(t,n,r,l);if(r){if(t instanceof C)return t;if(n instanceof C)return n}return t instanceof _&&(t=new L([t.getParent()],[t.returnState])),n instanceof _&&(n=new L([n.getParent()],[n.returnState])),function(t,n,r,l){if(null!==l){var i=l.get(t,n);if(null!==i)return i;if(null!==(i=l.get(n,t)))return i}for(var a=0,s=0,o=0,u=[],c=[];at.length?e.length:t.length;this.tokenNames=[];for(var r=0;r\";var t=e.text;return null===t&&(t=e.type===i.EOF?\"\":\"<\"+e.type+\">\"),\"'\"+(t=t.replace(\"\\n\",\"\\\\n\").replace(\"\\r\",\"\\\\r\").replace(\"\\t\",\"\\\\t\"))+\"'\"}},{key:\"getErrorListenerDispatch\",value:function(){return new s(this._listeners)}},{key:\"sempred\",value:function(e,t,n){return!0}},{key:\"precpred\",value:function(e,t){return!0}},{key:\"state\",get:function(){return this._stateNumber},set:function(e){this._stateNumber=e}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();o.tokenTypeMapCache={},o.ruleIndexMapCache={},e.exports=o},3680:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n=0&&l\",\"[@\"+this.tokenIndex+\",\"+this.start+\":\"+this.stop+\"='\"+e+\"',<\"+this.type+\">\"+(this.channel>0?\",channel=\"+this.channel:\"\")+\",\"+this.line+\":\"+this.column+\"]\"}},{key:\"text\",get:function(){if(null!==this._text)return this._text;var e=this.getInputStream();if(null===e)return null;var t=e.size;return this.start\"},set:function(e){this._text=e}}]),c}(s);o.EMPTY_SOURCE=[null,null],e.exports={Token:s,CommonToken:o}},7090:function(e){function t(e){return t=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},t(e)}function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function r(e,n){for(var r=0;r>>16)*a&65535)<<16)&4294967295)<<15|t>>>17))*s+(((t>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(e>>>16)&65535)<<16);switch(t=0,r){case 3:t^=(255&n.charCodeAt(o+2))<<16;case 2:t^=(255&n.charCodeAt(o+1))<<8;case 1:i^=t=(65535&(t=(t=(65535&(t^=255&n.charCodeAt(o)))*a+(((t>>>16)*a&65535)<<16)&4294967295)<<15|t>>>17))*s+(((t>>>16)*s&65535)<<16)&4294967295}return i^=n.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};var u=function(){function e(t,r){n(this,e),this.data={},this.hashFunction=t||o,this.equalsFunction=r||s}return l(e,[{key:\"add\",value:function(e){var t=\"hash_\"+this.hashFunction(e);if(t in this.data){for(var n=this.data[t],r=0;r>>17,r*=461845907,this.count=this.count+1;var l=this.hash^r;l=5*(l=l<<13|l>>>19)+3864292196,this.hash=l}}}},{key:\"finish\",value:function(){var e=this.hash^4*this.count;return e^=e>>>16,e*=2246822507,e^=e>>>13,(e*=3266489909)^e>>>16}}]),e}();e.exports={Hash:p,Set:u,Map:f,BitSet:c,AltDict:m,DoubleDict:h,hashStuff:function(){var e=new p;return e.update.apply(e,arguments),e.finish()},escapeWhitespace:function(e,t){return e=e.replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\"),t&&(e=e.replace(/ /g,\"·\")),e},arrayToString:a,titleCase:function(e){return e.replace(/\\w\\S*/g,(function(e){return e.charAt(0).toUpperCase()+e.substr(1)}))},equalArrays:function(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e===t)return!0;if(e.length!==t.length)return!1;for(var n=0;n=this.states.length)throw\"Invalid state number.\";var n=this.states[e],r=this.nextTokens(n);if(!r.contains(s.EPSILON))return r;var l=new a;for(l.addSet(r),l.removeOne(s.EPSILON);null!==t&&t.invokingState>=0&&r.contains(s.EPSILON);){var i=this.states[t.invokingState].transitions[0];r=this.nextTokens(i.followState),l.addSet(r),l.removeOne(s.EPSILON),t=t.parentCtx}return r.contains(s.EPSILON)&&l.addOne(s.EOF),l}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();o.INVALID_ALT_NUMBER=0,e.exports=o},4769:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(){return l=\"undefined\"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=o(e)););return e}(e,t);if(r){var l=Object.getOwnPropertyDescriptor(r,t);return l.get?l.get.call(arguments.length<3?e:n):l.value}},l.apply(this,arguments)}function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}function a(e,t){if(t&&(\"object\"===r(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return s(e)}function s(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}function u(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function c(e,t){for(var n=0;n0?\",up=\"+this.reachesIntoOuterContext:\"\")+\")\"}}]),e}(),g=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&i(e,t)}(c,e);var t,n,r=(t=c,n=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=o(t);if(n){var l=o(this).constructor;e=Reflect.construct(r,arguments,l)}else e=r.apply(this,arguments);return a(this,e)});function c(e,t){var n;u(this,c),n=r.call(this,e,t);var l=e.lexerActionExecutor||null;return n.lexerActionExecutor=l||(null!==t?t.lexerActionExecutor:null),n.passedThroughNonGreedyDecision=null!==t&&n.checkNonGreedyDecision(t,n.state),n.hashCodeForConfigSet=c.prototype.hashCode,n.equalsForConfigSet=c.prototype.equals,a(n,s(n))}return f(c,[{key:\"updateHashCode\",value:function(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}},{key:\"equals\",value:function(e){return this===e||e instanceof c&&this.passedThroughNonGreedyDecision===e.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(e.lexerActionExecutor):!e.lexerActionExecutor)&&l(o(c.prototype),\"equals\",this).call(this,e)}},{key:\"checkNonGreedyDecision\",value:function(e,t){return e.passedThroughNonGreedyDecision||t instanceof m&&t.nonGreedy}}]),c}(y);e.exports.ATNConfig=y,e.exports.LexerATNConfig=g},5327:function(e,t,n){function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function i(e){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){for(var n=0;n0&&(this.dipsIntoOuterContext=!0);var n=this.configLookup.add(e);if(n===e)return this.cachedHashCode=-1,this.configs.push(e),!0;var r=!this.fullCtx,l=m(n.context,e.context,r,t);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,e.reachesIntoOuterContext),e.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=l,!0}},{key:\"getStates\",value:function(){for(var e=new c.Set,t=0;t=n}},{key:\"deserialize\",value:function(e){this.reset(e),this.checkVersion(),this.checkUUID();var t=this.readATN();this.readStates(t),this.readRules(t),this.readModes(t);var n=[];return this.readSets(t,n,this.readInt.bind(this)),this.isFeatureSupported(J,this.uuid)&&this.readSets(t,n,this.readInt32.bind(this)),this.readEdges(t,n),this.readDecisions(t),this.readLexerActions(t),this.markPrecedenceDecisions(t),this.verifyATN(t),this.deserializationOptions.generateRuleBypassTransitions&&t.grammarType===s.PARSER&&(this.generateRuleBypassTransitions(t),this.verifyATN(t)),t}},{key:\"reset\",value:function(e){var t=e.split(\"\").map((function(e){var t=e.charCodeAt(0);return t>1?t-2:t+65534}));t[0]=e.charCodeAt(0),this.data=t,this.pos=0}},{key:\"checkVersion\",value:function(){var e=this.readInt();if(3!==e)throw\"Could not deserialize ATN with version \"+e+\" (expected 3).\"}},{key:\"checkUUID\",value:function(){var e=this.readUUID();if(Y.indexOf(e)<0)throw Q;this.uuid=e}},{key:\"readATN\",value:function(){var e=this.readInt(),t=this.readInt();return new a(e,t)}},{key:\"readStates\",value:function(e){for(var t,n,r,l=[],i=[],a=this.readInt(),s=0;s0;)l.addTransition(f.transitions[m-1]),f.transitions=f.transitions.slice(-1);e.ruleToStartState[t].addTransition(new w(l)),i.addTransition(new w(s));var p=new c;e.addState(p),p.addTransition(new U(i,e.ruleToTokenType[t])),l.addTransition(new w(p))}},{key:\"stateIsEndStateFor\",value:function(e,t){if(e.ruleIndex!==t)return null;if(!(e instanceof _))return null;var n=e.transitions[e.transitions.length-1].target;return n instanceof p&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof y?e:null}},{key:\"markPrecedenceDecisions\",value:function(e){for(var t=0;t=0):this.checkCondition(n.transitions.length<=1||n instanceof y)}}},{key:\"checkCondition\",value:function(e,t){if(!e)throw null==t&&(t=\"IllegalState\"),t}},{key:\"readInt\",value:function(){return this.data[this.pos++]}},{key:\"readInt32\",value:function(){return this.readInt()|this.readInt()<<16}},{key:\"readLong\",value:function(){return 4294967295&this.readInt32()|this.readInt32()<<32}},{key:\"readUUID\",value:function(){for(var e=[],t=7;t>=0;t--){var n=this.readInt();e[2*t+1]=255&n,e[2*t]=n>>8&255}return Z[e[0]]+Z[e[1]]+Z[e[2]]+Z[e[3]]+\"-\"+Z[e[4]]+Z[e[5]]+\"-\"+Z[e[6]]+Z[e[7]]+\"-\"+Z[e[8]]+Z[e[9]]+\"-\"+Z[e[10]]+Z[e[11]]+Z[e[12]]+Z[e[13]]+Z[e[14]]+Z[e[15]]}},{key:\"edgeFactory\",value:function(e,t,n,r,l,a,s,o){var u=e.states[r];switch(t){case T.EPSILON:return new w(u);case T.RANGE:return new I(u,0!==s?i.EOF:l,a);case T.RULE:return new M(e.states[l],a,s,u);case T.PREDICATE:return new R(u,l,a,0!==s);case T.PRECEDENCE:return new P(u,l);case T.ATOM:return new U(u,0!==s?i.EOF:l);case T.ACTION:return new E(u,l,a,0!==s);case T.SET:return new O(u,o[l]);case T.NOT_SET:return new x(u,o[l]);case T.WILDCARD:return new N(u);default:throw\"The specified transition type: \"+t+\" is not valid.\"}}},{key:\"stateFactory\",value:function(e,t){if(null===this.stateFactories){var n=[];n[u.INVALID_TYPE]=null,n[u.BASIC]=function(){return new c},n[u.RULE_START]=function(){return new d},n[u.BLOCK_START]=function(){return new S},n[u.PLUS_BLOCK_START]=function(){return new C},n[u.STAR_BLOCK_START]=function(){return new L},n[u.TOKEN_START]=function(){return new g},n[u.RULE_STOP]=function(){return new y},n[u.BLOCK_END]=function(){return new h},n[u.STAR_LOOP_BACK]=function(){return new b},n[u.STAR_LOOP_ENTRY]=function(){return new _},n[u.PLUS_LOOP_BACK]=function(){return new v},n[u.LOOP_END]=function(){return new p},this.stateFactories=n}if(e>this.stateFactories.length||null===this.stateFactories[e])throw\"The specified state type \"+e+\" is not valid.\";var r=this.stateFactories[e]();if(null!==r)return r.ruleIndex=t,r}},{key:\"lexerActionFactory\",value:function(e,t,n){if(null===this.actionFactories){var r=[];r[q.CHANNEL]=function(e,t){return new B(e)},r[q.CUSTOM]=function(e,t){return new H(e,t)},r[q.MODE]=function(e,t){return new W(e)},r[q.MORE]=function(e,t){return z.INSTANCE},r[q.POP_MODE]=function(e,t){return K.INSTANCE},r[q.PUSH_MODE]=function(e,t){return new V(e)},r[q.SKIP]=function(e,t){return j.INSTANCE},r[q.TYPE]=function(e,t){return new G(e)},this.actionFactories=r}if(e>this.actionFactories.length||null===this.actionFactories[e])throw\"The specified lexer action type \"+e+\" is not valid.\";return this.actionFactories[e](t,n)}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}(),Z=function(){for(var e=[],t=0;t<256;t++)e[t]=(t+256).toString(16).substr(1).toUpperCase();return e}();e.exports=X},1047:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;nL.MAX_DFA_EDGE)return null;var n=e.edges[t-L.MIN_DFA_EDGE];return void 0===n&&(n=null),L.debug&&null!==n&&console.log(\"reuse state \"+e.stateNumber+\" edge to \"+n.stateNumber),n}},{key:\"computeTargetState\",value:function(e,t,n){var r=new p;return this.getReachableConfigSet(e,t.configs,r,n),0===r.items.length?(r.hasSemanticContext||this.addDFAEdge(t,n,m.ERROR),m.ERROR):this.addDFAEdge(t,n,null,r)}},{key:\"failOrAccept\",value:function(e,t,n,r){if(null!==this.prevAccept.dfaState){var l=e.dfaState.lexerActionExecutor;return this.accept(t,l,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}if(r===u.EOF&&t.index===this.startIndex)return u.EOF;throw new C(this.recog,t,this.startIndex,n)}},{key:\"getReachableConfigSet\",value:function(e,t,n,r){for(var l=f.INVALID_ALT_NUMBER,i=0;iL.MAX_DFA_EDGE||(L.debug&&console.log(\"EDGE \"+e+\" -> \"+n+\" upon \"+t),null===e.edges&&(e.edges=[]),e.edges[t-L.MIN_DFA_EDGE]=n),n}},{key:\"addDFAState\",value:function(e){for(var t=new h(null,e),n=null,r=0;r0&&(i=this.getAltThatFinishedDecisionEntryRule(l))!==f.INVALID_ALT_NUMBER?i:f.INVALID_ALT_NUMBER}},{key:\"getAltThatFinishedDecisionEntryRule\",value:function(e){for(var t=[],n=0;n0||r.state instanceof p&&r.context.hasEmptyPath())&&t.indexOf(r.alt)<0&&t.push(r.alt)}return 0===t.length?f.INVALID_ALT_NUMBER:Math.min.apply(null,t)}},{key:\"splitAccordingToSemanticValidity\",value:function(e,t){for(var n=new y(e.fullCtx),r=new y(e.fullCtx),l=0;l50))throw\"problem\";if(e.state instanceof p){if(!e.context.isEmpty()){for(var s=0;s=0&&(m+=1)}this.closureCheckingStopState(f,t,n,c,l,m,a)}}}},{key:\"canDropLoopEntryEdgeInLeftRecursiveRule\",value:function(e){var t=e.state;if(t.stateType!==h.STAR_LOOP_ENTRY)return!1;if(t.stateType!==h.STAR_LOOP_ENTRY||!t.isPrecedenceDecision||e.context.isEmpty()||e.context.hasEmptyPath())return!1;for(var n=e.context.length,r=0;r=0?this.parser.ruleNames[e]:\"\"}},{key:\"getEpsilonTarget\",value:function(e,t,n,r,l,i){switch(t.serializationType){case x.RULE:return this.ruleTransition(e,t);case x.PRECEDENCE:return this.precedenceTransition(e,t,n,r,l);case x.PREDICATE:return this.predTransition(e,t,n,r,l);case x.ACTION:return this.actionTransition(e,t);case x.EPSILON:return new d({state:t.target},e);case x.ATOM:case x.RANGE:case x.SET:return i&&t.matches(g.EOF,0,1)?new d({state:t.target},e):null;default:return null}}},{key:\"actionTransition\",value:function(e,t){if(this.debug){var n=-1===t.actionIndex?65535:t.actionIndex;console.log(\"ACTION edge \"+t.ruleIndex+\":\"+n)}return new d({state:t.target},e)}},{key:\"precedenceTransition\",value:function(e,t,n,r,l){this.debug&&(console.log(\"PRED (collectPredicates=\"+n+\") \"+t.precedence+\">=_p, ctx dependent=true\"),null!==this.parser&&console.log(\"context surrounding pred is \"+s.arrayToString(this.parser.getRuleInvocationStack())));var i=null;if(n&&r)if(l){var a=this._input.index;this._input.seek(this._startIndex);var o=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(a),o&&(i=new d({state:t.target},e))}else{var u=k.andContext(e.semanticContext,t.getPredicate());i=new d({state:t.target,semanticContext:u},e)}else i=new d({state:t.target},e);return this.debug&&console.log(\"config from pred transition=\"+i),i}},{key:\"predTransition\",value:function(e,t,n,r,l){this.debug&&(console.log(\"PRED (collectPredicates=\"+n+\") \"+t.ruleIndex+\":\"+t.predIndex+\", ctx dependent=\"+t.isCtxDependent),null!==this.parser&&console.log(\"context surrounding pred is \"+s.arrayToString(this.parser.getRuleInvocationStack())));var i=null;if(n&&(t.isCtxDependent&&r||!t.isCtxDependent))if(l){var a=this._input.index;this._input.seek(this._startIndex);var o=t.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(a),o&&(i=new d({state:t.target},e))}else{var u=k.andContext(e.semanticContext,t.getPredicate());i=new d({state:t.target,semanticContext:u},e)}else i=new d({state:t.target},e);return this.debug&&console.log(\"config from pred transition=\"+i),i}},{key:\"ruleTransition\",value:function(e,t){this.debug&&console.log(\"CALL rule \"+this.getRuleName(t.target.ruleIndex)+\", ctx=\"+e.context);var n=t.followState,r=P.create(e.context,n.stateNumber);return new d({state:t.target,context:r},e)}},{key:\"getConflictingAlts\",value:function(e){var t=L.getConflictingAltSubsets(e);return L.getAlts(t)}},{key:\"getConflictingAltsOrUniqueAlt\",value:function(e){var t=null;return e.uniqueAlt!==f.INVALID_ALT_NUMBER?(t=new u).add(e.uniqueAlt):t=e.conflictingAlts,t}},{key:\"getTokenName\",value:function(e){if(e===g.EOF)return\"EOF\";if(null!==this.parser&&null!==this.parser.literalNames){if(!(e>=this.parser.literalNames.length&&e>=this.parser.symbolicNames.length))return(this.parser.literalNames[e]||this.parser.symbolicNames[e])+\"<\"+e+\">\";console.log(e+\" ttype out of range: \"+this.parser.literalNames),console.log(\"\"+this.parser.getInputStream().getTokens())}return\"\"+e}},{key:\"getLookaheadName\",value:function(e){return this.getTokenName(e.LA(1))}},{key:\"dumpDeadEndConfigs\",value:function(e){console.log(\"dead end configs: \");for(var t=e.getDeadEndConfigs(),n=0;n0){var i=r.state.transitions[0];i instanceof AtomTransition?l=\"Atom \"+this.getTokenName(i.label):i instanceof M&&(l=(i instanceof I?\"~\":\"\")+\"Set \"+i.set)}console.error(r.toString(this.parser,!0)+\":\"+l)}}},{key:\"noViableAlt\",value:function(e,t,n,r){return new N(this.parser,e,e.get(r),e.LT(1),n,t)}},{key:\"getUniqueAlt\",value:function(e){for(var t=f.INVALID_ALT_NUMBER,n=0;n \"+r+\" upon \"+this.getTokenName(n)),null===r)return null;if(r=this.addDFAState(e,r),null===t||n<-1||n>this.atn.maxTokenType)return r;if(null===t.edges&&(t.edges=[]),t.edges[n+1]=r,this.debug){var l=null===this.parser?null:this.parser.literalNames,i=null===this.parser?null:this.parser.symbolicNames;console.log(\"DFA=\\n\"+e.toString(l,i))}return r}},{key:\"addDFAState\",value:function(e,t){if(t===C.ERROR)return t;var n=e.states.get(t);return null!==n?n:(t.stateNumber=e.states.length,t.configs.readOnly||(t.configs.optimizeConfigs(this),t.configs.setReadonly(!0)),e.states.add(t),this.debug&&console.log(\"adding new DFA state: \"+t),t)}},{key:\"reportAttemptingFullContext\",value:function(e,t,n,r,l){if(this.debug||this.retry_debug){var i=new U(r,l+1);console.log(\"reportAttemptingFullContext decision=\"+e.decision+\":\"+n+\", input=\"+this.parser.getTokenStream().getText(i))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAttemptingFullContext(this.parser,e,r,l,t,n)}},{key:\"reportContextSensitivity\",value:function(e,t,n,r,l){if(this.debug||this.retry_debug){var i=new U(r,l+1);console.log(\"reportContextSensitivity decision=\"+e.decision+\":\"+n+\", input=\"+this.parser.getTokenStream().getText(i))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportContextSensitivity(this.parser,e,r,l,t,n)}},{key:\"reportAmbiguity\",value:function(e,t,n,r,l,i,a){if(this.debug||this.retry_debug){var s=new U(n,r+1);console.log(\"reportAmbiguity \"+i+\":\"+a+\", input=\"+this.parser.getTokenStream().getText(s))}null!==this.parser&&this.parser.getErrorListenerDispatch().reportAmbiguity(this.parser,e,n,r,l,i,a)}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),R}(C);e.exports=D},2523:function(e,t,n){var r=n(7090),l=r.Map,i=r.BitSet,a=r.AltDict,s=r.hashStuff,o=n(7835),u=n(4).RuleStopState,c=n(5327).ATNConfigSet,f=n(4769).ATNConfig,m=n(7871).SemanticContext,h={SLL:0,LL:1,LL_EXACT_AMBIG_DETECTION:2,hasSLLConflictTerminatingPrediction:function(e,t){if(h.allConfigsInRuleStopStates(t))return!0;if(e===h.SLL&&t.hasSemanticContext){for(var n=new c,r=0;r1)return!0;return!1},allSubsetsEqual:function(e){for(var t=null,n=0;n=prec}?\"}}],[{key:\"filterPrecedencePredicates\",value:function(e){var t=[];return e.values().map((function(e){e instanceof n&&t.push(e)})),t}}]),n}(d),v=function(e){l(n,e);var t=a(n);function n(e,r){var l;o(this,n),l=t.call(this);var i=new m;e instanceof n?e.opnds.map((function(e){i.add(e)})):i.add(e),r instanceof n?r.opnds.map((function(e){i.add(e)})):i.add(r);var a=g.filterPrecedencePredicates(i);if(a.length>0){var s=null;a.map((function(e){(null===s||e.precedence3?e.slice(3):e).join(\"&&\")}}]),n}(d),b=function(e){l(n,e);var t=a(n);function n(e,r){var l;o(this,n),l=t.call(this);var i=new m;e instanceof n?e.opnds.map((function(e){i.add(e)})):i.add(e),r instanceof n?r.opnds.map((function(e){i.add(e)})):i.add(r);var a=g.filterPrecedencePredicates(i);if(a.length>0){var s=a.sort((function(e,t){return e.compareTo(t)})),u=s[s.length-1];i.add(u)}return l.opnds=Array.from(i.values()),l}return c(n,[{key:\"equals\",value:function(e){return this===e||e instanceof n&&p(this.opnds,e.opnds)}},{key:\"updateHashCode\",value:function(e){e.update(this.opnds,\"OR\")}},{key:\"evaluate\",value:function(e,t){for(var n=0;n3?e.slice(3):e).join(\"||\")}}]),n}(d);e.exports={SemanticContext:d,PrecedencePredicate:g,Predicate:y}},3412:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(){return l=\"undefined\"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=o(e)););return e}(e,t);if(r){var l=Object.getOwnPropertyDescriptor(r,t);return l.get?l.get.call(arguments.length<3?e:n):l.value}},l.apply(this,arguments)}function i(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&a(e,t)}function a(e,t){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},a(e,t)}function s(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,l=o(e);if(t){var i=o(this).constructor;n=Reflect.construct(l,arguments,i)}else n=l.apply(this,arguments);return function(e,t){if(t&&(\"object\"===r(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}(this,n)}}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}function u(e,t){for(var n=0;n=this.start&&e<=this.stop}},{key:\"toString\",value:function(){return\"'\"+String.fromCharCode(this.start)+\"'..'\"+String.fromCharCode(this.stop)+\"'\"}}]),n}(g),L=function(e){i(n,e);var t=s(n);function n(e){return f(this,n),t.call(this,e)}return c(n)}(g),S=function(e){i(n,e);var t=s(n);function n(e,r,l,i){var a;return f(this,n),(a=t.call(this,e)).serializationType=g.PREDICATE,a.ruleIndex=r,a.predIndex=l,a.isCtxDependent=i,a.isEpsilon=!0,a}return c(n,[{key:\"matches\",value:function(e,t,n){return!1}},{key:\"getPredicate\",value:function(){return new d(this.ruleIndex,this.predIndex,this.isCtxDependent)}},{key:\"toString\",value:function(){return\"pred_\"+this.ruleIndex+\":\"+this.predIndex}}]),n}(L),k=function(e){i(n,e);var t=s(n);function n(e,r,l,i){var a;return f(this,n),(a=t.call(this,e)).serializationType=g.ACTION,a.ruleIndex=r,a.actionIndex=void 0===l?-1:l,a.isCtxDependent=void 0!==i&&i,a.isEpsilon=!0,a}return c(n,[{key:\"matches\",value:function(e,t,n){return!1}},{key:\"toString\",value:function(){return\"action_\"+this.ruleIndex+\":\"+this.actionIndex}}]),n}(g),T=function(e){i(n,e);var t=s(n);function n(e,r){var l;return f(this,n),(l=t.call(this,e)).serializationType=g.SET,null!=r?l.label=r:(l.label=new h,l.label.addOne(m.INVALID_TYPE)),l}return c(n,[{key:\"matches\",value:function(e,t,n){return this.label.contains(e)}},{key:\"toString\",value:function(){return this.label.toString()}}]),n}(g),U=function(e){i(n,e);var t=s(n);function n(e,r){var l;return f(this,n),(l=t.call(this,e,r)).serializationType=g.NOT_SET,l}return c(n,[{key:\"matches\",value:function(e,t,r){return e>=t&&e<=r&&!l(o(n.prototype),\"matches\",this).call(this,e,t,r)}},{key:\"toString\",value:function(){return\"~\"+l(o(n.prototype),\"toString\",this).call(this)}}]),n}(T),O=function(e){i(n,e);var t=s(n);function n(e){var r;return f(this,n),(r=t.call(this,e)).serializationType=g.WILDCARD,r}return c(n,[{key:\"matches\",value:function(e,t,n){return e>=t&&e<=n}},{key:\"toString\",value:function(){return\".\"}}]),n}(g),x=function(e){i(n,e);var t=s(n);function n(e,r){var l;return f(this,n),(l=t.call(this,e)).serializationType=g.PRECEDENCE,l.precedence=r,l.isEpsilon=!0,l}return c(n,[{key:\"matches\",value:function(e,t,n){return!1}},{key:\"getPredicate\",value:function(){return new y(this.precedence)}},{key:\"toString\",value:function(){return this.precedence+\" >= _p\"}}]),n}(L);e.exports={Transition:g,AtomTransition:v,SetTransition:T,NotSetTransition:U,RuleTransition:b,ActionTransition:k,EpsilonTransition:_,RangeTransition:C,WildcardTransition:O,PredicateTransition:S,PrecedencePredicateTransition:x,AbstractPredicateTransition:L}},5212:function(e,t,n){t.ATN=n(7835),t.ATNDeserializer=n(2162),t.LexerATNSimulator=n(4549),t.ParserATNSimulator=n(8877),t.PredictionMode=n(2523)},8386:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n=this.s0.edges.length?null:this.s0.edges[e]||null}},{key:\"setPrecedenceStartState\",value:function(e,t){if(!this.precedenceDfa)throw\"Only precedence DFAs may contain a precedence start state.\";e<0||(this.s0.edges[e]=t)}},{key:\"setPrecedenceDfa\",value:function(e){if(this.precedenceDfa!==e){if(this._states=new i,e){var t=new a(null,new o);t.edges=[],t.isAcceptState=!1,t.requiresFullContext=!1,this.s0=t}else this.s0=null;this.precedenceDfa=e}}},{key:\"sortedStates\",value:function(){return this._states.values().sort((function(e,t){return e.stateNumber-t.stateNumber}))}},{key:\"toString\",value:function(e,t){return e=e||null,t=t||null,null===this.s0?\"\":new u(this,e,t).toString()}},{key:\"toLexerString\",value:function(){return null===this.s0?\"\":new c(this).toString()}},{key:\"states\",get:function(){return this._states}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();e.exports=f},4815:function(e,t,n){function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function l(e){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},l(e)}function i(e){return i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){for(var n=0;n\")).concat(this.getStateString(a))).concat(\"\\n\"))}}return 0===e.length?null:e}},{key:\"getEdgeLabel\",value:function(e){return 0===e?\"EOF\":null!==this.literalNames||null!==this.symbolicNames?this.literalNames[e-1]||this.symbolicNames[e-1]:String.fromCharCode(e-1)}},{key:\"getStateString\",value:function(e){var t=(e.isAcceptState?\":\":\"\")+\"s\"+e.stateNumber+(e.requiresFullContext?\"^\":\"\");return e.isAcceptState?null!==e.predicates?t+\"=>\"+u.arrayToString(e.predicates):t+\"=>\"+e.prediction.toString():t}}]),e}(),f=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&r(e,t)}(u,e);var t,n,s=(t=u,n=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=l(t);if(n){var a=l(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return function(e,t){if(t&&(\"object\"===i(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}(this,e)});function u(e){return a(this,u),s.call(this,e,null)}return o(u,[{key:\"getEdgeLabel\",value:function(e){return\"'\"+String.fromCharCode(e)+\"'\"}}]),u}(c);e.exports={DFASerializer:c,LexerDFASerializer:f}},9324:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){for(var n=0;n\",null!==this.predicates?e+=this.predicates:e+=this.prediction),e}},{key:\"hashCode\",value:function(){var e=new u;return e.update(this.configs),e.finish()}}]),e}();e.exports={DFAState:m,PredPrediction:f}},7853:function(e,t,n){t.DFA=n(8386),t.DFASerializer=n(4815).DFASerializer,t.LexerDFASerializer=n(4815).LexerDFASerializer,t.PredPrediction=n(9324).PredPrediction},5916:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n=l.length)return\"\"+n;var i=l[r]||null;return null===i||0===i.length?\"\"+n:\"\".concat(n,\" (\").concat(i,\")\")}},{key:\"getConflictingAlts\",value:function(e,t){if(null!==e)return e;for(var n=new s,r=0;r=0&&e.consume(),this.lastErrorIndex=e._input.index,null===this.lastErrorStates&&(this.lastErrorStates=[]),this.lastErrorStates.push(e.state);var n=this.getErrorRecoverySet(e);this.consumeUntil(e,n)}},{key:\"sync\",value:function(e){if(!this.inErrorRecoveryMode(e)){var t=e._interp.atn.states[e.state],n=e.getTokenStream().LA(1),r=e.atn.nextTokens(t);if(r.contains(n))return this.nextTokensContext=null,void(this.nextTokenState=g.INVALID_STATE_NUMBER);if(r.contains(f.EPSILON))null===this.nextTokensContext&&(this.nextTokensContext=e._ctx,this.nextTokensState=e._stateNumber);else switch(t.stateType){case g.BLOCK_START:case g.STAR_BLOCK_START:case g.PLUS_BLOCK_START:case g.STAR_LOOP_ENTRY:if(null!==this.singleTokenDeletion(e))return;throw new p(e);case g.PLUS_LOOP_BACK:case g.STAR_LOOP_BACK:this.reportUnwantedToken(e);var l=new _;l.addSet(e.getExpectedTokens());var i=l.addSet(this.getErrorRecoverySet(e));this.consumeUntil(e,i)}}}},{key:\"reportNoViableAlternative\",value:function(e,t){var n,r=e.getTokenStream();n=null!==r?t.startToken.type===f.EOF?\"\":r.getText(new b(t.startToken.tokenIndex,t.offendingToken.tokenIndex)):\"\";var l=\"no viable alternative at input \"+this.escapeWSAndQuote(n);e.notifyErrorListeners(l,t.offendingToken,t)}},{key:\"reportInputMismatch\",value:function(e,t){var n=\"mismatched input \"+this.getTokenErrorDisplay(t.offendingToken)+\" expecting \"+t.getExpectedTokens().toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t.offendingToken,t)}},{key:\"reportFailedPredicate\",value:function(e,t){var n=\"rule \"+e.ruleNames[e._ctx.ruleIndex]+\" \"+t.message;e.notifyErrorListeners(n,t.offendingToken,t)}},{key:\"reportUnwantedToken\",value:function(e){if(!this.inErrorRecoveryMode(e)){this.beginErrorCondition(e);var t=e.getCurrentToken(),n=\"extraneous input \"+this.getTokenErrorDisplay(t)+\" expecting \"+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames);e.notifyErrorListeners(n,t,null)}}},{key:\"reportMissingToken\",value:function(e){if(!this.inErrorRecoveryMode(e)){this.beginErrorCondition(e);var t=e.getCurrentToken(),n=\"missing \"+this.getExpectedTokens(e).toString(e.literalNames,e.symbolicNames)+\" at \"+this.getTokenErrorDisplay(t);e.notifyErrorListeners(n,t,null)}}},{key:\"recoverInline\",value:function(e){var t=this.singleTokenDeletion(e);if(null!==t)return e.consume(),t;if(this.singleTokenInsertion(e))return this.getMissingSymbol(e);throw new p(e)}},{key:\"singleTokenInsertion\",value:function(e){var t=e.getTokenStream().LA(1),n=e._interp.atn,r=n.states[e.state].transitions[0].target;return!!n.nextTokens(r,e._ctx).contains(t)&&(this.reportMissingToken(e),!0)}},{key:\"singleTokenDeletion\",value:function(e){var t=e.getTokenStream().LA(2);if(this.getExpectedTokens(e).contains(t)){this.reportUnwantedToken(e),e.consume();var n=e.getCurrentToken();return this.reportMatch(e),n}return null}},{key:\"getMissingSymbol\",value:function(e){var t,n=e.getCurrentToken(),r=this.getExpectedTokens(e).first();t=r===f.EOF?\"\":\"\";var l=n,i=e.getTokenStream().LT(-1);return l.type===f.EOF&&null!==i&&(l=i),e.getTokenFactory().create(l.source,r,t,f.DEFAULT_CHANNEL,-1,-1,l.line,l.column)}},{key:\"getExpectedTokens\",value:function(e){return e.getExpectedTokens()}},{key:\"getTokenErrorDisplay\",value:function(e){if(null===e)return\"\";var t=e.text;return null===t&&(t=e.type===f.EOF?\"\":\"<\"+e.type+\">\"),this.escapeWSAndQuote(t)}},{key:\"escapeWSAndQuote\",value:function(e){return\"'\"+(e=(e=(e=e.replace(/\\n/g,\"\\\\n\")).replace(/\\r/g,\"\\\\r\")).replace(/\\t/g,\"\\\\t\"))+\"'\"}},{key:\"getErrorRecoverySet\",value:function(e){for(var t=e._interp.atn,n=e._ctx,r=new _;null!==n&&n.invokingState>=0;){var l=t.states[n.invokingState].transitions[0],i=t.nextTokens(l.followState);r.addSet(i),n=n.parentCtx}return r.removeOne(f.EPSILON),r}},{key:\"consumeUntil\",value:function(e,t){for(var n=e.getTokenStream().LA(1);n!==f.EOF&&!t.contains(n);)e.consume(),n=e.getTokenStream().LA(1)}}]),n}(function(){function e(){o(this,e)}return c(e,[{key:\"reset\",value:function(e){}},{key:\"recoverInline\",value:function(e){}},{key:\"recover\",value:function(e,t){}},{key:\"sync\",value:function(e){}},{key:\"inErrorRecoveryMode\",value:function(e){}},{key:\"reportError\",value:function(e){}}]),e}()),L=function(e){l(n,e);var t=a(n);function n(){return o(this,n),t.call(this)}return c(n,[{key:\"recover\",value:function(e,t){for(var n=e._ctx;null!==n;)n.exception=t,n=n.parentCtx;throw new y(t)}},{key:\"recoverInline\",value:function(e){this.recover(e,new p(e))}},{key:\"sync\",value:function(e){}}]),n}(C);e.exports={BailErrorStrategy:L,DefaultErrorStrategy:C}},1162:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){for(var n=0;n=0&&this.startIndex=n)){var l,i=t.charCodeAt(r);return i>=55296&&i<=56319&&n>r+1&&(l=t.charCodeAt(r+1))>=56320&&l<=57343?1024*(i-55296)+l-56320+65536:i}};e?e(String.prototype,\"codePointAt\",{value:t,configurable:!0,writable:!0}):String.prototype.codePointAt=t}()},7700:function(){var e,t,n,r;String.fromCodePoint||(e=function(){var e;try{var t={},n=Object.defineProperty;e=n(t,t,t)&&n}catch(e){}return e}(),t=String.fromCharCode,n=Math.floor,r=function(e){var r,l,i=[],a=-1,s=arguments.length;if(!s)return\"\";for(var o=\"\";++a1114111||n(u)!==u)throw RangeError(\"Invalid code point: \"+u);u<=65535?i.push(u):(r=55296+((u-=65536)>>10),l=u%1024+56320,i.push(r,l)),(a+1===s||i.length>16384)&&(o+=t.apply(null,i),i.length=0)}return o},e?e(String,\"fromCodePoint\",{value:r,configurable:!0,writable:!0}):String.fromCodePoint=r)},4524:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&i(e,t)}function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}function a(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,l=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(l,arguments,i)}else n=l.apply(this,arguments);return function(e,t){if(t&&(\"object\"===r(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}(this,n)}}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}function o(e,t){for(var n=0;n\":this.symbol.text}}]),n}(y),C=function(e){l(n,e);var t=a(n);function n(e){return c(this,n),t.call(this,e)}return u(n,[{key:\"isErrorNode\",value:function(){return!0}},{key:\"accept\",value:function(e){return e.visitErrorNode(this)}}]),n}(_),L=function(){function e(){c(this,e)}return u(e,[{key:\"walk\",value:function(e,t){if(t instanceof g||void 0!==t.isErrorNode&&t.isErrorNode())e.visitErrorNode(t);else if(t instanceof y)e.visitTerminal(t);else{this.enterRule(e,t);for(var n=0;n0&&(l=u.toStringTree(e.getChild(0),t),a=a.concat(l));for(var s=1;s1)throw new Error(\"Expected singleton on right side of contains, got \"+JSON.stringify(t));return i(e,t)},l.in=function(e,t){if(0==e.length)return[];if(0==t.length)return!1;if(e.length>1)throw new Error(\"Expected singleton on right side of in, got \"+JSON.stringify(t));return i(t,e)},e.exports=l},4461:function(e,t,n){var r={},l=n(968).distinctFn,i=n(7909),a=n(7567),s=a.deepEqual,o=a.maxCollSizeForDeepEqual;r.union=function(e,t){return l(e.concat(t))},r.combineFn=function(e,t){return e.concat(t)},r.intersect=function(e,t){var n=[],r=e.length,a=t.length;if(r&&a)if(r+a>o){var u={};t.forEach((function(e){var t=i(e);u[t]?a--:u[t]=!0}));for(var c=0;c0;++c){var f=e[c],m=i(f);u[m]&&(n.push(f),u[m]=!1,a--)}}else n=l(e).filter((function(e){return t.some((function(t){return s(e,t)}))}));return n},r.exclude=function(e,t){var n=[],r=e.length,l=t.length;if(!l)return e;if(r)if(r+l>o){var a={};t.forEach((function(e){var t=i(e);a[t]=!0})),n=e.filter((function(e){return!a[i(e)]}))}else n=e.filter((function(e){return!t.some((function(t){return s(e,t)}))}));return n},e.exports=r},5263:function(e){e.exports={reset:function(){this.nowDate=new Date,this.today=null,this.now=null,this.timeOfDay=null,this.localTimezoneOffset=null},today:null,now:null,timeOfDay:null}},3526:function(e,t,n){var r={},l=n(7028),i=n(5263),a=l.FP_Date,s=l.FP_DateTime,o=l.FP_Time;r.now=function(){if(!i.now){var e=i.nowDate,t=s.isoDateTime(e);i.now=new s(t)}return i.now},r.today=function(){if(!i.today){var e=i.nowDate,t=a.isoDate(e);i.today=new a(t)}return i.today},r.timeOfDay=function(){if(!i.timeOfDay){var e=i.nowDate,t=s.isoTime(e);i.timeOfDay=new o(t)}return i.timeOfDay},e.exports=r},7567:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}var l=n(7028),i=l.FP_Type,a=l.FP_Quantity,s=n(1575),o=n(4497),u=Array.prototype.slice,c=Object.keys,f=function(e){return\"[object Arguments]\"==Object.prototype.toString.call(e)};function m(e){return\"string\"==typeof e||e instanceof String}function h(e){return!isNaN(parseFloat(e))&&isFinite(e)}function p(e){return e.toUpperCase().replace(/\\s+/,\" \")}function d(e){return null==e}e.exports={deepEqual:function e(t,n,l){if(l||(l={}),(t=s.valDataConverted(t))===(n=s.valDataConverted(n)))return!0;if(l.fuzzy){if(m(t)&&m(n))return p(t)==p(n);if(h(t)&&h(n))return o.isEquivalent(t,n)}else if(\"number\"==typeof t&&\"number\"==typeof n)return o.isEqual(t,n);if(t instanceof Date&&n instanceof Date)return t.getTime()===n.getTime();if(!t||!n||\"object\"!=r(t)&&\"object\"!=r(n))return t===n;var y=t instanceof i,g=n instanceof i;if(y&&g)return l.fuzzy?t.equivalentTo(n):t.equals(n);if(y||g){var v=!1;return\"number\"==typeof t&&(t=new a(t,\"'1'\"),v=!0),\"number\"==typeof n&&(n=new a(n,\"'1'\"),v=!0),!!v&&(l.fuzzy?t.equivalentTo(n):t.equals(n))}return function(t,n,l){var i,a;if(d(t)||d(n))return!1;if(t.prototype!==n.prototype)return!1;if(f(t)||f(n))return e(t=f(t)?u.call(t):t,n=f(n)?u.call(n):n,l);try{var s=c(t),o=c(n)}catch(e){return!1}if(s.length!=o.length)return!1;for(s.sort(),o.sort(),i=s.length-1;i>=0;i--)if(s[i]!=o[i])return!1;if(1===s.length)return e(t[a=s[0]],n[a],l);for(i=s.length-1;i>=0;i--)if(!e(t[a=s[i]],n[a],l))return!1;return r(t)===r(n)}(t,n,l)},maxCollSizeForDeepEqual:6}},3776:function(e,t,n){function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=n){var r,l,i,a,s=[],o=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);o=!0);}catch(e){u=!0,l=e}finally{try{if(!o&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw l}}return s}}(e,t)||function(e,t){if(e){if(\"string\"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}return l>i},c.lte=function(e,t){if(!e.length||!t.length)return[];var n=r(h(e,t),2),l=n[0],i=n[1];if(l instanceof o){var a=l.compare(i);return null===a?[]:a<=0}return l<=i},c.gte=function(e,t){if(!e.length||!t.length)return[];var n=r(h(e,t),2),l=n[0],i=n[1];if(l instanceof o){var a=l.compare(i);return null===a?[]:a>=0}return l>=i},e.exports=c},4843:function(e,t,n){var r=n(1575),l=n(968),i=l.whereMacro,a=l.distinctFn,s=n(4230),o=n(7909),u=n(7567),c=u.deepEqual,f=u.maxCollSizeForDeepEqual,m={};function h(e,t){var n=e.length,l=t.length,i=n<=l;if(i)if(n+l>f){var a=t.reduce((function(e,t){return e[o(t)]=!0,e}),{});i=!e.some((function(e){return!a[o(e)]}))}else for(var s=function(n,l){var a=r.valData(e[n]);i=t.some((function(e){return c(a,r.valData(e))}))},u=0,m=e.length;ue.length)&&(t=e.length);for(var n=0,r=new Array(t);n\":{fn:b.gt,arity:{2:[\"Any\",\"Any\"]},nullable:!0},\"<=\":{fn:b.lte,arity:{2:[\"Any\",\"Any\"]},nullable:!0},\">=\":{fn:b.gte,arity:{2:[\"Any\",\"Any\"]},nullable:!0},containsOp:{fn:_.contains,arity:{2:[\"Any\",\"Any\"]}},inOp:{fn:_.in,arity:{2:[\"Any\",\"Any\"]}},isOp:{fn:U.isFn,arity:{2:[\"Any\",\"TypeSpecifier\"]}},asOp:{fn:U.asFn,arity:{2:[\"Any\",\"TypeSpecifier\"]}},\"&\":{fn:C.amp,arity:{2:[\"String\",\"String\"]}},\"+\":{fn:C.plus,arity:{2:[\"Any\",\"Any\"]},nullable:!0},\"-\":{fn:C.minus,arity:{2:[\"Any\",\"Any\"]},nullable:!0},\"*\":{fn:C.mul,arity:{2:[\"Any\",\"Any\"]},nullable:!0},\"/\":{fn:C.div,arity:{2:[\"Any\",\"Any\"]},nullable:!0},mod:{fn:C.mod,arity:{2:[\"Number\",\"Number\"]},nullable:!0},div:{fn:C.intdiv,arity:{2:[\"Number\",\"Number\"]},nullable:!0},or:{fn:T.orOp,arity:{2:[[\"Boolean\"],[\"Boolean\"]]}},and:{fn:T.andOp,arity:{2:[[\"Boolean\"],[\"Boolean\"]]}},xor:{fn:T.xorOp,arity:{2:[[\"Boolean\"],[\"Boolean\"]]}},implies:{fn:T.impliesOp,arity:{2:[[\"Boolean\"],[\"Boolean\"]]}}},h.InvocationExpression=function(e,t,n){return n.children.reduce((function(t,n){return h.doEval(e,t,n)}),t)},h.TermExpression=function(e,t,n){return t&&(t=t.map((function(e){return e instanceof Object&&e.resourceType?R(e,e.resourceType):e}))),h.doEval(e,t,n.children[0])},h.PolarityExpression=function(e,t,n){var r=n.terminalNodeText[0],l=h.doEval(e,t,n.children[0]);if(1!==l.length)throw new Error(\"Unary \"+r+\" can only be applied to an individual number or Quantity.\");if(l[0]instanceof I)\"-\"===r&&(l[0]=new I(-l[0].value,l[0].unit));else{if(\"number\"!=typeof l[0]||isNaN(l[0]))throw new Error(\"Unary \"+r+\" can only be applied to a number or Quantity.\");\"-\"===r&&(l[0]=-l[0])}return l},h.TypeSpecifier=function(e,t,n){var r,l,i=n.text.split(\".\").map((function(e){return e.replace(/(^`|`$)/g,\"\")}));switch(i.length){case 2:var a=s(i,2);r=a[0],l=a[1];break;case 1:l=s(i,1)[0];break;default:throw new Error(\"Expected TypeSpecifier node, got \"+JSON.stringify(n))}var o=new N({namespace:r,name:l});if(!o.isValid())throw new Error('\"'+o+'\" cannot be resolved to a valid type identifier');return o},h.ExternalConstantTerm=function(e,t,n){var r=n.children[0].children[0],l=h.Identifier(e,t,r)[0],i=e.vars[l];if(!(l in e.vars))throw new Error(\"Attempting to access an undefined environment variable: \"+l);return null==i?[]:i instanceof Array?i:[i]},h.LiteralTerm=function(e,t,n){var r=n.children[0];return r?h.doEval(e,t,r):[n.text]},h.StringLiteral=function(e,t,n){var r=n.text.replace(/(^'|'$)/g,\"\");return[r=r.replace(/\\\\(u\\d{4}|.)/g,(function(e,t){switch(e){case\"\\\\r\":return\"\\r\";case\"\\\\n\":return\"\\n\";case\"\\\\t\":return\"\\t\";case\"\\\\f\":return\"\\f\";default:return t.length>1?String.fromCharCode(\"0x\"+t.slice(1)):t}}))]},h.BooleanLiteral=function(e,t,n){return\"true\"===n.text?[!0]:[!1]},h.QuantityLiteral=function(e,t,n){var r=n.children[0],l=Number(r.terminalNodeText[0]),i=r.children[0],a=i.terminalNodeText[0];return!a&&i.children&&(a=i.children[0].terminalNodeText[0]),[new I(l,a)]},h.DateTimeLiteral=function(e,t,n){var r=n.text.slice(1);return[new x(r)]},h.TimeLiteral=function(e,t,n){var r=n.text.slice(1);return[new M(r)]},h.NumberLiteral=function(e,t,n){return[Number(n.text)]},h.Identifier=function(e,t,n){return[n.text.replace(/(^`|`$)/g,\"\")]},h.InvocationTerm=function(e,t,n){return h.doEval(e,t,n.children[0])},h.MemberInvocation=function(e,t,n){var r=h.doEval(e,t,n.children[0])[0],l=e.model;if(t){if(f.isCapitalized(r))return t.filter((function(e){return e instanceof w&&e.path===r}));var i=t.path||t.__path__;return t.reduce((function(e,t){return t=R(t,i),f.pushFn(e,f.makeChildResNodes(t,r,l)),e}),[])}return[]},h.IndexerExpression=function(e,t,n){var r=n.children[0],l=n.children[1],i=h.doEval(e,t,r),a=h.doEval(e,t,l);if(f.isEmpty(a))return[];var s=parseInt(a[0]);return i&&f.isSome(s)&&i.length>s&&s>=0?[i[s]]:[]},h.Functn=function(e,t,n){return n.children.map((function(n){return h.doEval(e,t,n)}))},h.realizeParams=function(e,t,n){return n&&n[0]&&n[0].children?n[0].children.map((function(n){return h.doEval(e,t,n)})):[]},h.FunctionInvocation=function(e,t,n){var r=h.doEval(e,t,n.children[0]),l=r[0];return r.shift(),function(e,t,n,r){var l,i,a,s=null!==(l=null===(i=e.userInvocationTable)||void 0===i?void 0:i[t])&&void 0!==l?l:h.invocationTable[t];if(s){if(s.arity){var o=r?r.length:0,u=s.arity[o];if(u){for(var c=[],m=0;m0)if(e.length>c)for(var n={},r=0,l=e.length;r1)throw new Error(\"Could not convert to quantity: input collection contains multiple items\");if(1===e.length){if(t){var r=a._calendarDuration2Seconds[this.unit],i=a._calendarDuration2Seconds[t];if(!r!=!i&&(r>1||i>1))return null;a.mapTimeUnitsToUCUMCode[t]||(t=\"'\".concat(t,\"'\"))}var s,o=l.valDataConverted(e[0]);if(\"number\"==typeof o)n=new a(o,\"'1'\");else if(o instanceof a)n=o;else if(\"boolean\"==typeof o)n=new a(o?1:0,\"'1'\");else if(\"string\"==typeof o&&(s=c.exec(o))){var u=s[1],f=s[5],m=s[6];m&&!a.mapTimeUnitsToUCUMCode[m]||(n=new a(Number(u),f||m||\"'1'\"))}n&&t&&n.unit!==t&&(n=a.convUnitTo(n.unit,n.value,t))}return n||[]};var f=/^[+-]?\\d+(\\.\\d+)?$/;function m(e){var t=e.slice(3);o[\"to\"+t]=function(n){var r=[];if(n.length>1)throw Error(\"to \"+t+\" called for a collection of length \"+n.length);if(1===n.length){var a=i[e].checkString(l.valData(n[0]));a&&(r=a)}return r}}o.toDecimal=function(e){if(1!==e.length)return[];var t=l.valData(e[0]);return!1===t?0:!0===t?1:\"number\"==typeof t?t:\"string\"==typeof t&&f.test(t)?parseFloat(t):[]},o.toString=function(e){return 1!==e.length?[]:l.valDataConverted(e[0]).toString()},m(\"FP_Date\"),m(\"FP_DateTime\"),m(\"FP_Time\");var h=[\"true\",\"t\",\"yes\",\"y\",\"1\",\"1.0\"].reduce((function(e,t){return e[t]=!0,e}),{}),p=[\"false\",\"f\",\"no\",\"n\",\"0\",\"0.0\"].reduce((function(e,t){return e[t]=!0,e}),{});o.toBoolean=function(e){if(1!==e.length)return[];var t=l.valData(e[0]);switch(r(t)){case\"boolean\":return t;case\"number\":if(1===t)return!0;if(0===t)return!1;break;case\"string\":var n=t.toLowerCase();if(h[n])return!0;if(p[n])return!1}return[]},o.createConvertsToFn=function(e,t){return\"string\"==typeof t?function(n){return 1!==n.length?[]:r(e(n))===t}:function(n){return 1!==n.length?[]:e(n)instanceof t}};var d={Integer:function(e){var t=l.valData(e[0]);if(Number.isInteger(t))return t},Boolean:function(e){var t=l.valData(e[0]);return!0===t||!1===t?t:1===e.length||void 0},Number:function(e){var t=l.valData(e[0]);if(\"number\"==typeof t)return t},String:function(e){var t=l.valData(e[0]);if(\"string\"==typeof t)return t}};o.singleton=function(e,t){if(e.length>1)throw new Error(\"Unexpected collection\"+JSON.stringify(e)+\"; expected singleton of type \"+t);if(0===e.length)return[];var n=d[t];if(n){var r=n(e);if(void 0!==r)return r;throw new Error(\"Expected \".concat(t.toLowerCase(),\", but got: \").concat(JSON.stringify(e)))}throw new Error(\"Not supported type \"+t)};var y=new Set;[\"instant\",\"time\",\"date\",\"dateTime\",\"base64Binary\",\"decimal\",\"integer64\",\"boolean\",\"string\",\"code\",\"markdown\",\"id\",\"integer\",\"unsignedInt\",\"positiveInt\",\"uri\",\"oid\",\"uuid\",\"canonical\",\"url\",\"Integer\",\"Decimal\",\"String\",\"Date\",\"DateTime\",\"Time\"].forEach((function(e){return y.add(e)})),o.hasValueFn=function(e){return 1===e.length&&null!=l.valData(e[0])&&y.has(s.fromValue(e[0]).name)},e.exports=o},6183:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}var l=n(1575),i=n(7028).ResourceNode,a={children:function(e){var t=this.model;return e.reduce((function(e,n){var a=l.valData(n);if(n=i.makeResNode(n),\"object\"===r(a)){for(var s=0,o=Object.keys(a);s0;)l.pushFn(n,t),t=a.children.call(this,t);return n}};e.exports=a},4497:function(e){var t={};function n(e){var t=/(\\d+)(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/.exec(\"\"+ +e);if(!t)return 0;var n=t[2],r=t[3];return Math.max(0,(\"0\"===n?0:(n||\"\").length)-(r||0))}function r(e,t){var n=Math.pow(10,t);return Math.round(e*n)/n}var l=t.roundToMaxPrecision=function(e){return 1e-8*Math.round(e/1e-8)};t.isEquivalent=function(e,t){if(Number.isInteger(e)&&Number.isInteger(t))return e===t;var l=Math.min(n(e),n(t));return 0===l?Math.round(e)===Math.round(t):r(e,l)===r(t,l)},t.isEqual=function(e,t){return l(e)===l(t)},e.exports=t},2589:function(e,t,n){t.atn=n(5212),t.codepointat=n(2054),t.dfa=n(7853),t.fromcodepoint=n(7700),t.tree=n(703),t.error=n(1770),t.Token=n(9616).Token,t.CommonToken=n(9616).CommonToken,t.InputStream=n(3960),t.CommonTokenStream=n(8617),t.Lexer=n(4149),t.Parser=n(4680);var r=n(9699);t.PredictionContextCache=r.PredictionContextCache,t.ParserRuleContext=n(788),t.Interval=n(5062).Interval,t.IntervalSet=n(5062).IntervalSet,t.Utils=n(7090),t.LL1Analyzer=n(2894).LL1Analyzer},4081:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n\\t>\u0004\",\"?\\t?\u0004@\\t@\u0004A\\tA\u0004B\\tB\u0004C\\tC\u0004D\\tD\u0003\u0002\u0003\",\"\u0002\u0003\u0003\u0003\u0003\u0003\u0004\u0003\u0004\u0003\u0005\u0003\",\"\u0005\u0003\u0006\u0003\u0006\u0003\u0007\u0003\u0007\u0003\\b\u0003\",\"\\b\u0003\\t\u0003\\t\u0003\\t\u0003\\t\u0003\\n\u0003\\n\u0003\\n\u0003\\n\u0003\",\"\\v\u0003\\v\u0003\\f\u0003\\f\u0003\\r\u0003\\r\u0003\\r\u0003\u000e\",\"\u0003\u000e\u0003\u000f\u0003\u000f\u0003\u0010\u0003\u0010\u0003\u0010\",\"\u0003\u0011\u0003\u0011\u0003\u0011\u0003\u0012\u0003\u0012\u0003\u0012\",\"\u0003\u0013\u0003\u0013\u0003\u0014\u0003\u0014\u0003\u0015\u0003\u0015\",\"\u0003\u0015\u0003\u0016\u0003\u0016\u0003\u0016\u0003\u0017\u0003\u0017\",\"\u0003\u0017\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\",\"\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0018\u0003\u0019\u0003\u0019\",\"\u0003\u0019\u0003\u0019\u0003\u001a\u0003\u001a\u0003\u001a\u0003\u001b\",\"\u0003\u001b\u0003\u001b\u0003\u001b\u0003\u001c\u0003\u001c\u0003\u001c\",\"\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001d\",\"\u0003\u001d\u0003\u001e\u0003\u001e\u0003\u001f\u0003\u001f\u0003 \",'\u0003 \u0003!\u0003!\u0003!\u0003!\u0003!\u0003\"\u0003\"\u0003\"\u0003','\"\u0003\"\u0003\"\u0003#\u0003#\u0003$\u0003$\u0003$\u0003$\u0003$',\"\u0003$\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003%\u0003&\u0003\",\"&\u0003&\u0003&\u0003&\u0003&\u0003&\u0003'\u0003'\u0003(\u0003(\u0003\",\"(\u0003(\u0003(\u0003)\u0003)\u0003)\u0003)\u0003)\u0003)\u0003*\u0003\",\"*\u0003*\u0003*\u0003*\u0003+\u0003+\u0003+\u0003+\u0003,\u0003,\u0003\",\",\u0003,\u0003,\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003-\u0003\",\".\u0003.\u0003.\u0003.\u0003.\u0003.\u0003.\u0003/\u0003/\u0003/\u0003\",\"/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u0003/\u00030\u0003\",\"0\u00030\u00030\u00030\u00030\u00031\u00031\u00031\u00031\u00031\u0003\",\"1\u00031\u00032\u00032\u00032\u00032\u00032\u00032\u00033\u00033\u0003\",\"3\u00033\u00033\u00034\u00034\u00034\u00034\u00034\u00034\u00035\u0003\",\"5\u00035\u00035\u00035\u00035\u00035\u00035\u00036\u00036\u00036\u0003\",\"6\u00036\u00036\u00036\u00036\u00037\u00037\u00037\u00037\u00037\u0003\",\"7\u00037\u00037\u00037\u00037\u00037\u00037\u00037\u00038\u00038\u0003\",\"8\u00038\u00038\u00038\u00038\u00038\u00038\u00038\u00038\u00038\u0003\",\"8\u00058ƃ\\n8\u00058ƅ\\n8\u00058Ƈ\\n8\u00038\u00058Ɗ\",\"\\n8\u00039\u00039\u00039\u00039\u0003:\u0003:\u0003:\u0003:\u0003:\u0003\",\":\u0003:\u0003:\u0003:\u0003:\u0006:ƚ\\n:\\r:\u000e:ƛ\u0005\",\":ƞ\\n:\u0005:Ơ\\n:\u0005:Ƣ\\n:\u0003:\u0003:\u0003:\u0003\",\":\u0003:\u0003:\u0003:\u0005:ƫ\\n:\u0003;\u0005;Ʈ\\n;\u0003\",\";\u0007;Ʊ\\n;\\f;\u000e;ƴ\\v;\u0003<\u0003<\u0003<\u0007\",\"<ƹ\\n<\\f<\u000e<Ƽ\\v<\u0003<\u0003<\u0003=\u0003=\u0003\",\"=\u0007=ǃ\\n=\\f=\u000e=dž\\v=\u0003=\u0003=\u0003>\u0006\",\">Nj\\n>\\r>\u000e>nj\u0003>\u0003>\u0006>Ǒ\\n>\\r>\u000e>ǒ\",\"\u0005>Ǖ\\n>\u0003?\u0006?ǘ\\n?\\r?\u000e?Ǚ\u0003?\u0003\",\"?\u0003@\u0003@\u0003@\u0003@\u0007@Ǣ\\n@\\f@\u000e@ǥ\\v\",\"@\u0003@\u0003@\u0003@\u0003@\u0003@\u0003A\u0003A\u0003A\u0003A\u0007\",\"Aǰ\\nA\\fA\u000eAdz\\vA\u0003A\u0003A\u0003B\u0003B\u0003\",\"B\u0005BǺ\\nB\u0003C\u0003C\u0003C\u0003C\u0003C\u0003C\u0003D\u0003\",\"D\u0003ǣ\u0002E\u0003\u0003\u0005\u0004\u0007\u0005\\t\u0006\\v\",\"\u0007\\r\\b\u000f\\t\u0011\\n\u0013\\v\u0015\\f\u0017\\r\u0019\u000e\u001b\",\"\u000f\u001d\u0010\u001f\u0011!\u0012#\u0013%\u0014'\u0015)\u0016+\",\"\u0017-\u0018/\u00191\u001a3\u001b5\u001c7\u001d9\u001e;\u001f= ?!A\",\"\\\"C#E$G%I&K'M(O)Q*S+U,W-Y.[/]0_1a2c3e4g5i6k7m8o9q:s\u0002u;w}\",\"?@Aƒ\u0002…\u0002‡\u0002\u0003\u0002\\f\u0003\",\"\u00022;\u0004\u0002--//\u0005\u0002C\\\\aac|\u0006\u00022;C\\\\aac|\u0004\",'\u0002^^bb\u0003\u0002))\u0005\u0002\\v\\f\u000f\u000f\"\"\u0004\u0002',\"\\f\\f\u000f\u000f\\n\u0002))11^^bbhhppttvv\u0005\u00022;CHch\u0002Ȕ\",\"\u0002\u0003\u0003\u0002\u0002\u0002\u0002\u0005\u0003\u0002\u0002\u0002\",\"\u0002\u0007\u0003\u0002\u0002\u0002\u0002\\t\u0003\u0002\u0002\u0002\",\"\u0002\\v\u0003\u0002\u0002\u0002\u0002\\r\u0003\u0002\u0002\u0002\",\"\u0002\u000f\u0003\u0002\u0002\u0002\u0002\u0011\u0003\u0002\u0002\u0002\",\"\u0002\u0013\u0003\u0002\u0002\u0002\u0002\u0015\u0003\u0002\u0002\u0002\",\"\u0002\u0017\u0003\u0002\u0002\u0002\u0002\u0019\u0003\u0002\u0002\u0002\",\"\u0002\u001b\u0003\u0002\u0002\u0002\u0002\u001d\u0003\u0002\u0002\u0002\",\"\u0002\u001f\u0003\u0002\u0002\u0002\u0002!\u0003\u0002\u0002\u0002\",\"\u0002#\u0003\u0002\u0002\u0002\u0002%\u0003\u0002\u0002\u0002\u0002\",\"'\u0003\u0002\u0002\u0002\u0002)\u0003\u0002\u0002\u0002\u0002+\u0003\",\"\u0002\u0002\u0002\u0002-\u0003\u0002\u0002\u0002\u0002/\u0003\u0002\",\"\u0002\u0002\u00021\u0003\u0002\u0002\u0002\u00023\u0003\u0002\u0002\",\"\u0002\u00025\u0003\u0002\u0002\u0002\u00027\u0003\u0002\u0002\u0002\",\"\u00029\u0003\u0002\u0002\u0002\u0002;\u0003\u0002\u0002\u0002\u0002\",\"=\u0003\u0002\u0002\u0002\u0002?\u0003\u0002\u0002\u0002\u0002A\u0003\",\"\u0002\u0002\u0002\u0002C\u0003\u0002\u0002\u0002\u0002E\u0003\u0002\",\"\u0002\u0002\u0002G\u0003\u0002\u0002\u0002\u0002I\u0003\u0002\u0002\",\"\u0002\u0002K\u0003\u0002\u0002\u0002\u0002M\u0003\u0002\u0002\u0002\",\"\u0002O\u0003\u0002\u0002\u0002\u0002Q\u0003\u0002\u0002\u0002\u0002\",\"S\u0003\u0002\u0002\u0002\u0002U\u0003\u0002\u0002\u0002\u0002W\u0003\",\"\u0002\u0002\u0002\u0002Y\u0003\u0002\u0002\u0002\u0002[\u0003\u0002\",\"\u0002\u0002\u0002]\u0003\u0002\u0002\u0002\u0002_\u0003\u0002\u0002\",\"\u0002\u0002a\u0003\u0002\u0002\u0002\u0002c\u0003\u0002\u0002\u0002\",\"\u0002e\u0003\u0002\u0002\u0002\u0002g\u0003\u0002\u0002\u0002\u0002\",\"i\u0003\u0002\u0002\u0002\u0002k\u0003\u0002\u0002\u0002\u0002m\u0003\",\"\u0002\u0002\u0002\u0002o\u0003\u0002\u0002\u0002\u0002q\u0003\u0002\",\"\u0002\u0002\u0002u\u0003\u0002\u0002\u0002\u0002w\u0003\u0002\u0002\",\"\u0002\u0002y\u0003\u0002\u0002\u0002\u0002{\u0003\u0002\u0002\u0002\",\"\u0002}\u0003\u0002\u0002\u0002\u0002\u0003\u0002\u0002\u0002\",\"\u0002\u0003\u0002\u0002\u0002\u0003‰\u0003\u0002\u0002\u0002\",\"\u0005‹\u0003\u0002\u0002\u0002\u0007\u0003\u0002\u0002\u0002\",\"\\t\u0003\u0002\u0002\u0002\\v‘\u0003\u0002\u0002\u0002\",\"\\r“\u0003\u0002\u0002\u0002\u000f•\u0003\u0002\u0002\u0002\",\"\u0011—\u0003\u0002\u0002\u0002\u0013›\u0003\u0002\u0002\u0002\",\"\u0015Ÿ\u0003\u0002\u0002\u0002\u0017¡\u0003\u0002\u0002\u0002\",\"\u0019£\u0003\u0002\u0002\u0002\u001b¦\u0003\u0002\u0002\u0002\",\"\u001d¨\u0003\u0002\u0002\u0002\u001fª\u0003\u0002\u0002\u0002\",\"!­\u0003\u0002\u0002\u0002#°\u0003\u0002\u0002\u0002%³\",\"\u0003\u0002\u0002\u0002'µ\u0003\u0002\u0002\u0002)·\u0003\",\"\u0002\u0002\u0002+º\u0003\u0002\u0002\u0002-½\u0003\u0002\",\"\u0002\u0002/À\u0003\u0002\u0002\u00021É\u0003\u0002\u0002\",\"\u00023Í\u0003\u0002\u0002\u00025Ð\u0003\u0002\u0002\u0002\",\"7Ô\u0003\u0002\u0002\u00029Ü\u0003\u0002\u0002\u0002;Þ\",\"\u0003\u0002\u0002\u0002=à\u0003\u0002\u0002\u0002?â\u0003\",\"\u0002\u0002\u0002Aä\u0003\u0002\u0002\u0002Cé\u0003\u0002\",\"\u0002\u0002Eï\u0003\u0002\u0002\u0002Gñ\u0003\u0002\u0002\",\"\u0002I÷\u0003\u0002\u0002\u0002Kþ\u0003\u0002\u0002\u0002\",\"Mą\u0003\u0002\u0002\u0002Oć\u0003\u0002\u0002\u0002QČ\",\"\u0003\u0002\u0002\u0002SĒ\u0003\u0002\u0002\u0002Uė\u0003\",\"\u0002\u0002\u0002Wě\u0003\u0002\u0002\u0002YĠ\u0003\u0002\",\"\u0002\u0002[ħ\u0003\u0002\u0002\u0002]Į\u0003\u0002\u0002\",\"\u0002_ĺ\u0003\u0002\u0002\u0002aŀ\u0003\u0002\u0002\u0002\",\"cŇ\u0003\u0002\u0002\u0002eō\u0003\u0002\u0002\u0002gŒ\",\"\u0003\u0002\u0002\u0002iŘ\u0003\u0002\u0002\u0002kŠ\u0003\",\"\u0002\u0002\u0002mŨ\u0003\u0002\u0002\u0002oŵ\u0003\u0002\",\"\u0002\u0002qƋ\u0003\u0002\u0002\u0002sƏ\u0003\u0002\u0002\",\"\u0002uƭ\u0003\u0002\u0002\u0002wƵ\u0003\u0002\u0002\u0002\",\"yƿ\u0003\u0002\u0002\u0002{NJ\u0003\u0002\u0002\u0002}Ǘ\",\"\u0003\u0002\u0002\u0002ǝ\u0003\u0002\u0002\u0002ǫ\",\"\u0003\u0002\u0002\u0002ƒǶ\u0003\u0002\u0002\u0002…ǻ\",\"\u0003\u0002\u0002\u0002‡ȁ\u0003\u0002\u0002\u0002‰Š\",\"\u00070\u0002\u0002Š\u0004\u0003\u0002\u0002\u0002‹Œ\",\"\u0007]\u0002\u0002Œ\u0006\u0003\u0002\u0002\u0002Ž\",\"\u0007_\u0002\u0002Ž\\b\u0003\u0002\u0002\u0002\u0007\",\"-\u0002\u0002\\n\u0003\u0002\u0002\u0002‘’\u0007/\u0002\",\"\u0002’\\f\u0003\u0002\u0002\u0002“”\u0007,\u0002\u0002\",\"”\u000e\u0003\u0002\u0002\u0002•–\u00071\u0002\u0002\",\"–\u0010\u0003\u0002\u0002\u0002—˜\u0007f\u0002\u0002\",\"˜™\u0007k\u0002\u0002™š\u0007x\u0002\u0002š\",\"\u0012\u0003\u0002\u0002\u0002›œ\u0007o\u0002\u0002œ\",\"\u0007q\u0002\u0002ž\u0007f\u0002\u0002ž\u0014\",\"\u0003\u0002\u0002\u0002Ÿ \u0007(\u0002\u0002 \u0016\",\"\u0003\u0002\u0002\u0002¡¢\u0007~\u0002\u0002¢\u0018\",\"\u0003\u0002\u0002\u0002£¤\u0007>\u0002\u0002¤¥\",\"\u0007?\u0002\u0002¥\u001a\u0003\u0002\u0002\u0002¦§\",\"\u0007>\u0002\u0002§\u001c\u0003\u0002\u0002\u0002¨©\",\"\u0007@\u0002\u0002©\u001e\u0003\u0002\u0002\u0002ª«\",\"\u0007@\u0002\u0002«¬\u0007?\u0002\u0002¬ \u0003\u0002\",\"\u0002\u0002­®\u0007k\u0002\u0002®¯\u0007u\u0002\",'\u0002¯\"\u0003\u0002\u0002\u0002°±\u0007c\u0002\u0002',\"±²\u0007u\u0002\u0002²$\u0003\u0002\u0002\u0002³\",\"´\u0007?\u0002\u0002´&\u0003\u0002\u0002\u0002µ¶\",\"\u0007€\u0002\u0002¶(\u0003\u0002\u0002\u0002·¸\",\"\u0007#\u0002\u0002¸¹\u0007?\u0002\u0002¹*\u0003\u0002\",\"\u0002\u0002º»\u0007#\u0002\u0002»¼\u0007€\",\"\u0002\u0002¼,\u0003\u0002\u0002\u0002½¾\u0007k\u0002\",\"\u0002¾¿\u0007p\u0002\u0002¿.\u0003\u0002\u0002\u0002\",\"ÀÁ\u0007e\u0002\u0002ÁÂ\u0007q\u0002\u0002Â\",\"Ã\u0007p\u0002\u0002ÃÄ\u0007v\u0002\u0002ÄÅ\",\"\u0007c\u0002\u0002ÅÆ\u0007k\u0002\u0002ÆÇ\u0007\",\"p\u0002\u0002ÇÈ\u0007u\u0002\u0002È0\u0003\u0002\u0002\",\"\u0002ÉÊ\u0007c\u0002\u0002ÊË\u0007p\u0002\u0002\",\"ËÌ\u0007f\u0002\u0002Ì2\u0003\u0002\u0002\u0002Í\",\"Î\u0007q\u0002\u0002ÎÏ\u0007t\u0002\u0002Ï4\u0003\",\"\u0002\u0002\u0002ÐÑ\u0007z\u0002\u0002ÑÒ\u0007\",\"q\u0002\u0002ÒÓ\u0007t\u0002\u0002Ó6\u0003\u0002\u0002\",\"\u0002ÔÕ\u0007k\u0002\u0002ÕÖ\u0007o\u0002\u0002\",\"Ö×\u0007r\u0002\u0002×Ø\u0007n\u0002\u0002Ø\",\"Ù\u0007k\u0002\u0002ÙÚ\u0007g\u0002\u0002ÚÛ\",\"\u0007u\u0002\u0002Û8\u0003\u0002\u0002\u0002ÜÝ\u0007\",\"*\u0002\u0002Ý:\u0003\u0002\u0002\u0002Þß\u0007+\u0002\",\"\u0002ß<\u0003\u0002\u0002\u0002àá\u0007}\u0002\u0002\",\"á>\u0003\u0002\u0002\u0002âã\u0007\u0002\u0002\",\"ã@\u0003\u0002\u0002\u0002äå\u0007v\u0002\u0002å\",\"æ\u0007t\u0002\u0002æç\u0007w\u0002\u0002çè\",\"\u0007g\u0002\u0002èB\u0003\u0002\u0002\u0002éê\u0007\",\"h\u0002\u0002êë\u0007c\u0002\u0002ëì\u0007n\u0002\",\"\u0002ìí\u0007u\u0002\u0002íî\u0007g\u0002\u0002\",\"îD\u0003\u0002\u0002\u0002ïð\u0007'\u0002\u0002ð\",\"F\u0003\u0002\u0002\u0002ñò\u0007&\u0002\u0002òó\",\"\u0007v\u0002\u0002óô\u0007j\u0002\u0002ôõ\u0007\",\"k\u0002\u0002õö\u0007u\u0002\u0002öH\u0003\u0002\u0002\",\"\u0002÷ø\u0007&\u0002\u0002øù\u0007k\u0002\u0002\",\"ùú\u0007p\u0002\u0002úû\u0007f\u0002\u0002û\",\"ü\u0007g\u0002\u0002üý\u0007z\u0002\u0002ýJ\u0003\",\"\u0002\u0002\u0002þÿ\u0007&\u0002\u0002ÿĀ\u0007\",\"v\u0002\u0002Āā\u0007q\u0002\u0002āĂ\u0007v\u0002\",\"\u0002Ăă\u0007c\u0002\u0002ăĄ\u0007n\u0002\u0002\",\"ĄL\u0003\u0002\u0002\u0002ąĆ\u0007.\u0002\u0002Ć\",\"N\u0003\u0002\u0002\u0002ćĈ\u0007{\u0002\u0002Ĉĉ\",\"\u0007g\u0002\u0002ĉĊ\u0007c\u0002\u0002Ċċ\u0007\",\"t\u0002\u0002ċP\u0003\u0002\u0002\u0002Čč\u0007o\u0002\",\"\u0002čĎ\u0007q\u0002\u0002Ďď\u0007p\u0002\u0002\",\"ďĐ\u0007v\u0002\u0002Đđ\u0007j\u0002\u0002đ\",\"R\u0003\u0002\u0002\u0002Ēē\u0007y\u0002\u0002ēĔ\",\"\u0007g\u0002\u0002Ĕĕ\u0007g\u0002\u0002ĕĖ\u0007\",\"m\u0002\u0002ĖT\u0003\u0002\u0002\u0002ėĘ\u0007f\u0002\",\"\u0002Ęę\u0007c\u0002\u0002ęĚ\u0007{\u0002\u0002\",\"ĚV\u0003\u0002\u0002\u0002ěĜ\u0007j\u0002\u0002Ĝ\",\"ĝ\u0007q\u0002\u0002ĝĞ\u0007w\u0002\u0002Ğğ\",\"\u0007t\u0002\u0002ğX\u0003\u0002\u0002\u0002Ġġ\u0007\",\"o\u0002\u0002ġĢ\u0007k\u0002\u0002Ģģ\u0007p\u0002\",\"\u0002ģĤ\u0007w\u0002\u0002Ĥĥ\u0007v\u0002\u0002\",\"ĥĦ\u0007g\u0002\u0002ĦZ\u0003\u0002\u0002\u0002ħ\",\"Ĩ\u0007u\u0002\u0002Ĩĩ\u0007g\u0002\u0002ĩĪ\",\"\u0007e\u0002\u0002Īī\u0007q\u0002\u0002īĬ\u0007\",\"p\u0002\u0002Ĭĭ\u0007f\u0002\u0002ĭ\\\\\u0003\u0002\u0002\",\"\u0002Įį\u0007o\u0002\u0002įİ\u0007k\u0002\u0002\",\"İı\u0007n\u0002\u0002ıIJ\u0007n\u0002\u0002IJ\",\"ij\u0007k\u0002\u0002ijĴ\u0007u\u0002\u0002Ĵĵ\",\"\u0007g\u0002\u0002ĵĶ\u0007e\u0002\u0002Ķķ\u0007\",\"q\u0002\u0002ķĸ\u0007p\u0002\u0002ĸĹ\u0007f\u0002\",\"\u0002Ĺ^\u0003\u0002\u0002\u0002ĺĻ\u0007{\u0002\u0002\",\"Ļļ\u0007g\u0002\u0002ļĽ\u0007c\u0002\u0002Ľ\",\"ľ\u0007t\u0002\u0002ľĿ\u0007u\u0002\u0002Ŀ`\u0003\",\"\u0002\u0002\u0002ŀŁ\u0007o\u0002\u0002Łł\u0007\",\"q\u0002\u0002łŃ\u0007p\u0002\u0002Ńń\u0007v\u0002\",\"\u0002ńŅ\u0007j\u0002\u0002Ņņ\u0007u\u0002\u0002\",\"ņb\u0003\u0002\u0002\u0002Ňň\u0007y\u0002\u0002ň\",\"ʼn\u0007g\u0002\u0002ʼnŊ\u0007g\u0002\u0002Ŋŋ\",\"\u0007m\u0002\u0002ŋŌ\u0007u\u0002\u0002Ōd\u0003\u0002\",\"\u0002\u0002ōŎ\u0007f\u0002\u0002Ŏŏ\u0007c\u0002\",\"\u0002ŏŐ\u0007{\u0002\u0002Őő\u0007u\u0002\u0002\",\"őf\u0003\u0002\u0002\u0002Œœ\u0007j\u0002\u0002œ\",\"Ŕ\u0007q\u0002\u0002Ŕŕ\u0007w\u0002\u0002ŕŖ\",\"\u0007t\u0002\u0002Ŗŗ\u0007u\u0002\u0002ŗh\u0003\u0002\",\"\u0002\u0002Řř\u0007o\u0002\u0002řŚ\u0007k\u0002\",\"\u0002Śś\u0007p\u0002\u0002śŜ\u0007w\u0002\u0002\",\"Ŝŝ\u0007v\u0002\u0002ŝŞ\u0007g\u0002\u0002Ş\",\"ş\u0007u\u0002\u0002şj\u0003\u0002\u0002\u0002Šš\",\"\u0007u\u0002\u0002šŢ\u0007g\u0002\u0002Ţţ\u0007\",\"e\u0002\u0002ţŤ\u0007q\u0002\u0002Ťť\u0007p\u0002\",\"\u0002ťŦ\u0007f\u0002\u0002Ŧŧ\u0007u\u0002\u0002\",\"ŧl\u0003\u0002\u0002\u0002Ũũ\u0007o\u0002\u0002ũ\",\"Ū\u0007k\u0002\u0002Ūū\u0007n\u0002\u0002ūŬ\",\"\u0007n\u0002\u0002Ŭŭ\u0007k\u0002\u0002ŭŮ\u0007\",\"u\u0002\u0002Ůů\u0007g\u0002\u0002ůŰ\u0007e\u0002\",\"\u0002Űű\u0007q\u0002\u0002űŲ\u0007p\u0002\u0002\",\"Ųų\u0007f\u0002\u0002ųŴ\u0007u\u0002\u0002Ŵ\",\"n\u0003\u0002\u0002\u0002ŵŶ\u0007B\u0002\u0002Ŷŷ\",\"\\t\u0002\u0002\u0002ŷŸ\\t\u0002\u0002\u0002ŸŹ\\t\u0002\",\"\u0002\u0002ŹƆ\\t\u0002\u0002\u0002źŻ\u0007/\u0002\",\"\u0002Żż\\t\u0002\u0002\u0002żƄ\\t\u0002\u0002\u0002\",\"Žž\u0007/\u0002\u0002žſ\\t\u0002\u0002\u0002ſ\",\"Ƃ\\t\u0002\u0002\u0002ƀƁ\u0007V\u0002\u0002Ɓƃ\",\"\u0005s:\u0002Ƃƀ\u0003\u0002\u0002\u0002Ƃƃ\u0003\",\"\u0002\u0002\u0002ƃƅ\u0003\u0002\u0002\u0002ƄŽ\u0003\",\"\u0002\u0002\u0002Ƅƅ\u0003\u0002\u0002\u0002ƅƇ\u0003\",\"\u0002\u0002\u0002Ɔź\u0003\u0002\u0002\u0002ƆƇ\u0003\",\"\u0002\u0002\u0002ƇƉ\u0003\u0002\u0002\u0002ƈƊ\u0007\",\"\\\\\u0002\u0002Ɖƈ\u0003\u0002\u0002\u0002ƉƊ\u0003\",\"\u0002\u0002\u0002Ɗp\u0003\u0002\u0002\u0002Ƌƌ\u0007\",\"B\u0002\u0002ƌƍ\u0007V\u0002\u0002ƍƎ\u0005s:\u0002\",\"Ǝr\u0003\u0002\u0002\u0002ƏƐ\\t\u0002\u0002\u0002Ɛ\",\"ơ\\t\u0002\u0002\u0002Ƒƒ\u0007<\u0002\u0002ƒƓ\",\"\\t\u0002\u0002\u0002ƓƟ\\t\u0002\u0002\u0002Ɣƕ\u0007\",\"<\u0002\u0002ƕƖ\\t\u0002\u0002\u0002ƖƝ\\t\u0002\u0002\",\"\u0002Ɨƙ\u00070\u0002\u0002Ƙƚ\\t\u0002\u0002\u0002\",\"ƙƘ\u0003\u0002\u0002\u0002ƚƛ\u0003\u0002\u0002\u0002\",\"ƛƙ\u0003\u0002\u0002\u0002ƛƜ\u0003\u0002\u0002\u0002\",\"Ɯƞ\u0003\u0002\u0002\u0002ƝƗ\u0003\u0002\u0002\u0002\",\"Ɲƞ\u0003\u0002\u0002\u0002ƞƠ\u0003\u0002\u0002\u0002\",\"ƟƔ\u0003\u0002\u0002\u0002ƟƠ\u0003\u0002\u0002\u0002\",\"ƠƢ\u0003\u0002\u0002\u0002ơƑ\u0003\u0002\u0002\u0002\",\"ơƢ\u0003\u0002\u0002\u0002Ƣƪ\u0003\u0002\u0002\u0002\",\"ƣƫ\u0007\\\\\u0002\u0002Ƥƥ\\t\u0003\u0002\u0002ƥ\",\"Ʀ\\t\u0002\u0002\u0002ƦƧ\\t\u0002\u0002\u0002Ƨƨ\",\"\u0007<\u0002\u0002ƨƩ\\t\u0002\u0002\u0002Ʃƫ\\t\u0002\",\"\u0002\u0002ƪƣ\u0003\u0002\u0002\u0002ƪƤ\u0003\u0002\",\"\u0002\u0002ƪƫ\u0003\u0002\u0002\u0002ƫt\u0003\u0002\",\"\u0002\u0002ƬƮ\\t\u0004\u0002\u0002ƭƬ\u0003\u0002\",\"\u0002\u0002ƮƲ\u0003\u0002\u0002\u0002ƯƱ\\t\u0005\",\"\u0002\u0002ưƯ\u0003\u0002\u0002\u0002Ʊƴ\u0003\u0002\",\"\u0002\u0002Ʋư\u0003\u0002\u0002\u0002ƲƳ\u0003\u0002\",\"\u0002\u0002Ƴv\u0003\u0002\u0002\u0002ƴƲ\u0003\u0002\",\"\u0002\u0002Ƶƺ\u0007b\u0002\u0002ƶƹ\u0005ƒ\",\"B\u0002Ʒƹ\\n\u0006\u0002\u0002Ƹƶ\u0003\u0002\u0002\",\"\u0002ƸƷ\u0003\u0002\u0002\u0002ƹƼ\u0003\u0002\u0002\",\"\u0002ƺƸ\u0003\u0002\u0002\u0002ƺƻ\u0003\u0002\u0002\",\"\u0002ƻƽ\u0003\u0002\u0002\u0002Ƽƺ\u0003\u0002\u0002\",\"\u0002ƽƾ\u0007b\u0002\u0002ƾx\u0003\u0002\u0002\u0002\",\"ƿDŽ\u0007)\u0002\u0002ǀǃ\u0005ƒB\u0002ǁ\",\"ǃ\\n\u0007\u0002\u0002ǂǀ\u0003\u0002\u0002\u0002ǂ\",\"ǁ\u0003\u0002\u0002\u0002ǃdž\u0003\u0002\u0002\u0002DŽ\",\"ǂ\u0003\u0002\u0002\u0002DŽDž\u0003\u0002\u0002\u0002Dž\",\"LJ\u0003\u0002\u0002\u0002džDŽ\u0003\u0002\u0002\u0002LJ\",\"Lj\u0007)\u0002\u0002Ljz\u0003\u0002\u0002\u0002ljNj\",\"\\t\u0002\u0002\u0002NJlj\u0003\u0002\u0002\u0002Njnj\",\"\u0003\u0002\u0002\u0002njNJ\u0003\u0002\u0002\u0002njǍ\",\"\u0003\u0002\u0002\u0002Ǎǔ\u0003\u0002\u0002\u0002ǎǐ\",\"\u00070\u0002\u0002ǏǑ\\t\u0002\u0002\u0002ǐǏ\u0003\",\"\u0002\u0002\u0002Ǒǒ\u0003\u0002\u0002\u0002ǒǐ\u0003\",\"\u0002\u0002\u0002ǒǓ\u0003\u0002\u0002\u0002ǓǕ\u0003\",\"\u0002\u0002\u0002ǔǎ\u0003\u0002\u0002\u0002ǔǕ\u0003\",\"\u0002\u0002\u0002Ǖ|\u0003\u0002\u0002\u0002ǖǘ\\t\\b\u0002\",\"\u0002Ǘǖ\u0003\u0002\u0002\u0002ǘǙ\u0003\u0002\u0002\",\"\u0002ǙǗ\u0003\u0002\u0002\u0002Ǚǚ\u0003\u0002\u0002\",\"\u0002ǚǛ\u0003\u0002\u0002\u0002Ǜǜ\\b?\u0002\u0002\",\"ǜ~\u0003\u0002\u0002\u0002ǝǞ\u00071\u0002\u0002Ǟ\",\"ǟ\u0007,\u0002\u0002ǟǣ\u0003\u0002\u0002\u0002Ǡ\",\"Ǣ\\v\u0002\u0002\u0002ǡǠ\u0003\u0002\u0002\u0002Ǣ\",\"ǥ\u0003\u0002\u0002\u0002ǣǤ\u0003\u0002\u0002\u0002ǣ\",\"ǡ\u0003\u0002\u0002\u0002ǤǦ\u0003\u0002\u0002\u0002ǥ\",\"ǣ\u0003\u0002\u0002\u0002Ǧǧ\u0007,\u0002\u0002ǧ\",\"Ǩ\u00071\u0002\u0002Ǩǩ\u0003\u0002\u0002\u0002ǩ\",\"Ǫ\\b@\u0002\u0002Ǫ€\u0003\u0002\u0002\u0002ǫǬ\",\"\u00071\u0002\u0002Ǭǭ\u00071\u0002\u0002ǭDZ\u0003\",\"\u0002\u0002\u0002Ǯǰ\\n\\t\u0002\u0002ǯǮ\u0003\u0002\",\"\u0002\u0002ǰdz\u0003\u0002\u0002\u0002DZǯ\u0003\u0002\",\"\u0002\u0002DZDz\u0003\u0002\u0002\u0002DzǴ\u0003\u0002\",\"\u0002\u0002dzDZ\u0003\u0002\u0002\u0002Ǵǵ\\bA\u0002\",\"\u0002ǵ‚\u0003\u0002\u0002\u0002Ƕǹ\u0007^\u0002\",\"\u0002ǷǺ\\t\\n\u0002\u0002ǸǺ\u0005…C\u0002ǹ\",\"Ƿ\u0003\u0002\u0002\u0002ǹǸ\u0003\u0002\u0002\u0002Ǻ\",\"„\u0003\u0002\u0002\u0002ǻǼ\u0007w\u0002\u0002Ǽ\",\"ǽ\u0005‡D\u0002ǽǾ\u0005‡D\u0002Ǿǿ\",\"\u0005‡D\u0002ǿȀ\u0005‡D\u0002Ȁ†\u0003\",\"\u0002\u0002\u0002ȁȂ\\t\\v\u0002\u0002Ȃˆ\u0003\",\"\u0002\u0002\u0002\u001a\u0002ƂƄƆƉƛƝƟ\",\"ơƪƭưƲƸƺǂDŽnjǒǔ\",\"ǙǣDZǹ\u0003\u0002\u0003\u0002\"].join(\"\"),m=(new c.atn.ATNDeserializer).deserialize(f),h=m.decisionToState.map((function(e,t){return new c.dfa.DFA(e,t)})),p=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&i(e,t)}(p,e);var t,n,o,u,f=(o=p,u=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=s(o);if(u){var n=s(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&(\"object\"===r(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return a(e)}(this,e)});function p(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,p),(t=f.call(this,e))._interp=new c.atn.LexerATNSimulator(a(t),m,h,new c.PredictionContextCache),t}return t=p,(n=[{key:\"atn\",get:function(){return m}}])&&l(t.prototype,n),Object.defineProperty(t,\"prototype\",{writable:!1}),p}(c.Lexer);o(p,\"grammarFileName\",\"FHIRPath.g4\"),o(p,\"channelNames\",[\"DEFAULT_TOKEN_CHANNEL\",\"HIDDEN\"]),o(p,\"modeNames\",[\"DEFAULT_MODE\"]),o(p,\"literalNames\",[null,\"'.'\",\"'['\",\"']'\",\"'+'\",\"'-'\",\"'*'\",\"'/'\",\"'div'\",\"'mod'\",\"'&'\",\"'|'\",\"'<='\",\"'<'\",\"'>'\",\"'>='\",\"'is'\",\"'as'\",\"'='\",\"'~'\",\"'!='\",\"'!~'\",\"'in'\",\"'contains'\",\"'and'\",\"'or'\",\"'xor'\",\"'implies'\",\"'('\",\"')'\",\"'{'\",\"'}'\",\"'true'\",\"'false'\",\"'%'\",\"'$this'\",\"'$index'\",\"'$total'\",\"','\",\"'year'\",\"'month'\",\"'week'\",\"'day'\",\"'hour'\",\"'minute'\",\"'second'\",\"'millisecond'\",\"'years'\",\"'months'\",\"'weeks'\",\"'days'\",\"'hours'\",\"'minutes'\",\"'seconds'\",\"'milliseconds'\"]),o(p,\"symbolicNames\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"DATETIME\",\"TIME\",\"IDENTIFIER\",\"DELIMITEDIDENTIFIER\",\"STRING\",\"NUMBER\",\"WS\",\"COMMENT\",\"LINE_COMMENT\"]),o(p,\"ruleNames\",[\"T__0\",\"T__1\",\"T__2\",\"T__3\",\"T__4\",\"T__5\",\"T__6\",\"T__7\",\"T__8\",\"T__9\",\"T__10\",\"T__11\",\"T__12\",\"T__13\",\"T__14\",\"T__15\",\"T__16\",\"T__17\",\"T__18\",\"T__19\",\"T__20\",\"T__21\",\"T__22\",\"T__23\",\"T__24\",\"T__25\",\"T__26\",\"T__27\",\"T__28\",\"T__29\",\"T__30\",\"T__31\",\"T__32\",\"T__33\",\"T__34\",\"T__35\",\"T__36\",\"T__37\",\"T__38\",\"T__39\",\"T__40\",\"T__41\",\"T__42\",\"T__43\",\"T__44\",\"T__45\",\"T__46\",\"T__47\",\"T__48\",\"T__49\",\"T__50\",\"T__51\",\"T__52\",\"T__53\",\"DATETIME\",\"TIME\",\"TIMEFORMAT\",\"IDENTIFIER\",\"DELIMITEDIDENTIFIER\",\"STRING\",\"NUMBER\",\"WS\",\"COMMENT\",\"LINE_COMMENT\",\"ESC\",\"UNICODE\",\"HEX\"]),p.EOF=c.Token.EOF,p.T__0=1,p.T__1=2,p.T__2=3,p.T__3=4,p.T__4=5,p.T__5=6,p.T__6=7,p.T__7=8,p.T__8=9,p.T__9=10,p.T__10=11,p.T__11=12,p.T__12=13,p.T__13=14,p.T__14=15,p.T__15=16,p.T__16=17,p.T__17=18,p.T__18=19,p.T__19=20,p.T__20=21,p.T__21=22,p.T__22=23,p.T__23=24,p.T__24=25,p.T__25=26,p.T__26=27,p.T__27=28,p.T__28=29,p.T__29=30,p.T__30=31,p.T__31=32,p.T__32=33,p.T__33=34,p.T__34=35,p.T__35=36,p.T__36=37,p.T__37=38,p.T__38=39,p.T__39=40,p.T__40=41,p.T__41=42,p.T__42=43,p.T__43=44,p.T__44=45,p.T__45=46,p.T__46=47,p.T__47=48,p.T__48=49,p.T__49=50,p.T__50=51,p.T__51=52,p.T__52=53,p.T__53=54,p.DATETIME=55,p.TIME=56,p.IDENTIFIER=57,p.DELIMITEDIDENTIFIER=58,p.STRING=59,p.NUMBER=60,p.WS=61,p.COMMENT=62,p.LINE_COMMENT=63,e.exports=p},4454:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){for(var n=0;n?\\f\u0004\u0002\",\"\u0002?@\\t\\b\u0002\u0002@P\u0005\u0004\u0003\u0005AB\\f\u0003\u0002\u0002\",\"BC\u0007\u001d\u0002\u0002CP\u0005\u0004\u0003\u0004DE\\f\u000f\u0002\",\"\u0002EF\u0007\u0003\u0002\u0002FP\u0005\\f\u0007\u0002GH\\f\u000e\u0002\",\"\u0002HI\u0007\u0004\u0002\u0002IJ\u0005\u0004\u0003\u0002JK\u0007\u0005\",\"\u0002\u0002KP\u0003\u0002\u0002\u0002LM\\f\\b\u0002\u0002MN\\t\\t\u0002\",\"\u0002NP\u0005\u001a\u000e\u0002O)\u0003\u0002\u0002\u0002O,\u0003\u0002\",\"\u0002\u0002O/\u0003\u0002\u0002\u0002O2\u0003\u0002\u0002\u0002O5\u0003\",\"\u0002\u0002\u0002O8\u0003\u0002\u0002\u0002O;\u0003\u0002\u0002\u0002\",\"O>\u0003\u0002\u0002\u0002OA\u0003\u0002\u0002\u0002OD\u0003\u0002\u0002\",\"\u0002OG\u0003\u0002\u0002\u0002OL\u0003\u0002\u0002\u0002PS\u0003\u0002\",\"\u0002\u0002QO\u0003\u0002\u0002\u0002QR\u0003\u0002\u0002\u0002R\u0005\",\"\u0003\u0002\u0002\u0002SQ\u0003\u0002\u0002\u0002T\\\\\u0005\\f\u0007\",\"\u0002U\\\\\u0005\\b\u0005\u0002V\\\\\u0005\\n\u0006\u0002WX\u0007\u001e\u0002\",\"\u0002XY\u0005\u0004\u0003\u0002YZ\u0007\u001f\u0002\u0002Z\\\\\u0003\",\"\u0002\u0002\u0002[T\u0003\u0002\u0002\u0002[U\u0003\u0002\u0002\u0002\",\"[V\u0003\u0002\u0002\u0002[W\u0003\u0002\u0002\u0002\\\\\u0007\u0003\u0002\",\"\u0002\u0002]^\u0007 \u0002\u0002^f\u0007!\u0002\u0002_f\\t\\n\u0002\u0002\",\"`f\u0007=\u0002\u0002af\u0007>\u0002\u0002bf\u00079\u0002\u0002cf\u0007\",\":\u0002\u0002df\u0005\u0012\\n\u0002e]\u0003\u0002\u0002\u0002e_\u0003\",\"\u0002\u0002\u0002e`\u0003\u0002\u0002\u0002ea\u0003\u0002\u0002\u0002\",\"eb\u0003\u0002\u0002\u0002ec\u0003\u0002\u0002\u0002ed\u0003\u0002\u0002\",\"\u0002f\\t\u0003\u0002\u0002\u0002gj\u0007$\u0002\u0002hk\u0005\u001e\",\"\u0010\u0002ik\u0007=\u0002\u0002jh\u0003\u0002\u0002\u0002ji\u0003\",\"\u0002\u0002\u0002k\\v\u0003\u0002\u0002\u0002lr\u0005\u001e\u0010\",\"\u0002mr\u0005\u000e\\b\u0002nr\u0007%\u0002\u0002or\u0007&\u0002\u0002\",\"pr\u0007'\u0002\u0002ql\u0003\u0002\u0002\u0002qm\u0003\u0002\u0002\",\"\u0002qn\u0003\u0002\u0002\u0002qo\u0003\u0002\u0002\u0002qp\u0003\u0002\",\"\u0002\u0002r\\r\u0003\u0002\u0002\u0002st\u0005\u001e\u0010\u0002tv\",\"\u0007\u001e\u0002\u0002uw\u0005\u0010\\t\u0002vu\u0003\u0002\u0002\u0002\",\"vw\u0003\u0002\u0002\u0002wx\u0003\u0002\u0002\u0002xy\u0007\u001f\u0002\",\"\u0002y\u000f\u0003\u0002\u0002\u0002z\u0005\u0004\u0003\u0002\",\"{|\u0007(\u0002\u0002|~\u0005\u0004\u0003\u0002}{\u0003\u0002\u0002\",\"\u0002~\u0003\u0002\u0002\u0002}\u0003\u0002\u0002\u0002\",\"€\u0003\u0002\u0002\u0002€\u0011\u0003\u0002\u0002\u0002\",\"\u0003\u0002\u0002\u0002‚„\u0007>\u0002\u0002\",\"ƒ…\u0005\u0014\\v\u0002„ƒ\u0003\u0002\u0002\u0002\",\"„…\u0003\u0002\u0002\u0002…\u0013\u0003\u0002\u0002\u0002\",\"†Š\u0005\u0016\\f\u0002‡Š\u0005\u0018\\r\u0002ˆ\",\"Š\u0007=\u0002\u0002‰†\u0003\u0002\u0002\u0002‰\",\"‡\u0003\u0002\u0002\u0002‰ˆ\u0003\u0002\u0002\u0002Š\",\"\u0015\u0003\u0002\u0002\u0002‹Œ\\t\\v\u0002\u0002Œ\",\"\u0017\u0003\u0002\u0002\u0002Ž\\t\\f\u0002\u0002Ž\u0019\",\"\u0003\u0002\u0002\u0002\u0005\u001c\u000f\u0002\u001b\",\"\u0003\u0002\u0002\u0002‘–\u0005\u001e\u0010\u0002’“\",\"\u0007\u0003\u0002\u0002“•\u0005\u001e\u0010\u0002”’\",\"\u0003\u0002\u0002\u0002•˜\u0003\u0002\u0002\u0002–”\",\"\u0003\u0002\u0002\u0002–—\u0003\u0002\u0002\u0002—\u001d\",\"\u0003\u0002\u0002\u0002˜–\u0003\u0002\u0002\u0002™š\",\"\\t\\r\u0002\u0002š\u001f\u0003\u0002\u0002\u0002\u000e'OQ[ejqv\",\"„‰–\"].join(\"\"),v=(new d.atn.ATNDeserializer).deserialize(g),b=v.decisionToState.map((function(e,t){return new d.dfa.DFA(e,t)})),_=new d.PredictionContextCache,C=function(e){o(n,e);var t=c(n);function n(e){var r;return i(this,n),(r=t.call(this,e))._interp=new d.atn.ParserATNSimulator(f(r),v,b,_),r.ruleNames=n.ruleNames,r.literalNames=n.literalNames,r.symbolicNames=n.symbolicNames,r}return s(n,[{key:\"atn\",get:function(){return v}},{key:\"sempred\",value:function(e,t,n){if(1===t)return this.expression_sempred(e,n);throw\"No predicate with index:\"+t}},{key:\"expression_sempred\",value:function(e,t){switch(t){case 0:return this.precpred(this._ctx,10);case 1:return this.precpred(this._ctx,9);case 2:return this.precpred(this._ctx,8);case 3:return this.precpred(this._ctx,7);case 4:return this.precpred(this._ctx,5);case 5:return this.precpred(this._ctx,4);case 6:return this.precpred(this._ctx,3);case 7:return this.precpred(this._ctx,2);case 8:return this.precpred(this._ctx,1);case 9:return this.precpred(this._ctx,13);case 10:return this.precpred(this._ctx,12);case 11:return this.precpred(this._ctx,6);default:throw\"No predicate with index:\"+t}}},{key:\"entireExpression\",value:function(){var e=new L(this,this._ctx,this.state);this.enterRule(e,0,n.RULE_entireExpression);try{this.enterOuterAlt(e,1),this.state=30,this.expression(0),this.state=31,this.match(n.EOF)}catch(t){if(!(t instanceof d.error.RecognitionException))throw t;e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t)}finally{this.exitRule()}return e}},{key:\"expression\",value:function(e){void 0===e&&(e=0);var t=this._ctx,r=this.state,l=new S(this,this._ctx,r);this.enterRecursionRule(l,2,n.RULE_expression,e);var i=0;try{switch(this.enterOuterAlt(l,1),this.state=37,this._errHandler.sync(this),this._input.LA(1)){case n.T__15:case n.T__16:case n.T__21:case n.T__22:case n.T__27:case n.T__29:case n.T__31:case n.T__32:case n.T__33:case n.T__34:case n.T__35:case n.T__36:case n.DATETIME:case n.TIME:case n.IDENTIFIER:case n.DELIMITEDIDENTIFIER:case n.STRING:case n.NUMBER:l=new A(this,l),this._ctx=l,this.state=34,this.term();break;case n.T__3:case n.T__4:l=new T(this,l),this._ctx=l,this.state=35,(i=this._input.LA(1))!==n.T__3&&i!==n.T__4?this._errHandler.recoverInline(this):(this._errHandler.reportMatch(this),this.consume()),this.state=36,this.expression(11);break;default:throw new d.error.NoViableAltException(this)}this._ctx.stop=this._input.LT(-1),this.state=79,this._errHandler.sync(this);for(var a=this._interp.adaptivePredict(this._input,2,this._ctx);2!=a&&a!=d.atn.ATN.INVALID_ALT_NUMBER;){if(1===a)switch(null!==this._parseListeners&&this.triggerExitRuleEvent(),this.state=77,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,1,this._ctx)){case 1:if(l=new O(this,new S(this,t,r)),this.pushNewRecursionContext(l,2,n.RULE_expression),this.state=39,!this.precpred(this._ctx,10))throw new d.error.FailedPredicateException(this,\"this.precpred(this._ctx, 10)\");this.state=40,0!=(-32&(i=this._input.LA(1)))||0==(1<'\",\"'>='\",\"'is'\",\"'as'\",\"'='\",\"'~'\",\"'!='\",\"'!~'\",\"'in'\",\"'contains'\",\"'and'\",\"'or'\",\"'xor'\",\"'implies'\",\"'('\",\"')'\",\"'{'\",\"'}'\",\"'true'\",\"'false'\",\"'%'\",\"'$this'\",\"'$index'\",\"'$total'\",\"','\",\"'year'\",\"'month'\",\"'week'\",\"'day'\",\"'hour'\",\"'minute'\",\"'second'\",\"'millisecond'\",\"'years'\",\"'months'\",\"'weeks'\",\"'days'\",\"'hours'\",\"'minutes'\",\"'seconds'\",\"'milliseconds'\"]),h(C,\"symbolicNames\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"DATETIME\",\"TIME\",\"IDENTIFIER\",\"DELIMITEDIDENTIFIER\",\"STRING\",\"NUMBER\",\"WS\",\"COMMENT\",\"LINE_COMMENT\"]),h(C,\"ruleNames\",[\"entireExpression\",\"expression\",\"term\",\"literal\",\"externalConstant\",\"invocation\",\"functn\",\"paramList\",\"quantity\",\"unit\",\"dateTimePrecision\",\"pluralDateTimePrecision\",\"typeSpecifier\",\"qualifiedIdentifier\",\"identifier\"]),C.EOF=d.Token.EOF,C.T__0=1,C.T__1=2,C.T__2=3,C.T__3=4,C.T__4=5,C.T__5=6,C.T__6=7,C.T__7=8,C.T__8=9,C.T__9=10,C.T__10=11,C.T__11=12,C.T__12=13,C.T__13=14,C.T__14=15,C.T__15=16,C.T__16=17,C.T__17=18,C.T__18=19,C.T__19=20,C.T__20=21,C.T__21=22,C.T__22=23,C.T__23=24,C.T__24=25,C.T__25=26,C.T__26=27,C.T__27=28,C.T__28=29,C.T__29=30,C.T__30=31,C.T__31=32,C.T__32=33,C.T__33=34,C.T__34=35,C.T__35=36,C.T__36=37,C.T__37=38,C.T__38=39,C.T__39=40,C.T__40=41,C.T__41=42,C.T__42=43,C.T__43=44,C.T__44=45,C.T__45=46,C.T__46=47,C.T__47=48,C.T__48=49,C.T__49=50,C.T__50=51,C.T__51=52,C.T__52=53,C.T__53=54,C.DATETIME=55,C.TIME=56,C.IDENTIFIER=57,C.DELIMITEDIDENTIFIER=58,C.STRING=59,C.NUMBER=60,C.WS=61,C.COMMENT=62,C.LINE_COMMENT=63,C.RULE_entireExpression=0,C.RULE_expression=1,C.RULE_term=2,C.RULE_literal=3,C.RULE_externalConstant=4,C.RULE_invocation=5,C.RULE_functn=6,C.RULE_paramList=7,C.RULE_quantity=8,C.RULE_unit=9,C.RULE_dateTimePrecision=10,C.RULE_pluralDateTimePrecision=11,C.RULE_typeSpecifier=12,C.RULE_qualifiedIdentifier=13,C.RULE_identifier=14;var L=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_entireExpression,a}return s(n,[{key:\"expression\",value:function(){return this.getTypedRuleContext(S,0)}},{key:\"EOF\",value:function(){return this.getToken(C.EOF,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterEntireExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitEntireExpression(this)}}]),n}(d.ParserRuleContext),S=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_expression,a}return s(n,[{key:\"copyFrom\",value:function(e){l(m(n.prototype),\"copyFrom\",this).call(this,e)}}]),n}(d.ParserRuleContext),k=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterIndexerExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitIndexerExpression(this)}}]),n}(S);C.IndexerExpressionContext=k;var T=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"expression\",value:function(){return this.getTypedRuleContext(S,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterPolarityExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitPolarityExpression(this)}}]),n}(S);C.PolarityExpressionContext=T;var U=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterAdditiveExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitAdditiveExpression(this)}}]),n}(S);C.AdditiveExpressionContext=U;var O=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterMultiplicativeExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitMultiplicativeExpression(this)}}]),n}(S);C.MultiplicativeExpressionContext=O;var x=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterUnionExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitUnionExpression(this)}}]),n}(S);C.UnionExpressionContext=x;var M=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterOrExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitOrExpression(this)}}]),n}(S);C.OrExpressionContext=M;var I=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterAndExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitAndExpression(this)}}]),n}(S);C.AndExpressionContext=I;var E=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterMembershipExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitMembershipExpression(this)}}]),n}(S);C.MembershipExpressionContext=E;var w=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterInequalityExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitInequalityExpression(this)}}]),n}(S);C.InequalityExpressionContext=w;var N=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"expression\",value:function(){return this.getTypedRuleContext(S,0)}},{key:\"invocation\",value:function(){return this.getTypedRuleContext(X,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterInvocationExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitInvocationExpression(this)}}]),n}(S);C.InvocationExpressionContext=N;var R=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterEqualityExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitEqualityExpression(this)}}]),n}(S);C.EqualityExpressionContext=R;var P=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),h(f(s=t.call(this,e)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),l((a=f(s),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterImpliesExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitImpliesExpression(this)}}]),n}(S);C.ImpliesExpressionContext=P;var A=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"term\",value:function(){return this.getTypedRuleContext(F,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterTermExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitTermExpression(this)}}]),n}(S);C.TermExpressionContext=A;var D=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"expression\",value:function(){return this.getTypedRuleContext(S,0)}},{key:\"typeSpecifier\",value:function(){return this.getTypedRuleContext(ce,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterTypeExpression(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitTypeExpression(this)}}]),n}(S);C.TypeExpressionContext=D;var F=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_term,a}return s(n,[{key:\"copyFrom\",value:function(e){l(m(n.prototype),\"copyFrom\",this).call(this,e)}}]),n}(d.ParserRuleContext),q=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"externalConstant\",value:function(){return this.getTypedRuleContext($,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterExternalConstantTerm(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitExternalConstantTerm(this)}}]),n}(F);C.ExternalConstantTermContext=q;var j=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"literal\",value:function(){return this.getTypedRuleContext(z,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterLiteralTerm(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitLiteralTerm(this)}}]),n}(F);C.LiteralTermContext=j;var B=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"expression\",value:function(){return this.getTypedRuleContext(S,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterParenthesizedTerm(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitParenthesizedTerm(this)}}]),n}(F);C.ParenthesizedTermContext=B;var H=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"invocation\",value:function(){return this.getTypedRuleContext(X,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterInvocationTerm(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitInvocationTerm(this)}}]),n}(F);C.InvocationTermContext=H;var z=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_literal,a}return s(n,[{key:\"copyFrom\",value:function(e){l(m(n.prototype),\"copyFrom\",this).call(this,e)}}]),n}(d.ParserRuleContext),G=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"TIME\",value:function(){return this.getToken(C.TIME,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterTimeLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitTimeLiteral(this)}}]),n}(z);C.TimeLiteralContext=G;var V=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterNullLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitNullLiteral(this)}}]),n}(z);C.NullLiteralContext=V;var K=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"DATETIME\",value:function(){return this.getToken(C.DATETIME,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterDateTimeLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitDateTimeLiteral(this)}}]),n}(z);C.DateTimeLiteralContext=K;var W=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"STRING\",value:function(){return this.getToken(C.STRING,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterStringLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitStringLiteral(this)}}]),n}(z);C.StringLiteralContext=W;var J=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterBooleanLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitBooleanLiteral(this)}}]),n}(z);C.BooleanLiteralContext=J;var Y=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"NUMBER\",value:function(){return this.getToken(C.NUMBER,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterNumberLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitNumberLiteral(this)}}]),n}(z);C.NumberLiteralContext=Y;var Q=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"quantity\",value:function(){return this.getTypedRuleContext(ae,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterQuantityLiteral(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitQuantityLiteral(this)}}]),n}(z);C.QuantityLiteralContext=Q;var $=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_externalConstant,a}return s(n,[{key:\"identifier\",value:function(){return this.getTypedRuleContext(me,0)}},{key:\"STRING\",value:function(){return this.getToken(C.STRING,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterExternalConstant(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitExternalConstant(this)}}]),n}(d.ParserRuleContext),X=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_invocation,a}return s(n,[{key:\"copyFrom\",value:function(e){l(m(n.prototype),\"copyFrom\",this).call(this,e)}}]),n}(d.ParserRuleContext),Z=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterTotalInvocation(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitTotalInvocation(this)}}]),n}(X);C.TotalInvocationContext=Z;var ee=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterThisInvocation(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitThisInvocation(this)}}]),n}(X);C.ThisInvocationContext=ee;var te=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterIndexInvocation(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitIndexInvocation(this)}}]),n}(X);C.IndexInvocationContext=te;var ne=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"functn\",value:function(){return this.getTypedRuleContext(le,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterFunctionInvocation(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitFunctionInvocation(this)}}]),n}(X);C.FunctionInvocationContext=ne;var re=function(e){o(n,e);var t=c(n);function n(e,r){var a,s;return i(this,n),l((a=f(s=t.call(this,e)),m(n.prototype)),\"copyFrom\",a).call(a,r),s}return s(n,[{key:\"identifier\",value:function(){return this.getTypedRuleContext(me,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterMemberInvocation(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitMemberInvocation(this)}}]),n}(X);C.MemberInvocationContext=re;var le=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_functn,a}return s(n,[{key:\"identifier\",value:function(){return this.getTypedRuleContext(me,0)}},{key:\"paramList\",value:function(){return this.getTypedRuleContext(ie,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterFunctn(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitFunctn(this)}}]),n}(d.ParserRuleContext),ie=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),h(f(a=t.call(this,r,l)),\"expression\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(S):this.getTypedRuleContext(S,e)})),a.parser=e,a.ruleIndex=C.RULE_paramList,a}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterParamList(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitParamList(this)}}]),n}(d.ParserRuleContext),ae=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_quantity,a}return s(n,[{key:\"NUMBER\",value:function(){return this.getToken(C.NUMBER,0)}},{key:\"unit\",value:function(){return this.getTypedRuleContext(se,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterQuantity(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitQuantity(this)}}]),n}(d.ParserRuleContext),se=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_unit,a}return s(n,[{key:\"dateTimePrecision\",value:function(){return this.getTypedRuleContext(oe,0)}},{key:\"pluralDateTimePrecision\",value:function(){return this.getTypedRuleContext(ue,0)}},{key:\"STRING\",value:function(){return this.getToken(C.STRING,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterUnit(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitUnit(this)}}]),n}(d.ParserRuleContext),oe=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_dateTimePrecision,a}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterDateTimePrecision(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitDateTimePrecision(this)}}]),n}(d.ParserRuleContext),ue=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_pluralDateTimePrecision,a}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterPluralDateTimePrecision(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitPluralDateTimePrecision(this)}}]),n}(d.ParserRuleContext),ce=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_typeSpecifier,a}return s(n,[{key:\"qualifiedIdentifier\",value:function(){return this.getTypedRuleContext(fe,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterTypeSpecifier(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitTypeSpecifier(this)}}]),n}(d.ParserRuleContext),fe=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),h(f(a=t.call(this,r,l)),\"identifier\",(function(e){return void 0===e&&(e=null),null===e?this.getTypedRuleContexts(me):this.getTypedRuleContext(me,e)})),a.parser=e,a.ruleIndex=C.RULE_qualifiedIdentifier,a}return s(n,[{key:\"enterRule\",value:function(e){e instanceof y&&e.enterQualifiedIdentifier(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitQualifiedIdentifier(this)}}]),n}(d.ParserRuleContext),me=function(e){o(n,e);var t=c(n);function n(e,r,l){var a;return i(this,n),void 0===r&&(r=null),null==l&&(l=-1),(a=t.call(this,r,l)).parser=e,a.ruleIndex=C.RULE_identifier,a}return s(n,[{key:\"IDENTIFIER\",value:function(){return this.getToken(C.IDENTIFIER,0)}},{key:\"DELIMITEDIDENTIFIER\",value:function(){return this.getToken(C.DELIMITEDIDENTIFIER,0)}},{key:\"enterRule\",value:function(e){e instanceof y&&e.enterIdentifier(this)}},{key:\"exitRule\",value:function(e){e instanceof y&&e.exitIdentifier(this)}}]),n}(d.ParserRuleContext);C.EntireExpressionContext=L,C.ExpressionContext=S,C.TermContext=F,C.LiteralContext=z,C.ExternalConstantContext=$,C.InvocationContext=X,C.FunctnContext=le,C.ParamListContext=ie,C.QuantityContext=ae,C.UnitContext=se,C.DateTimePrecisionContext=oe,C.PluralDateTimePrecisionContext=ue,C.TypeSpecifierContext=ce,C.QualifiedIdentifierContext=fe,C.IdentifierContext=me,e.exports=C},8168:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){var n=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if(\"string\"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e))||t&&e&&\"number\"==typeof e.length){n&&(e=n);var r=0,l=function(){};return{s:l,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,s=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){o=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(o)throw a}}}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0){for(var U=[],O=0,x=s.length;On.length)&&(t=n.length),t-=e.length;var r=n.indexOf(e,t);return-1!==r&&r===t}}),String.prototype.includes||Object.defineProperty(String.prototype,\"includes\",{value:function(){return-1!==this.indexOf.apply(this,arguments)}}),Object.assign||Object.defineProperty(Object,\"assign\",{value:function(e){if(null==e)throw new TypeError(\"Cannot convert undefined or null to object\");return r(arguments,1).reduce((function(e,t){return Object.keys(Object(t)).forEach((function(n){e[n]=t[n]})),e}),Object(e))}}),\"undefined\"==typeof btoa&&(n.g.btoa=function(e){return new Buffer.from(e,\"binary\").toString(\"base64\")}),\"undefined\"==typeof atob&&(n.g.atob=function(e){return new Buffer.from(e,\"base64\").toString(\"binary\")})},2705:function(e,t,n){var r=n(1575),l=n(4230),i={},a={};i.indexOf=function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(t)||r.isEmpty(n)?[]:n.indexOf(t)},i.substring=function(e,t,n){var i=l.singleton(e,\"String\");return r.isEmpty(i)||r.isEmpty(t)||t<0||t>=i.length?[]:void 0===n||r.isEmpty(n)?i.substring(t):i.substring(t,t+n)},i.startsWith=function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(t)||r.isEmpty(n)?[]:n.startsWith(t)},i.endsWith=function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(t)||r.isEmpty(n)?[]:n.endsWith(t)},i.containsFn=function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(t)||r.isEmpty(n)?[]:n.includes(t)},i.upper=function(e){var t=l.singleton(e,\"String\");return r.isEmpty(t)?[]:t.toUpperCase()},i.lower=function(e){var t=l.singleton(e,\"String\");return r.isEmpty(t)?[]:t.toLowerCase()},i.joinFn=function(e,t){return void 0===t&&(t=\"\"),e.map((function(e){var t=r.valData(e);if(\"string\"==typeof t)return t;throw new Error(\"Join requires a collection of strings.\")})).join(t)},i.splitFn=function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(n)?[]:n.split(t)},i.trimFn=function(e){var t=l.singleton(e,\"String\");return r.isEmpty(t)?[]:t.trim()},i.encodeFn=function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(n)?[]:\"urlbase64\"===t||\"base64url\"===t?btoa(n).replace(/\\+/g,\"-\").replace(/\\//g,\"_\"):\"base64\"===t?btoa(n):\"hex\"===t?Array.from(n).map((function(e){return e.charCodeAt(0)<128?e.charCodeAt(0).toString(16):encodeURIComponent(e).replace(/%/g,\"\")})).join(\"\"):[]},i.decodeFn=function(e,t){var n=l.singleton(e,\"String\");if(r.isEmpty(n))return[];if(\"urlbase64\"===t||\"base64url\"===t)return atob(n.replace(/-/g,\"+\").replace(/_/g,\"/\"));if(\"base64\"===t)return atob(n);if(\"hex\"===t){if(n.length%2!=0)throw new Error(\"Decode 'hex' requires an even number of characters.\");return decodeURIComponent(\"%\"+n.match(/.{2}/g).join(\"%\"))}return[]};var s=!1===new RegExp(\"\").dotAll;i.matches=s?function(e,t){var n=l.singleton(e,\"String\");return r.isEmpty(t)||r.isEmpty(n)?[]:new RegExp(t,\"s\").test(n)}:function(e,t){var n,i=l.singleton(e,\"String\");return r.isEmpty(t)||r.isEmpty(i)?[]:new RegExp((a[n=t]||(a[n]=n.replace(/\\./g,(function(e,t,n){var r=n.substr(0,t).replace(/\\\\\\\\/g,\"\").replace(/\\\\[\\][]/g,\"\"),l=\"\\\\\"===r[r.length-1],i=r.lastIndexOf(\"[\"),a=r.lastIndexOf(\"]\");return l||i>a?\".\":\"[^]\"}))),a[n])).test(i)},i.replace=function(e,t,n){var i=l.singleton(e,\"String\");if(r.isEmpty(t)||r.isEmpty(n)||r.isEmpty(i))return[];var a=new RegExp(r.escapeStringForRegExp(t),\"g\");return i.replace(a,n)},i.replaceMatches=function(e,t,n){var i=l.singleton(e,\"String\");if(r.isEmpty(t)||r.isEmpty(n)||r.isEmpty(i))return[];var a=new RegExp(t,\"g\");return i.replace(a,n)},i.length=function(e){var t=l.singleton(e,\"String\");return r.isEmpty(t)?[]:t.length},i.toChars=function(e){var t=l.singleton(e,\"String\");return r.isEmpty(t)?[]:t.split(\"\")},e.exports=i},7028:function(e,t,n){function r(e){return r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},r(e)}function l(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&i(e,t)}function i(e,t){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},i(e,t)}function a(e){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,l=m(e);if(t){var i=m(this).constructor;n=Reflect.construct(l,arguments,i)}else n=l.apply(this,arguments);return function(e,t){if(t&&(\"object\"===r(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}(this,n)}}function s(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){for(var n=0;n1||r>1))return null;if(this.unit===e.unit)return d.isEqual(this.value,e.value);var l=this._compareYearsAndMonths(e);if(l)return l.isEqual;var i=n.toUcumQuantity(this.value,this.unit),a=n.toUcumQuantity(e.value,e.unit),s=p.convertUnitTo(a.unit,a.value,i.unit);return\"succeeded\"===s.status&&d.isEqual(i.value,s.toVal)}},{key:\"equivalentTo\",value:function(e){if(!(e instanceof this.constructor))return!1;if(this.unit===e.unit)return d.isEquivalent(this.value,e.value);var t=n.getEquivalentUcumUnitCode(this.unit),r=n.getEquivalentUcumUnitCode(e.unit),l=p.convertUnitTo(r,e.value,t);return\"succeeded\"===l.status&&d.isEquivalent(this.value,l.toVal)}},{key:\"compare\",value:function(e){if(this.unit===e.unit)return this.value-e.value;var t=n._calendarDuration2Seconds[this.unit],r=n._calendarDuration2Seconds[e.unit];if(!t!=!r&&(t>1||r>1))return null;var l=n.getEquivalentUcumUnitCode(this.unit),i=n.getEquivalentUcumUnitCode(e.unit),a=p.convertUnitTo(i,e.value,l);return\"succeeded\"!==a.status?null:this.value-a.toVal}},{key:\"plus\",value:function(e){var t=n._yearMonthConversionFactor[this.unit],r=n._yearMonthConversionFactor[e.unit];if(t&&r)return new n(this.value+e.value*r/t,this.unit);var l=n._calendarDuration2Seconds[this.unit],i=n._calendarDuration2Seconds[e.unit];if(!l!=!i&&(l>1||i>1))return null;var a=l?\"s\":this.unit.replace(S,\"\"),s=(l||1)*this.value,o=i?\"s\":e.unit.replace(S,\"\"),u=(i||1)*e.value,c=p.convertUnitTo(o,u,a);return\"succeeded\"!==c.status||c.fromUnit.isSpecial_||c.toUnit.isSpecial_?null:new n(s+c.toVal,a)}},{key:\"mul\",value:function(e){var t=n._calendarDuration2Seconds[this.unit],r=n._calendarDuration2Seconds[e.unit];if(t>1&&\"'1'\"!==e.unit||r>1&&\"'1'\"!==this.unit)return null;var l=this.convToUcumUnits(this,t);if(!l)return null;var i=this.convToUcumUnits(e,r);return i?\"'1'\"===this.unit?new n(this.value*e.value,e.unit):\"'1'\"===e.unit?new n(this.value*e.value,this.unit):new n(l.value*i.value,\"'(\".concat(l.unit,\").(\").concat(i.unit,\")'\")):null}},{key:\"div\",value:function(e){if(0===e.value)return null;var t=n._calendarDuration2Seconds[this.unit],r=n._calendarDuration2Seconds[e.unit];if(t)if(r){var l=n._yearMonthConversionFactor[this.unit],i=n._yearMonthConversionFactor[e.unit];if(l&&i)return new n(this.value*l/(e.value*i),\"'1'\")}else{if(\"'1'\"===e.unit)return new n(this.value/e.value,this.unit);if(t>1)return null}else if(r>1)return null;var a=this.convToUcumUnits(this,t);if(!a)return null;var s=this.convToUcumUnits(e,r);if(!s)return null;var o=\"1\"===s.unit?a.unit:\"(\".concat(a.unit,\")/(\").concat(s.unit,\")\"),u=p.convertToBaseUnits(o,a.value/s.value);return\"succeeded\"!==u.status?null:new n(u.magnitude,\"'\".concat(Object.keys(u.unitToExp).map((function(e){return e+u.unitToExp[e]})).join(\".\")||\"1\",\"'\"))}},{key:\"convToUcumUnits\",value:function(e,t){if(t)return{value:t*e.value,unit:\"s\"};var n=e.unit.replace(S,\"\"),r=p.convertToBaseUnits(n,e.value);return\"succeeded\"!==r.status||r.fromUnitIsSpecial?null:{value:r.magnitude,unit:Object.keys(r.unitToExp).map((function(e){return e+r.unitToExp[e]})).join(\".\")||\"1\"}}},{key:\"_compareYearsAndMonths\",value:function(e){var t=n._yearMonthConversionFactor[this.unit],r=n._yearMonthConversionFactor[e.unit];return t&&r?{isEqual:d.isEqual(this.value*t,e.value*r)}:null}}]),n}(C),S=/^'|'$/g;L.getEquivalentUcumUnitCode=function(e){return L.mapTimeUnitsToUCUMCode[e]||e.replace(S,\"\")},L.toUcumQuantity=function(e,t){var n=L._calendarDuration2Seconds[t];return n?{value:n*e,unit:\"s\"}:{value:e,unit:t.replace(S,\"\")}},L.convUnitTo=function(e,t,n){var r=L._yearMonthConversionFactor[e],l=L._yearMonthConversionFactor[n];if(r&&l)return new L(r*t/l,n);var i=L._calendarDuration2Seconds[e],a=L._calendarDuration2Seconds[n];if(a){if(i)return new L(i*t/a,n);var s=p.convertUnitTo(e.replace(/^'|'$/g,\"\"),t,\"s\");if(\"succeeded\"===s.status)return new L(s.toVal/a,n)}else{var o=i?p.convertUnitTo(\"s\",i*t,n.replace(/^'|'$/g,\"\")):p.convertUnitTo(e.replace(/^'|'$/g,\"\"),t,n.replace(/^'|'$/g,\"\"));if(\"succeeded\"===o.status)return new L(o.toVal,n)}return null},L._calendarDuration2Seconds={years:31536e3,months:2592e3,weeks:604800,days:86400,hours:3600,minutes:60,seconds:1,milliseconds:.001,year:31536e3,month:2592e3,week:604800,day:86400,hour:3600,minute:60,second:1,millisecond:.001},L._yearMonthConversionFactor={years:12,months:1,year:12,month:1},L.dateTimeArithmeticDurationUnits={years:\"year\",months:\"month\",weeks:\"week\",days:\"day\",hours:\"hour\",minutes:\"minute\",seconds:\"second\",milliseconds:\"millisecond\",year:\"year\",month:\"month\",week:\"week\",day:\"day\",hour:\"hour\",minute:\"minute\",second:\"second\",millisecond:\"millisecond\",\"'s'\":\"second\",\"'ms'\":\"millisecond\"},L.mapUCUMCodeToTimeUnits={a:\"year\",mo:\"month\",wk:\"week\",d:\"day\",h:\"hour\",min:\"minute\",s:\"second\",ms:\"millisecond\"},L.mapTimeUnitsToUCUMCode=Object.keys(L.mapUCUMCodeToTimeUnits).reduce((function(e,t){return e[L.mapUCUMCodeToTimeUnits[t]]=t,e[L.mapUCUMCodeToTimeUnits[t]+\"s\"]=t,e}),{});var k=function(e){l(n,e);var t=a(n);function n(e){var r;return s(this,n),(r=t.call(this)).asStr=e,r}return u(n,[{key:\"plus\",value:function(e){var t=e.unit,r=L.dateTimeArithmeticDurationUnits[t];if(!r)throw new Error(\"For date/time arithmetic, the unit of the quantity must be one of the following time-based units: \"+Object.keys(L.dateTimeArithmeticDurationUnits));var l=this.constructor,i=l._timeUnitToDatePrecision[r];if(void 0===i)throw new Error(\"Unsupported unit for +. The unit should be one of \"+Object.keys(l._timeUnitToDatePrecision).join(\", \")+\".\");var a=e.value,s=l===U;if((s?i<2:i<5)&&(a=Math.trunc(a)),this._getPrecision()2?new T(i)._getTimeParts():this._getTimeParts(),o=r>2?new T(a)._getTimeParts():e._getTimeParts(),u=0;u<=l&&!1!==t;++u)t=s[u]==o[u];t&&(t=void 0)}}else t=!1;return t}},{key:\"equivalentTo\",value:function(e){var t=e instanceof this.constructor;return t&&(t=this._getPrecision()==e._getPrecision())&&(t=this._getDateObj().getTime()==e._getDateObj().getTime()),t}},{key:\"compare\",value:function(e){var t=this._getPrecision(),n=e._getPrecision(),r=t<=n?this._getDateObj().getTime():this._dateAtPrecision(n).getTime(),l=n<=t?e._getDateObj().getTime():e._dateAtPrecision(t).getTime();return t!==n&&r===l?null:r-l}},{key:\"_getPrecision\",value:function(){return void 0===this.precision&&this._getMatchData(),this.precision}},{key:\"_getMatchData\",value:function(e,t){if(void 0===this.timeMatchData&&(this.timeMatchData=this.asStr.match(e),this.timeMatchData))for(var n=t;n>=0&&void 0===this.precision;--n)this.timeMatchData[n]&&(this.precision=n);return this.timeMatchData}},{key:\"_getTimeParts\",value:function(e){var t=[];t=[e[0]];var n=e[4];if(n){var r=t[0];t[0]=r.slice(0,r.length-n.length)}var l=e[1];if(l){var i=t[0];t[0]=i.slice(0,i.length-l.length),t[1]=l;var a=e[2];if(a){t[1]=l.slice(0,l.length-a.length),t[2]=a;var s=e[3];s&&(t[2]=a.slice(0,a.length-s.length),t[3]=s)}}return t}},{key:\"_getDateObj\",value:function(){if(!this.dateObj){var e=this._getPrecision();this.dateObj=this._dateAtPrecision(e)}return this.dateObj}},{key:\"_createDate\",value:function(e,t,n,r,l,i,a,s){var o=new Date(e,t,n,r,l,i,a);if(s){var u=o.getTimezoneOffset(),c=0;if(\"Z\"!=s){var f=s.split(\":\"),m=parseInt(f[0]);c=parseInt(f[1]),m<0&&(c=-c),c+=60*m}o=h(o,-u-c)}return o}}]),n}(C);k.timeUnitToAddFn={year:n(8303),month:n(8459),week:n(8998),day:n(7929),hour:n(1973),minute:n(9829),second:n(7492),millisecond:n(3936)};var T=function(e){l(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:\"compare\",value:function(e){if(!(e instanceof n))throw\"Invalid comparison of a DateTime with something else\";return f(m(n.prototype),\"compare\",this).call(this,e)}},{key:\"_getMatchData\",value:function(){return f(m(n.prototype),\"_getMatchData\",this).call(this,v,5)}},{key:\"_getTimeParts\",value:function(){if(!this.timeParts){var e=this._getMatchData(),t=e[0];this.timeParts=[t];var r=e[1];if(r){this.timeParts[0]=t.slice(0,t.length-r.length),this.timeParts[1]=r;var l=e[2];if(l){this.timeParts[1]=r.slice(0,r.length-l.length),this.timeParts[2]=l;var i=e[3];i&&(this.timeParts[2]=l.slice(0,l.length-i.length),\"T\"===i[0]&&(e[3]=i.slice(1)),this.timeParts=this.timeParts.concat(f(m(n.prototype),\"_getTimeParts\",this).call(this,e.slice(3))))}}}return this.timeParts}},{key:\"_dateAtPrecision\",value:function(e){var t=this._getTimeParts(),n=this._getMatchData()[7],r=this._getPrecision(),l=parseInt(t[0]),i=r>0?parseInt(t[1].slice(1))-1:0,a=r>1?parseInt(t[2].slice(1)):1,s=r>2?parseInt(t[3]):0,o=r>3?parseInt(t[4].slice(1)):0,u=r>4?parseInt(t[5].slice(1)):0,c=t.length>6?parseInt(t[6].slice(1)):0,f=this._createDate(l,i,a,s,o,u,c,n);return e0?f.getMonth():0,a=e>1?f.getDate():1,s=e>2?f.getHours():0,o=e>3?f.getMinutes():0,f=new Date(l,i,a,s,o)),f}}]),n}(k);T.checkString=function(e){var t=new T(e);return t._getMatchData()||(t=null),t},T._timeUnitToDatePrecision={year:0,month:1,week:2,day:2,hour:3,minute:4,second:5,millisecond:6},T._datePrecisionToTimeUnit=[\"year\",\"month\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];var U=function(e){l(n,e);var t=a(n);function n(e){return s(this,n),\"T\"==e[0]&&(e=e.slice(1)),t.call(this,e)}return u(n,[{key:\"compare\",value:function(e){if(!(e instanceof n))throw\"Invalid comparison of a time with something else\";return f(m(n.prototype),\"compare\",this).call(this,e)}},{key:\"_dateAtPrecision\",value:function(e){var t=this._getTimeParts(),n=this._getMatchData()[4],r=this._getPrecision(),l=2010,i=parseInt(t[0]),a=r>0?parseInt(t[1].slice(1)):0,s=r>1?parseInt(t[2].slice(1)):0,o=t.length>3?parseInt(t[3].slice(1)):0,u=this._createDate(l,0,1,i,a,s,o,n);return n&&(u.setYear(l),u.setMonth(0),u.setDate(1)),e0?u.getMinutes():0,u=new Date(l,0,1,i,a)),u}},{key:\"_getMatchData\",value:function(){return f(m(n.prototype),\"_getMatchData\",this).call(this,g,2)}},{key:\"_getTimeParts\",value:function(){return this.timeParts||(this.timeParts=f(m(n.prototype),\"_getTimeParts\",this).call(this,this._getMatchData())),this.timeParts}}]),n}(k);function O(e,t){var n=e;return 3===t&&e<100&&(n=\"0\"+e),e<10&&(n=\"0\"+n),n}U.checkString=function(e){var t=new U(e);return t._getMatchData()||(t=null),t},U._timeUnitToDatePrecision={hour:0,minute:1,second:2,millisecond:3},U._datePrecisionToTimeUnit=[\"hour\",\"minute\",\"second\",\"millisecond\"],T.isoDateTime=function(e,t){void 0===t&&(t=5);var n=\"\"+e.getFullYear();if(t>0&&(n+=\"-\"+O(e.getMonth()+1),t>1&&(n+=\"-\"+O(e.getDate()),t>2&&(n+=\"T\"+T.isoTime(e,t-3)))),t>2){var r=e.getTimezoneOffset(),l=r<0?\"+\":\"-\",i=(r=Math.abs(r))%60;n+=l+O((r-i)/60)+\":\"+O(i)}return n},T.isoTime=function(e,t){void 0===t&&(t=2);var n=\"\"+O(e.getHours());return t>0&&(n+=\":\"+O(e.getMinutes()),t>1&&(n+=\":\"+O(e.getSeconds()),e.getMilliseconds()&&(n+=\".\"+O(e.getMilliseconds(),3)))),n};var x=function(e){l(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:\"_getMatchData\",value:function(){return k.prototype._getMatchData.apply(this,[b,2])}}]),n}(T);x.checkString=function(e){var t=new x(e);return t._getMatchData()||(t=null),t},x.isoDate=function(e,t){return(void 0===t||t>2)&&(t=2),T.isoDateTime(e,t)};var M=function(e){l(n,e);var t=a(n);function n(e){return s(this,n),t.call(this,e)}return u(n,[{key:\"_getMatchData\",value:function(){return k.prototype._getMatchData.apply(this,[_,5])}}]),n}(T);M.checkString=function(e){var t=new M(e);return t._getMatchData()||(t=null),t};var I=function(){function e(t,n,r,l){s(this,e),null!=t&&t.resourceType&&(n=t.resourceType),this.path=n,this.data=t,this._data=r||{},this.isBackbone=l}return u(e,[{key:\"getTypeInfo\",value:function(){var e;return R.model?this.isBackbone?e=new R({namespace:R.FHIR,name:\"BackboneElement\"}):/^System\\.(.*)$/.test(this.path)?e=new R({namespace:R.System,name:RegExp.$1}):-1===this.path.indexOf(\".\")&&(e=new R({namespace:R.FHIR,name:this.path})):e=R.createByValueInSystemNamespace(this.data),e||R.createByValueInSystemNamespace(this.data)}},{key:\"toJSON\",value:function(){return JSON.stringify(this.data)}},{key:\"convertData\",value:function(){var e=this.data,t=R.typeToClassWithCheckString[this.path];if(t)e=t.checkString(e)||e;else if(R.isType(this.path,\"Quantity\")){var n;if(\"http://unitsofmeasure.org\"===(null===(n=e)||void 0===n?void 0:n.system)&&\"number\"==typeof e.value&&\"string\"==typeof e.code){if(void 0!==e.comparator)throw new Error(\"Cannot convert a FHIR.Quantity that has a comparator\");e=new L(e.value,L.mapUCUMCodeToTimeUnits[e.code]||\"'\"+e.code+\"'\")}}return e}}]),e}();I.makeResNode=function(e,t,n){return e instanceof I?e:new I(e,t,n,arguments.length>3&&void 0!==arguments[3]&&arguments[3])};var E=new Set;[\"Boolean\",\"String\",\"Integer\",\"Decimal\",\"Date\",\"DateTime\",\"Time\",\"Quantity\"].forEach((function(e){return E.add(e)}));var w,N,R=function(){function e(t){var n=t.name,r=t.namespace;s(this,e),this.name=n,this.namespace=r}return u(e,[{key:\"is\",value:function(t){return t instanceof e&&(!this.namespace||!t.namespace||this.namespace===t.namespace)&&(!e.model||this.namespace&&this.namespace!==e.FHIR?this.name===t.name:e.isType(this.name,t.name))}},{key:\"toString\",value:function(){return(this.namespace?this.namespace+\".\":\"\")+this.name}},{key:\"isValid\",value:function(){var t=!1;if(\"System\"===this.namespace)t=E.has(this.name);else if(\"FHIR\"===this.namespace){var n;t=null===(n=e.model)||void 0===n?void 0:n.availableTypes.has(this.name)}else if(!this.namespace){var r;t=E.has(this.name)||(null===(r=e.model)||void 0===r?void 0:r.availableTypes.has(this.name))}return t}}]),e}();w=R,(N=c(N=\"model\"))in w?Object.defineProperty(w,N,{value:null,enumerable:!0,configurable:!0,writable:!0}):w[N]=null,R.typeToClassWithCheckString={date:x,dateTime:T,instant:M,time:U},R.isType=function(e,t){do{var n;if(e===t)return!0}while(e=null===(n=R.model)||void 0===n?void 0:n.type2Parent[e]);return!1},R.System=\"System\",R.FHIR=\"FHIR\",R.createByValueInSystemNamespace=function(e){var t=r(e);return Number.isInteger(e)?t=\"integer\":\"number\"===t?t=\"decimal\":e instanceof x?t=\"date\":e instanceof T?t=\"dateTime\":e instanceof U?t=\"time\":e instanceof L&&(t=\"Quantity\"),t=t.replace(/^\\w/,(function(e){return e.toUpperCase()})),new R({namespace:R.System,name:t})},R.fromValue=function(e){return e instanceof I?e.getTypeInfo():R.createByValueInSystemNamespace(e)},e.exports={FP_Type:C,FP_TimeBase:k,FP_Date:x,FP_DateTime:T,FP_Instant:M,FP_Time:U,FP_Quantity:L,timeRE:g,dateTimeRE:v,ResourceNode:I,TypeInfo:R,typeFn:function(e){return e.map((function(e){return R.fromValue(e)}))},isFn:function(e,t){if(0===e.length)return[];if(e.length>1)throw new Error(\"Expected singleton on left side of 'is', got \"+JSON.stringify(e));return R.fromValue(e[0]).is(t)},asFn:function(e,t){if(0===e.length)return[];if(e.length>1)throw new Error(\"Expected singleton on left side of 'as', got \"+JSON.stringify(e));return R.fromValue(e[0]).is(t)?e:[]}}},1575:function(e,t,n){function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&i.raiseError(\"Was expecting no more than one element but got \"+JSON.stringify(e),t)},i.assertType=function(e,t,n){var r=this.valData(e);if(t.indexOf(l(r))<0){var a=t.length>1?\"one of \"+t.join(\", \"):t[0];i.raiseError(\"Found type '\"+l(e)+\"' but was expecting \"+a,n)}return r},i.isEmpty=function(e){return Array.isArray(e)&&0==e.length},i.isSome=function(e){return null!=e&&!i.isEmpty(e)},i.isTrue=function(e){return null!=e&&(!0===e||1==e.length&&!0===e[0])},i.isFalse=function(e){return null!=e&&(!1===e||1==e.length&&!1===e[0])},i.isCapitalized=function(e){return e&&e[0]===e[0].toUpperCase()},i.flatten=function(e){return e.reduce((function(e,t){return Array.isArray(t)?e=e.concat(t):e.push(t),e}),[])},i.arraify=function(e){return Array.isArray(e)?e:i.isSome(e)?[e]:[]},i.valData=function(e){return e instanceof a?e.data:e},i.valDataConverted=function(e){return e instanceof a&&(e=e.convertData()),e},i.escapeStringForRegExp=function(e){return e.replace(/[-[\\]{}()*+?.,\\\\/^$|#\\s]/g,\"\\\\$&\")},i.pushFn=Function.prototype.apply.bind(Array.prototype.push),i.makeChildResNodes=function(e,t,n){var l,s,o=e.path+\".\"+t;if(n){var u=n.pathsDefinedElsewhere[o];u&&(o=u)}var c=n&&n.choiceTypePaths[o];if(c){var f,m=function(e,t){var n=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if(\"string\"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===n&&e.constructor&&(n=e.constructor.name),\"Map\"===n||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e))||t&&e&&\"number\"==typeof e.length){n&&(e=n);var l=0,i=function(){};return{s:i,n:function(){return l>=e.length?{done:!0}:{done:!1,value:e[l++]}},e:function(e){throw e},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,s=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){o=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(o)throw a}}}}(c);try{for(m.s();!(f=m.n()).done;){var h,p,d=f.value,y=t+d;if(l=null===(h=e.data)||void 0===h?void 0:h[y],s=null===(p=e.data)||void 0===p?void 0:p[\"_\"+y],void 0!==l||void 0!==s){o+=d;break}}}catch(e){m.e(e)}finally{m.f()}}else{var g,v;l=null===(g=e.data)||void 0===g?void 0:g[t],s=null===(v=e.data)||void 0===v?void 0:v[\"_\"+t],void 0===l&&void 0===s&&(l=e._data[t]),\"extension\"===t&&(o=\"Extension\")}var b,_=n&&n.path2Type[o],C=\"BackboneElement\"===_;if(o=C?o:_||o,i.isSome(l)||i.isSome(s))if(Array.isArray(l)){var L;b=l.map((function(e,t){return a.makeResNode(e,o,s&&s[t],C)}));for(var S=(null===(L=s)||void 0===L?void 0:L.length)||0,k=l.length;k0&&(N+=q)}return new Date(R+P+N)}return new Date(e)}},7643:function(e){\"use strict\";e.exports=Number.isFinite||function(e){return!(\"number\"!=typeof e||e!=e||e===1/0||e===-1/0)}},1781:function(e,t,n){var r=n(7643);e.exports=Number.isInteger||function(e){return\"number\"==typeof e&&r(e)&&Math.floor(e)===e}},4557:function(e){\"use strict\";e.exports={version:\"3.10.4\"}},7698:function(e){\"use strict\";e.exports=JSON.parse('{\"license\":\"The following data (prefixes and units) was generated by the UCUM LHC code from the UCUM data and selected LOINC combinations of UCUM units. The license for the UCUM LHC code (demo and library code as well as the combined units) is located at https://github.com/lhncbc/ucum-lhc/blob/LICENSE.md.\",\"prefixes\":{\"config\":[\"code_\",\"ciCode_\",\"name_\",\"printSymbol_\",\"value_\",\"exp_\"],\"data\":[[\"E\",\"EX\",\"exa\",\"E\",1000000000000000000,\"18\"],[\"G\",\"GA\",\"giga\",\"G\",1000000000,\"9\"],[\"Gi\",\"GIB\",\"gibi\",\"Gi\",1073741824,null],[\"Ki\",\"KIB\",\"kibi\",\"Ki\",1024,null],[\"M\",\"MA\",\"mega\",\"M\",1000000,\"6\"],[\"Mi\",\"MIB\",\"mebi\",\"Mi\",1048576,null],[\"P\",\"PT\",\"peta\",\"P\",1000000000000000,\"15\"],[\"T\",\"TR\",\"tera\",\"T\",1000000000000,\"12\"],[\"Ti\",\"TIB\",\"tebi\",\"Ti\",1099511627776,null],[\"Y\",\"YA\",\"yotta\",\"Y\",1e+24,\"24\"],[\"Z\",\"ZA\",\"zetta\",\"Z\",1e+21,\"21\"],[\"a\",\"A\",\"atto\",\"a\",1e-18,\"-18\"],[\"c\",\"C\",\"centi\",\"c\",0.01,\"-2\"],[\"d\",\"D\",\"deci\",\"d\",0.1,\"-1\"],[\"da\",\"DA\",\"deka\",\"da\",10,\"1\"],[\"f\",\"F\",\"femto\",\"f\",1e-15,\"-15\"],[\"h\",\"H\",\"hecto\",\"h\",100,\"2\"],[\"k\",\"K\",\"kilo\",\"k\",1000,\"3\"],[\"m\",\"M\",\"milli\",\"m\",0.001,\"-3\"],[\"n\",\"N\",\"nano\",\"n\",1e-9,\"-9\"],[\"p\",\"P\",\"pico\",\"p\",1e-12,\"-12\"],[\"u\",\"U\",\"micro\",\"μ\",0.000001,\"-6\"],[\"y\",\"YO\",\"yocto\",\"y\",1.0000000000000001e-24,\"-24\"],[\"z\",\"ZO\",\"zepto\",\"z\",1e-21,\"-21\"]]},\"units\":{\"config\":[\"isBase_\",\"name_\",\"csCode_\",\"ciCode_\",\"property_\",\"magnitude_\",[\"dim_\",\"dimVec_\"],\"printSymbol_\",\"class_\",\"isMetric_\",\"variable_\",\"cnv_\",\"cnvPfx_\",\"isSpecial_\",\"isArbitrary_\",\"moleExp_\",\"synonyms_\",\"source_\",\"loincProperty_\",\"category_\",\"guidance_\",\"csUnitString_\",\"ciUnitString_\",\"baseFactorStr_\",\"baseFactor_\",\"defError_\"],\"data\":[[true,\"meter\",\"m\",\"M\",\"length\",1,[1,0,0,0,0,0,0],\"m\",null,false,\"L\",null,1,false,false,0,\"meters; metres; distance\",\"UCUM\",\"Len\",\"Clinical\",\"unit of length = 1.09361 yards\",null,null,null,null,false],[true,\"second - time\",\"s\",\"S\",\"time\",1,[0,1,0,0,0,0,0],\"s\",null,false,\"T\",null,1,false,false,0,\"seconds\",\"UCUM\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[true,\"gram\",\"g\",\"G\",\"mass\",1,[0,0,1,0,0,0,0],\"g\",null,false,\"M\",null,1,false,false,0,\"grams; gm\",\"UCUM\",\"Mass\",\"Clinical\",\"\",null,null,null,null,false],[true,\"radian\",\"rad\",\"RAD\",\"plane angle\",1,[0,0,0,1,0,0,0],\"rad\",null,false,\"A\",null,1,false,false,0,\"radians\",\"UCUM\",\"Angle\",\"Clinical\",\"unit of angular measure where 1 radian = 1/2π turn = 57.296 degrees. \",null,null,null,null,false],[true,\"degree Kelvin\",\"K\",\"K\",\"temperature\",1,[0,0,0,0,1,0,0],\"K\",null,false,\"C\",null,1,false,false,0,\"Kelvin; degrees\",\"UCUM\",\"Temp\",\"Clinical\",\"absolute, thermodynamic temperature scale \",null,null,null,null,false],[true,\"coulomb\",\"C\",\"C\",\"electric charge\",1,[0,0,0,0,0,1,0],\"C\",null,false,\"Q\",null,1,false,false,0,\"coulombs\",\"UCUM\",\"\",\"Clinical\",\"defined as amount of 1 electron charge = 6.2415093×10^18 e, and equivalent to 1 Ampere-second\",null,null,null,null,false],[true,\"candela\",\"cd\",\"CD\",\"luminous intensity\",1,[0,0,0,0,0,0,1],\"cd\",null,false,\"F\",null,1,false,false,0,\"candelas\",\"UCUM\",\"\",\"Clinical\",\"SI base unit of luminous intensity\",null,null,null,null,false],[false,\"the number ten for arbitrary powers\",\"10*\",\"10*\",\"number\",10,[0,0,0,0,0,0,0],\"10\",\"dimless\",false,null,null,1,false,false,0,\"10^; 10 to the arbitrary powers\",\"UCUM\",\"Num\",\"Clinical\",\"10* by itself is the same as 10, but users can add digits after the *. For example, 10*3 = 1000.\",\"1\",\"1\",\"10\",10,false],[false,\"the number ten for arbitrary powers\",\"10^\",\"10^\",\"number\",10,[0,0,0,0,0,0,0],\"10\",\"dimless\",false,null,null,1,false,false,0,\"10*; 10 to the arbitrary power\",\"UCUM\",\"Num\",\"Clinical\",\"10* by itself is the same as 10, but users can add digits after the *. For example, 10*3 = 1000.\",\"1\",\"1\",\"10\",10,false],[false,\"the number pi\",\"[pi]\",\"[PI]\",\"number\",3.141592653589793,[0,0,0,0,0,0,0],\"π\",\"dimless\",false,null,null,1,false,false,0,\"π\",\"UCUM\",\"\",\"Constant\",\"a mathematical constant; the ratio of a circle\\'s circumference to its diameter ≈ 3.14159\",\"1\",\"1\",\"3.1415926535897932384626433832795028841971693993751058209749445923\",3.141592653589793,false],[false,\"\",\"%\",\"%\",\"fraction\",0.01,[0,0,0,0,0,0,0],\"%\",\"dimless\",false,null,null,1,false,false,0,\"percents\",\"UCUM\",\"FR; NFR; MFR; CFR; SFR Rto; etc. \",\"Clinical\",\"\",\"10*-2\",\"10*-2\",\"1\",1,false],[false,\"parts per thousand\",\"[ppth]\",\"[PPTH]\",\"fraction\",0.001,[0,0,0,0,0,0,0],\"ppth\",\"dimless\",false,null,null,1,false,false,0,\"ppth; 10^-3\",\"UCUM\",\"MCnc; MCnt\",\"Clinical\",\"[ppth] is often used in solution concentrations as 1 g/L or 1 g/kg.\\\\n\\\\nCan be ambigous and would be better if the metric units was used directly. \",\"10*-3\",\"10*-3\",\"1\",1,false],[false,\"parts per million\",\"[ppm]\",\"[PPM]\",\"fraction\",0.000001,[0,0,0,0,0,0,0],\"ppm\",\"dimless\",false,null,null,1,false,false,0,\"ppm; 10^-6\",\"UCUM\",\"MCnt; MCnc; SFr\",\"Clinical\",\"[ppm] is often used in solution concentrations as 1 mg/L or 1 mg/kg. Also used to express mole fractions as 1 mmol/mol.\\\\n\\\\n[ppm] is also used in nuclear magnetic resonance (NMR) to represent chemical shift - the difference of a measured frequency in parts per million from the reference frequency.\\\\n\\\\nCan be ambigous and would be better if the metric units was used directly. \",\"10*-6\",\"10*-6\",\"1\",1,false],[false,\"parts per billion\",\"[ppb]\",\"[PPB]\",\"fraction\",1e-9,[0,0,0,0,0,0,0],\"ppb\",\"dimless\",false,null,null,1,false,false,0,\"ppb; 10^-9\",\"UCUM\",\"MCnt; MCnc; SFr\",\"Clinical\",\"[ppb] is often used in solution concentrations as 1 ug/L or 1 ug/kg. Also used to express mole fractions as 1 umol/mol.\\\\n\\\\nCan be ambigous and would be better if the metric units was used directly. \",\"10*-9\",\"10*-9\",\"1\",1,false],[false,\"parts per trillion\",\"[pptr]\",\"[PPTR]\",\"fraction\",1e-12,[0,0,0,0,0,0,0],\"pptr\",\"dimless\",false,null,null,1,false,false,0,\"pptr; 10^-12\",\"UCUM\",\"MCnt; MCnc; SFr\",\"Clinical\",\"[pptr] is often used in solution concentrations as 1 ng/L or 1 ng/kg. Also used to express mole fractions as 1 nmol/mol.\\\\n\\\\nCan be ambigous and would be better if the metric units was used directly. \",\"10*-12\",\"10*-12\",\"1\",1,false],[false,\"mole\",\"mol\",\"MOL\",\"amount of substance\",6.0221367e+23,[0,0,0,0,0,0,0],\"mol\",\"si\",true,null,null,1,false,false,1,\"moles\",\"UCUM\",\"Sub\",\"Clinical\",\"Measure the number of molecules \",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"steradian - solid angle\",\"sr\",\"SR\",\"solid angle\",1,[0,0,0,2,0,0,0],\"sr\",\"si\",true,null,null,1,false,false,0,\"square radian; rad2; rad^2\",\"UCUM\",\"Angle\",\"Clinical\",\"unit of solid angle in three-dimensional geometry analagous to radian; used in photometry which measures the perceived brightness of object by human eye (e.g. radiant intensity = watt/steradian)\",\"rad2\",\"RAD2\",\"1\",1,false],[false,\"hertz\",\"Hz\",\"HZ\",\"frequency\",1,[0,-1,0,0,0,0,0],\"Hz\",\"si\",true,null,null,1,false,false,0,\"Herz; frequency; frequencies\",\"UCUM\",\"Freq; Num\",\"Clinical\",\"equal to one cycle per second\",\"s-1\",\"S-1\",\"1\",1,false],[false,\"newton\",\"N\",\"N\",\"force\",1000,[1,-2,1,0,0,0,0],\"N\",\"si\",true,null,null,1,false,false,0,\"Newtons\",\"UCUM\",\"Force\",\"Clinical\",\"unit of force with base units kg.m/s2\",\"kg.m/s2\",\"KG.M/S2\",\"1\",1,false],[false,\"pascal\",\"Pa\",\"PAL\",\"pressure\",1000,[-1,-2,1,0,0,0,0],\"Pa\",\"si\",true,null,null,1,false,false,0,\"pascals\",\"UCUM\",\"Pres\",\"Clinical\",\"standard unit of pressure equal to 1 newton per square meter (N/m2)\",\"N/m2\",\"N/M2\",\"1\",1,false],[false,\"joule\",\"J\",\"J\",\"energy\",1000,[2,-2,1,0,0,0,0],\"J\",\"si\",true,null,null,1,false,false,0,\"joules\",\"UCUM\",\"Enrg\",\"Clinical\",\"unit of energy defined as the work required to move an object 1 m with a force of 1 N (N.m) or an electric charge of 1 C through 1 V (C.V), or to produce 1 W for 1 s (W.s) \",\"N.m\",\"N.M\",\"1\",1,false],[false,\"watt\",\"W\",\"W\",\"power\",1000,[2,-3,1,0,0,0,0],\"W\",\"si\",true,null,null,1,false,false,0,\"watts\",\"UCUM\",\"EngRat\",\"Clinical\",\"unit of power equal to 1 Joule per second (J/s) = kg⋅m2⋅s−3\",\"J/s\",\"J/S\",\"1\",1,false],[false,\"Ampere\",\"A\",\"A\",\"electric current\",1,[0,-1,0,0,0,1,0],\"A\",\"si\",true,null,null,1,false,false,0,\"Amperes\",\"UCUM\",\"ElpotRat\",\"Clinical\",\"unit of electric current equal to flow rate of electrons equal to 16.2415×10^18 elementary charges moving past a boundary in one second or 1 Coulomb/second\",\"C/s\",\"C/S\",\"1\",1,false],[false,\"volt\",\"V\",\"V\",\"electric potential\",1000,[2,-2,1,0,0,-1,0],\"V\",\"si\",true,null,null,1,false,false,0,\"volts\",\"UCUM\",\"Elpot\",\"Clinical\",\"unit of electric potential (voltage) = 1 Joule per Coulomb (J/C)\",\"J/C\",\"J/C\",\"1\",1,false],[false,\"farad\",\"F\",\"F\",\"electric capacitance\",0.001,[-2,2,-1,0,0,2,0],\"F\",\"si\",true,null,null,1,false,false,0,\"farads; electric capacitance\",\"UCUM\",\"\",\"Clinical\",\"CGS unit of electric capacitance with base units C/V (Coulomb per Volt)\",\"C/V\",\"C/V\",\"1\",1,false],[false,\"ohm\",\"Ohm\",\"OHM\",\"electric resistance\",1000,[2,-1,1,0,0,-2,0],\"Ω\",\"si\",true,null,null,1,false,false,0,\"Ω; resistance; ohms\",\"UCUM\",\"\",\"Clinical\",\"unit of electrical resistance with units of Volt per Ampere\",\"V/A\",\"V/A\",\"1\",1,false],[false,\"siemens\",\"S\",\"SIE\",\"electric conductance\",0.001,[-2,1,-1,0,0,2,0],\"S\",\"si\",true,null,null,1,false,false,0,\"Reciprocal ohm; mho; Ω−1; conductance\",\"UCUM\",\"\",\"Clinical\",\"unit of electric conductance (the inverse of electrical resistance) equal to ohm^-1\",\"Ohm-1\",\"OHM-1\",\"1\",1,false],[false,\"weber\",\"Wb\",\"WB\",\"magnetic flux\",1000,[2,-1,1,0,0,-1,0],\"Wb\",\"si\",true,null,null,1,false,false,0,\"magnetic flux; webers\",\"UCUM\",\"\",\"Clinical\",\"unit of magnetic flux equal to Volt second\",\"V.s\",\"V.S\",\"1\",1,false],[false,\"degree Celsius\",\"Cel\",\"CEL\",\"temperature\",1,[0,0,0,0,1,0,0],\"°C\",\"si\",true,null,\"Cel\",1,true,false,0,\"°C; degrees\",\"UCUM\",\"Temp\",\"Clinical\",\"\",\"K\",null,null,1,false],[false,\"tesla\",\"T\",\"T\",\"magnetic flux density\",1000,[0,-1,1,0,0,-1,0],\"T\",\"si\",true,null,null,1,false,false,0,\"Teslas; magnetic field\",\"UCUM\",\"\",\"Clinical\",\"SI unit of magnetic field strength for magnetic field B equal to 1 Weber/square meter = 1 kg/(s2*A)\",\"Wb/m2\",\"WB/M2\",\"1\",1,false],[false,\"henry\",\"H\",\"H\",\"inductance\",1000,[2,0,1,0,0,-2,0],\"H\",\"si\",true,null,null,1,false,false,0,\"henries; inductance\",\"UCUM\",\"\",\"Clinical\",\"unit of electrical inductance; usually expressed in millihenrys (mH) or microhenrys (uH).\",\"Wb/A\",\"WB/A\",\"1\",1,false],[false,\"lumen\",\"lm\",\"LM\",\"luminous flux\",1,[0,0,0,2,0,0,1],\"lm\",\"si\",true,null,null,1,false,false,0,\"luminous flux; lumens\",\"UCUM\",\"\",\"Clinical\",\"unit of luminous flux defined as 1 lm = 1 cd⋅sr (candela times sphere)\",\"cd.sr\",\"CD.SR\",\"1\",1,false],[false,\"lux\",\"lx\",\"LX\",\"illuminance\",1,[-2,0,0,2,0,0,1],\"lx\",\"si\",true,null,null,1,false,false,0,\"illuminance; luxes\",\"UCUM\",\"\",\"Clinical\",\"unit of illuminance equal to one lumen per square meter. \",\"lm/m2\",\"LM/M2\",\"1\",1,false],[false,\"becquerel\",\"Bq\",\"BQ\",\"radioactivity\",1,[0,-1,0,0,0,0,0],\"Bq\",\"si\",true,null,null,1,false,false,0,\"activity; radiation; becquerels\",\"UCUM\",\"\",\"Clinical\",\"measure of the atomic radiation rate with units s^-1\",\"s-1\",\"S-1\",\"1\",1,false],[false,\"gray\",\"Gy\",\"GY\",\"energy dose\",1,[2,-2,0,0,0,0,0],\"Gy\",\"si\",true,null,null,1,false,false,0,\"absorbed doses; ionizing radiation doses; kerma; grays\",\"UCUM\",\"EngCnt\",\"Clinical\",\"unit of ionizing radiation dose with base units of 1 joule of radiation energy per kilogram of matter\",\"J/kg\",\"J/KG\",\"1\",1,false],[false,\"sievert\",\"Sv\",\"SV\",\"dose equivalent\",1,[2,-2,0,0,0,0,0],\"Sv\",\"si\",true,null,null,1,false,false,0,\"sieverts; radiation dose quantities; equivalent doses; effective dose; operational dose; committed dose\",\"UCUM\",\"\",\"Clinical\",\"SI unit for radiation dose equivalent equal to 1 Joule/kilogram.\",\"J/kg\",\"J/KG\",\"1\",1,false],[false,\"degree - plane angle\",\"deg\",\"DEG\",\"plane angle\",0.017453292519943295,[0,0,0,1,0,0,0],\"°\",\"iso1000\",false,null,null,1,false,false,0,\"°; degree of arc; arc degree; arcdegree; angle\",\"UCUM\",\"Angle\",\"Clinical\",\"one degree is equivalent to π/180 radians.\",\"[pi].rad/360\",\"[PI].RAD/360\",\"2\",2,false],[false,\"gon\",\"gon\",\"GON\",\"plane angle\",0.015707963267948967,[0,0,0,1,0,0,0],\"□g\",\"iso1000\",false,null,null,1,false,false,0,\"gon (grade); gons\",\"UCUM\",\"Angle\",\"Nonclinical\",\"unit of plane angle measurement equal to 1/400 circle\",\"deg\",\"DEG\",\"0.9\",0.9,false],[false,\"arc minute\",\"\\'\",\"\\'\",\"plane angle\",0.0002908882086657216,[0,0,0,1,0,0,0],\"\\'\",\"iso1000\",false,null,null,1,false,false,0,\"arcminutes; arcmin; arc minutes; arc mins\",\"UCUM\",\"Angle\",\"Clinical\",\"equal to 1/60 degree; used in optometry and opthamology (e.g. visual acuity tests)\",\"deg/60\",\"DEG/60\",\"1\",1,false],[false,\"arc second\",\"\\'\\'\",\"\\'\\'\",\"plane angle\",0.00000484813681109536,[0,0,0,1,0,0,0],\"\\'\\'\",\"iso1000\",false,null,null,1,false,false,0,\"arcseconds; arcsecs\",\"UCUM\",\"Angle\",\"Clinical\",\"equal to 1/60 arcminute = 1/3600 degree; used in optometry and opthamology (e.g. visual acuity tests)\",\"\\'/60\",\"\\'/60\",\"1\",1,false],[false,\"Liters\",\"l\",\"L\",\"volume\",0.001,[3,0,0,0,0,0,0],\"l\",\"iso1000\",true,null,null,1,false,false,0,\"cubic decimeters; decimeters cubed; decimetres; dm3; dm^3; litres; liters, LT \",\"UCUM\",\"Vol\",\"Clinical\",\"Because lower case \\\\\"l\\\\\" can be read as the number \\\\\"1\\\\\", though this is a valid UCUM units. UCUM strongly reccomends using \\\\\"L\\\\\"\",\"dm3\",\"DM3\",\"1\",1,false],[false,\"Liters\",\"L\",\"L\",\"volume\",0.001,[3,0,0,0,0,0,0],\"L\",\"iso1000\",true,null,null,1,false,false,0,\"cubic decimeters; decimeters cubed; decimetres; dm3; dm^3; litres; liters, LT \",\"UCUM\",\"Vol\",\"Clinical\",\"Because lower case \\\\\"l\\\\\" can be read as the number \\\\\"1\\\\\", though this is a valid UCUM units. UCUM strongly reccomends using \\\\\"L\\\\\"\",\"l\",null,\"1\",1,false],[false,\"are\",\"ar\",\"AR\",\"area\",100,[2,0,0,0,0,0,0],\"a\",\"iso1000\",true,null,null,1,false,false,0,\"100 m2; 100 m^2; 100 square meter; meters squared; metres\",\"UCUM\",\"Area\",\"Clinical\",\"metric base unit for area defined as 100 m^2\",\"m2\",\"M2\",\"100\",100,false],[false,\"minute\",\"min\",\"MIN\",\"time\",60,[0,1,0,0,0,0,0],\"min\",\"iso1000\",false,null,null,1,false,false,0,\"minutes\",\"UCUM\",\"Time\",\"Clinical\",\"\",\"s\",\"S\",\"60\",60,false],[false,\"hour\",\"h\",\"HR\",\"time\",3600,[0,1,0,0,0,0,0],\"h\",\"iso1000\",false,null,null,1,false,false,0,\"hours; hrs; age\",\"UCUM\",\"Time\",\"Clinical\",\"\",\"min\",\"MIN\",\"60\",60,false],[false,\"day\",\"d\",\"D\",\"time\",86400,[0,1,0,0,0,0,0],\"d\",\"iso1000\",false,null,null,1,false,false,0,\"days; age; dy; 24 hours; 24 hrs\",\"UCUM\",\"Time\",\"Clinical\",\"\",\"h\",\"HR\",\"24\",24,false],[false,\"tropical year\",\"a_t\",\"ANN_T\",\"time\",31556925.216,[0,1,0,0,0,0,0],\"at\",\"iso1000\",false,null,null,1,false,false,0,\"solar years; a tropical; years\",\"UCUM\",\"Time\",\"Clinical\",\"has an average of 365.242181 days but is constantly changing.\",\"d\",\"D\",\"365.24219\",365.24219,false],[false,\"mean Julian year\",\"a_j\",\"ANN_J\",\"time\",31557600,[0,1,0,0,0,0,0],\"aj\",\"iso1000\",false,null,null,1,false,false,0,\"mean Julian yr; a julian; years\",\"UCUM\",\"Time\",\"Clinical\",\"has an average of 365.25 days, and in everyday use, has been replaced by the Gregorian year. However, this unit is used in astronomy to calculate light year. \",\"d\",\"D\",\"365.25\",365.25,false],[false,\"mean Gregorian year\",\"a_g\",\"ANN_G\",\"time\",31556952,[0,1,0,0,0,0,0],\"ag\",\"iso1000\",false,null,null,1,false,false,0,\"mean Gregorian yr; a gregorian; years\",\"UCUM\",\"Time\",\"Clinical\",\"has an average of 365.2425 days and is the most internationally used civil calendar.\",\"d\",\"D\",\"365.2425\",365.2425,false],[false,\"year\",\"a\",\"ANN\",\"time\",31557600,[0,1,0,0,0,0,0],\"a\",\"iso1000\",false,null,null,1,false,false,0,\"years; a; yr, yrs; annum\",\"UCUM\",\"Time\",\"Clinical\",\"\",\"a_j\",\"ANN_J\",\"1\",1,false],[false,\"week\",\"wk\",\"WK\",\"time\",604800,[0,1,0,0,0,0,0],\"wk\",\"iso1000\",false,null,null,1,false,false,0,\"weeks; wks\",\"UCUM\",\"Time\",\"Clinical\",\"\",\"d\",\"D\",\"7\",7,false],[false,\"synodal month\",\"mo_s\",\"MO_S\",\"time\",2551442.976,[0,1,0,0,0,0,0],\"mos\",\"iso1000\",false,null,null,1,false,false,0,\"Moon; synodic month; lunar month; mo-s; mo s; months; moons\",\"UCUM\",\"Time\",\"Nonclinical\",\"has an average of 29.53 days per month, unit used in astronomy\",\"d\",\"D\",\"29.53059\",29.53059,false],[false,\"mean Julian month\",\"mo_j\",\"MO_J\",\"time\",2629800,[0,1,0,0,0,0,0],\"moj\",\"iso1000\",false,null,null,1,false,false,0,\"mo-julian; mo Julian; months\",\"UCUM\",\"Time\",\"Clinical\",\"has an average of 30.435 days per month\",\"a_j/12\",\"ANN_J/12\",\"1\",1,false],[false,\"mean Gregorian month\",\"mo_g\",\"MO_G\",\"time\",2629746,[0,1,0,0,0,0,0],\"mog\",\"iso1000\",false,null,null,1,false,false,0,\"months; month-gregorian; mo-gregorian\",\"UCUM\",\"Time\",\"Clinical\",\"has an average 30.436875 days per month and is from the most internationally used civil calendar.\",\"a_g/12\",\"ANN_G/12\",\"1\",1,false],[false,\"month\",\"mo\",\"MO\",\"time\",2629800,[0,1,0,0,0,0,0],\"mo\",\"iso1000\",false,null,null,1,false,false,0,\"months; duration\",\"UCUM\",\"Time\",\"Clinical\",\"based on Julian calendar which has an average of 30.435 days per month (this unit is used in astronomy but not in everyday life - see mo_g)\",\"mo_j\",\"MO_J\",\"1\",1,false],[false,\"metric ton\",\"t\",\"TNE\",\"mass\",1000000,[0,0,1,0,0,0,0],\"t\",\"iso1000\",true,null,null,1,false,false,0,\"tonnes; megagrams; tons\",\"UCUM\",\"Mass\",\"Nonclinical\",\"equal to 1000 kg used in the US (recognized by NIST as metric ton), and internationally (recognized as tonne)\",\"kg\",\"KG\",\"1e3\",1000,false],[false,\"bar\",\"bar\",\"BAR\",\"pressure\",100000000,[-1,-2,1,0,0,0,0],\"bar\",\"iso1000\",true,null,null,1,false,false,0,\"bars\",\"UCUM\",\"Pres\",\"Nonclinical\",\"unit of pressure equal to 10^5 Pascals, primarily used by meteorologists and in weather forecasting\",\"Pa\",\"PAL\",\"1e5\",100000,false],[false,\"unified atomic mass unit\",\"u\",\"AMU\",\"mass\",1.6605402e-24,[0,0,1,0,0,0,0],\"u\",\"iso1000\",true,null,null,1,false,false,0,\"unified atomic mass units; amu; Dalton; Da\",\"UCUM\",\"Mass\",\"Clinical\",\"the mass of 1/12 of an unbound Carbon-12 atom nuclide equal to 1.6606x10^-27 kg \",\"g\",\"G\",\"1.6605402e-24\",1.6605402e-24,false],[false,\"astronomic unit\",\"AU\",\"ASU\",\"length\",149597870691,[1,0,0,0,0,0,0],\"AU\",\"iso1000\",false,null,null,1,false,false,0,\"AU; units\",\"UCUM\",\"Len\",\"Clinical\",\"unit of length used in astronomy for measuring distance in Solar system\",\"Mm\",\"MAM\",\"149597.870691\",149597.870691,false],[false,\"parsec\",\"pc\",\"PRS\",\"length\",30856780000000000,[1,0,0,0,0,0,0],\"pc\",\"iso1000\",true,null,null,1,false,false,0,\"parsecs\",\"UCUM\",\"Len\",\"Clinical\",\"unit of length equal to 3.26 light years, nad used to measure large distances to objects outside our Solar System\",\"m\",\"M\",\"3.085678e16\",30856780000000000,false],[false,\"velocity of light in a vacuum\",\"[c]\",\"[C]\",\"velocity\",299792458,[1,-1,0,0,0,0,0],\"c\",\"const\",true,null,null,1,false,false,0,\"speed of light\",\"UCUM\",\"Vel\",\"Constant\",\"equal to 299792458 m/s (approximately 3 x 10^8 m/s)\",\"m/s\",\"M/S\",\"299792458\",299792458,false],[false,\"Planck constant\",\"[h]\",\"[H]\",\"action\",6.6260755e-31,[2,-1,1,0,0,0,0],\"h\",\"const\",true,null,null,1,false,false,0,\"Planck\\'s constant\",\"UCUM\",\"\",\"Constant\",\"constant = 6.62607004 × 10-34 m2.kg/s; defined as quantum of action\",\"J.s\",\"J.S\",\"6.6260755e-34\",6.6260755e-34,false],[false,\"Boltzmann constant\",\"[k]\",\"[K]\",\"(unclassified)\",1.380658e-20,[2,-2,1,0,-1,0,0],\"k\",\"const\",true,null,null,1,false,false,0,\"k; kB\",\"UCUM\",\"\",\"Constant\",\"physical constant relating energy at the individual particle level with temperature = 1.38064852 ×10^−23 J/K\",\"J/K\",\"J/K\",\"1.380658e-23\",1.380658e-23,false],[false,\"permittivity of vacuum - electric\",\"[eps_0]\",\"[EPS_0]\",\"electric permittivity\",8.854187817000001e-15,[-3,2,-1,0,0,2,0],\"ε0\",\"const\",true,null,null,1,false,false,0,\"ε0; Electric Constant; vacuum permittivity; permittivity of free space \",\"UCUM\",\"\",\"Constant\",\"approximately equal to 8.854 × 10^−12 F/m (farads per meter)\",\"F/m\",\"F/M\",\"8.854187817e-12\",8.854187817e-12,false],[false,\"permeability of vacuum - magnetic\",\"[mu_0]\",\"[MU_0]\",\"magnetic permeability\",0.0012566370614359172,[1,0,1,0,0,-2,0],\"μ0\",\"const\",true,null,null,1,false,false,0,\"μ0; vacuum permeability; permeability of free space; magnetic constant\",\"UCUM\",\"\",\"Constant\",\"equal to 4π×10^−7 N/A2 (Newtons per square ampere) ≈ 1.2566×10^−6 H/m (Henry per meter)\",\"N/A2\",\"4.[PI].10*-7.N/A2\",\"1\",0.0000012566370614359173,false],[false,\"elementary charge\",\"[e]\",\"[E]\",\"electric charge\",1.60217733e-19,[0,0,0,0,0,1,0],\"e\",\"const\",true,null,null,1,false,false,0,\"e; q; electric charges\",\"UCUM\",\"\",\"Constant\",\"the magnitude of the electric charge carried by a single electron or proton ≈ 1.60217×10^-19 Coulombs\",\"C\",\"C\",\"1.60217733e-19\",1.60217733e-19,false],[false,\"electronvolt\",\"eV\",\"EV\",\"energy\",1.60217733e-16,[2,-2,1,0,0,0,0],\"eV\",\"iso1000\",true,null,null,1,false,false,0,\"Electron Volts; electronvolts\",\"UCUM\",\"Eng\",\"Clinical\",\"unit of kinetic energy = 1 V * 1.602×10^−19 C = 1.6×10−19 Joules\",\"[e].V\",\"[E].V\",\"1\",1,false],[false,\"electron mass\",\"[m_e]\",\"[M_E]\",\"mass\",9.1093897e-28,[0,0,1,0,0,0,0],\"me\",\"const\",true,null,null,1,false,false,0,\"electron rest mass; me\",\"UCUM\",\"Mass\",\"Constant\",\"approximately equal to 9.10938356 × 10-31 kg; defined as the mass of a stationary electron\",\"g\",\"g\",\"9.1093897e-28\",9.1093897e-28,false],[false,\"proton mass\",\"[m_p]\",\"[M_P]\",\"mass\",1.6726231e-24,[0,0,1,0,0,0,0],\"mp\",\"const\",true,null,null,1,false,false,0,\"mp; masses\",\"UCUM\",\"Mass\",\"Constant\",\"approximately equal to 1.672622×10−27 kg\",\"g\",\"g\",\"1.6726231e-24\",1.6726231e-24,false],[false,\"Newtonian constant of gravitation\",\"[G]\",\"[GC]\",\"(unclassified)\",6.67259e-14,[3,-2,-1,0,0,0,0],\"G\",\"const\",true,null,null,1,false,false,0,\"G; gravitational constant; Newton\\'s constant\",\"UCUM\",\"\",\"Constant\",\"gravitational constant = 6.674×10−11 N⋅m2/kg2\",\"m3.kg-1.s-2\",\"M3.KG-1.S-2\",\"6.67259e-11\",6.67259e-11,false],[false,\"standard acceleration of free fall\",\"[g]\",\"[G]\",\"acceleration\",9.80665,[1,-2,0,0,0,0,0],\"gn\",\"const\",true,null,null,1,false,false,0,\"standard gravity; g; ɡ0; ɡn\",\"UCUM\",\"Accel\",\"Constant\",\"defined by standard = 9.80665 m/s2\",\"m/s2\",\"M/S2\",\"980665e-5\",9.80665,false],[false,\"Torr\",\"Torr\",\"Torr\",\"pressure\",133322,[-1,-2,1,0,0,0,0],\"Torr\",\"const\",false,null,null,1,false,false,0,\"torrs\",\"UCUM\",\"Pres\",\"Clinical\",\"1 torr = 1 mmHg; unit used to measure blood pressure\",\"Pa\",\"PAL\",\"133.322\",133.322,false],[false,\"standard atmosphere\",\"atm\",\"ATM\",\"pressure\",101325000,[-1,-2,1,0,0,0,0],\"atm\",\"const\",false,null,null,1,false,false,0,\"reference pressure; atmos; std atmosphere\",\"UCUM\",\"Pres\",\"Clinical\",\"defined as being precisely equal to 101,325 Pa\",\"Pa\",\"PAL\",\"101325\",101325,false],[false,\"light-year\",\"[ly]\",\"[LY]\",\"length\",9460730472580800,[1,0,0,0,0,0,0],\"l.y.\",\"const\",true,null,null,1,false,false,0,\"light years; ly\",\"UCUM\",\"Len\",\"Constant\",\"unit of astronomal distance = 5.88×10^12 mi\",\"[c].a_j\",\"[C].ANN_J\",\"1\",1,false],[false,\"gram-force\",\"gf\",\"GF\",\"force\",9.80665,[1,-2,1,0,0,0,0],\"gf\",\"const\",true,null,null,1,false,false,0,\"Newtons; gram forces\",\"UCUM\",\"Force\",\"Clinical\",\"May be specific to unit related to cardiac output\",\"g.[g]\",\"G.[G]\",\"1\",1,false],[false,\"Kayser\",\"Ky\",\"KY\",\"lineic number\",100,[-1,0,0,0,0,0,0],\"K\",\"cgs\",true,null,null,1,false,false,0,\"wavenumbers; kaysers\",\"UCUM\",\"InvLen\",\"Clinical\",\"unit of wavelength equal to cm^-1\",\"cm-1\",\"CM-1\",\"1\",1,false],[false,\"Gal\",\"Gal\",\"GL\",\"acceleration\",0.01,[1,-2,0,0,0,0,0],\"Gal\",\"cgs\",true,null,null,1,false,false,0,\"galileos; Gals\",\"UCUM\",\"Accel\",\"Clinical\",\"unit of acceleration used in gravimetry; equivalent to cm/s2 \",\"cm/s2\",\"CM/S2\",\"1\",1,false],[false,\"dyne\",\"dyn\",\"DYN\",\"force\",0.01,[1,-2,1,0,0,0,0],\"dyn\",\"cgs\",true,null,null,1,false,false,0,\"dynes\",\"UCUM\",\"Force\",\"Clinical\",\"unit of force equal to 10^-5 Newtons\",\"g.cm/s2\",\"G.CM/S2\",\"1\",1,false],[false,\"erg\",\"erg\",\"ERG\",\"energy\",0.0001,[2,-2,1,0,0,0,0],\"erg\",\"cgs\",true,null,null,1,false,false,0,\"10^-7 Joules, 10-7 Joules; 100 nJ; 100 nanoJoules; 1 dyne cm; 1 g.cm2/s2\",\"UCUM\",\"Eng\",\"Clinical\",\"unit of energy = 1 dyne centimeter = 10^-7 Joules\",\"dyn.cm\",\"DYN.CM\",\"1\",1,false],[false,\"Poise\",\"P\",\"P\",\"dynamic viscosity\",100,[-1,-1,1,0,0,0,0],\"P\",\"cgs\",true,null,null,1,false,false,0,\"dynamic viscosity; poises\",\"UCUM\",\"Visc\",\"Clinical\",\"unit of dynamic viscosity where 1 Poise = 1/10 Pascal second\",\"dyn.s/cm2\",\"DYN.S/CM2\",\"1\",1,false],[false,\"Biot\",\"Bi\",\"BI\",\"electric current\",10,[0,-1,0,0,0,1,0],\"Bi\",\"cgs\",true,null,null,1,false,false,0,\"Bi; abamperes; abA\",\"UCUM\",\"ElpotRat\",\"Clinical\",\"equal to 10 amperes\",\"A\",\"A\",\"10\",10,false],[false,\"Stokes\",\"St\",\"ST\",\"kinematic viscosity\",0.0001,[2,-1,0,0,0,0,0],\"St\",\"cgs\",true,null,null,1,false,false,0,\"kinematic viscosity\",\"UCUM\",\"Visc\",\"Clinical\",\"unit of kimematic viscosity with units cm2/s\",\"cm2/s\",\"CM2/S\",\"1\",1,false],[false,\"Maxwell\",\"Mx\",\"MX\",\"flux of magnetic induction\",0.00001,[2,-1,1,0,0,-1,0],\"Mx\",\"cgs\",true,null,null,1,false,false,0,\"magnetix flux; Maxwells\",\"UCUM\",\"\",\"Clinical\",\"unit of magnetic flux\",\"Wb\",\"WB\",\"1e-8\",1e-8,false],[false,\"Gauss\",\"G\",\"GS\",\"magnetic flux density\",0.1,[0,-1,1,0,0,-1,0],\"Gs\",\"cgs\",true,null,null,1,false,false,0,\"magnetic fields; magnetic flux density; induction; B\",\"UCUM\",\"magnetic\",\"Clinical\",\"CGS unit of magnetic flux density, known as magnetic field B; defined as one maxwell unit per square centimeter (see Oersted for CGS unit for H field)\",\"T\",\"T\",\"1e-4\",0.0001,false],[false,\"Oersted\",\"Oe\",\"OE\",\"magnetic field intensity\",79.57747154594767,[-1,-1,0,0,0,1,0],\"Oe\",\"cgs\",true,null,null,1,false,false,0,\"H magnetic B field; Oersteds\",\"UCUM\",\"\",\"Clinical\",\"CGS unit of the auxiliary magnetic field H defined as 1 dyne per unit pole = 1000/4π amperes per meter (see Gauss for CGS unit for B field)\",\"A/m\",\"/[PI].A/M\",\"250\",79.57747154594767,false],[false,\"Gilbert\",\"Gb\",\"GB\",\"magnetic tension\",0.7957747154594768,[0,-1,0,0,0,1,0],\"Gb\",\"cgs\",true,null,null,1,false,false,0,\"Gi; magnetomotive force; Gilberts\",\"UCUM\",\"\",\"Clinical\",\"unit of magnetomotive force (magnetic potential)\",\"Oe.cm\",\"OE.CM\",\"1\",1,false],[false,\"stilb\",\"sb\",\"SB\",\"lum. intensity density\",10000,[-2,0,0,0,0,0,1],\"sb\",\"cgs\",true,null,null,1,false,false,0,\"stilbs\",\"UCUM\",\"\",\"Obsolete\",\"unit of luminance; equal to and replaced by unit candela per square centimeter (cd/cm2)\",\"cd/cm2\",\"CD/CM2\",\"1\",1,false],[false,\"Lambert\",\"Lmb\",\"LMB\",\"brightness\",3183.098861837907,[-2,0,0,0,0,0,1],\"L\",\"cgs\",true,null,null,1,false,false,0,\"luminance; lamberts\",\"UCUM\",\"\",\"Clinical\",\"unit of luminance defined as 1 lambert = 1/ π candela per square meter\",\"cd/cm2/[pi]\",\"CD/CM2/[PI]\",\"1\",1,false],[false,\"phot\",\"ph\",\"PHT\",\"illuminance\",0.0001,[-2,0,0,2,0,0,1],\"ph\",\"cgs\",true,null,null,1,false,false,0,\"phots\",\"UCUM\",\"\",\"Clinical\",\"CGS photometric unit of illuminance, or luminous flux through an area equal to 10000 lumens per square meter = 10000 lux\",\"lx\",\"LX\",\"1e-4\",0.0001,false],[false,\"Curie\",\"Ci\",\"CI\",\"radioactivity\",37000000000,[0,-1,0,0,0,0,0],\"Ci\",\"cgs\",true,null,null,1,false,false,0,\"curies\",\"UCUM\",\"\",\"Obsolete\",\"unit for measuring atomic disintegration rate; replaced by the Bequerel (Bq) unit\",\"Bq\",\"BQ\",\"37e9\",37000000000,false],[false,\"Roentgen\",\"R\",\"ROE\",\"ion dose\",2.58e-7,[0,0,-1,0,0,1,0],\"R\",\"cgs\",true,null,null,1,false,false,0,\"röntgen; Roentgens\",\"UCUM\",\"\",\"Clinical\",\"unit of exposure of X-rays and gamma rays in air; unit used primarily in the US but strongly discouraged by NIST\",\"C/kg\",\"C/KG\",\"2.58e-4\",0.000258,false],[false,\"radiation absorbed dose\",\"RAD\",\"[RAD]\",\"energy dose\",0.01,[2,-2,0,0,0,0,0],\"RAD\",\"cgs\",true,null,null,1,false,false,0,\"doses\",\"UCUM\",\"\",\"Clinical\",\"unit of radiation absorbed dose used primarily in the US with base units 100 ergs per gram of material. Also see the SI unit Gray (Gy).\",\"erg/g\",\"ERG/G\",\"100\",100,false],[false,\"radiation equivalent man\",\"REM\",\"[REM]\",\"dose equivalent\",0.01,[2,-2,0,0,0,0,0],\"REM\",\"cgs\",true,null,null,1,false,false,0,\"Roentgen Equivalent in Man; rems; dose equivalents\",\"UCUM\",\"\",\"Clinical\",\"unit of equivalent dose which measures the effect of radiation on humans equal to 0.01 sievert. Used primarily in the US. Also see SI unit Sievert (Sv)\",\"RAD\",\"[RAD]\",\"1\",1,false],[false,\"inch\",\"[in_i]\",\"[IN_I]\",\"length\",0.025400000000000002,[1,0,0,0,0,0,0],\"in\",\"intcust\",false,null,null,1,false,false,0,\"inches; in; international inch; body height\",\"UCUM\",\"Len\",\"Clinical\",\"standard unit for inch in the US and internationally\",\"cm\",\"CM\",\"254e-2\",2.54,false],[false,\"foot\",\"[ft_i]\",\"[FT_I]\",\"length\",0.3048,[1,0,0,0,0,0,0],\"ft\",\"intcust\",false,null,null,1,false,false,0,\"ft; fts; foot; international foot; feet; international feet; height\",\"UCUM\",\"Len\",\"Clinical\",\"unit used in the US and internationally\",\"[in_i]\",\"[IN_I]\",\"12\",12,false],[false,\"yard\",\"[yd_i]\",\"[YD_I]\",\"length\",0.9144000000000001,[1,0,0,0,0,0,0],\"yd\",\"intcust\",false,null,null,1,false,false,0,\"international yards; yds; distance\",\"UCUM\",\"Len\",\"Clinical\",\"standard unit used in the US and internationally\",\"[ft_i]\",\"[FT_I]\",\"3\",3,false],[false,\"mile\",\"[mi_i]\",\"[MI_I]\",\"length\",1609.344,[1,0,0,0,0,0,0],\"mi\",\"intcust\",false,null,null,1,false,false,0,\"international miles; mi I; statute mile\",\"UCUM\",\"Len\",\"Clinical\",\"standard unit used in the US and internationally\",\"[ft_i]\",\"[FT_I]\",\"5280\",5280,false],[false,\"fathom\",\"[fth_i]\",\"[FTH_I]\",\"depth of water\",1.8288000000000002,[1,0,0,0,0,0,0],\"fth\",\"intcust\",false,null,null,1,false,false,0,\"international fathoms\",\"UCUM\",\"Len\",\"Nonclinical\",\"unit used in the US and internationally to measure depth of water; same length as the US fathom\",\"[ft_i]\",\"[FT_I]\",\"6\",6,false],[false,\"nautical mile\",\"[nmi_i]\",\"[NMI_I]\",\"length\",1852,[1,0,0,0,0,0,0],\"n.mi\",\"intcust\",false,null,null,1,false,false,0,\"nautical mile; nautical miles; international nautical mile; international nautical miles; nm; n.m.; nmi\",\"UCUM\",\"Len\",\"Nonclinical\",\"standard unit used in the US and internationally\",\"m\",\"M\",\"1852\",1852,false],[false,\"knot\",\"[kn_i]\",\"[KN_I]\",\"velocity\",0.5144444444444445,[1,-1,0,0,0,0,0],\"knot\",\"intcust\",false,null,null,1,false,false,0,\"kn; kt; international knots\",\"UCUM\",\"Vel\",\"Nonclinical\",\"defined as equal to one nautical mile (1.852 km) per hour\",\"[nmi_i]/h\",\"[NMI_I]/H\",\"1\",1,false],[false,\"square inch\",\"[sin_i]\",\"[SIN_I]\",\"area\",0.0006451600000000001,[2,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"in2; in^2; inches squared; sq inch; inches squared; international\",\"UCUM\",\"Area\",\"Clinical\",\"standard unit used in the US and internationally\",\"[in_i]2\",\"[IN_I]2\",\"1\",1,false],[false,\"square foot\",\"[sft_i]\",\"[SFT_I]\",\"area\",0.09290304,[2,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"ft2; ft^2; ft squared; sq ft; feet; international\",\"UCUM\",\"Area\",\"Clinical\",\"standard unit used in the US and internationally\",\"[ft_i]2\",\"[FT_I]2\",\"1\",1,false],[false,\"square yard\",\"[syd_i]\",\"[SYD_I]\",\"area\",0.8361273600000002,[2,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"yd2; yd^2; sq. yds; yards squared; international\",\"UCUM\",\"Area\",\"Clinical\",\"standard unit used in the US and internationally\",\"[yd_i]2\",\"[YD_I]2\",\"1\",1,false],[false,\"cubic inch\",\"[cin_i]\",\"[CIN_I]\",\"volume\",0.000016387064000000003,[3,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"in3; in^3; in*3; inches^3; inches*3; cu. in; cu in; cubic inches; inches cubed; cin\",\"UCUM\",\"Vol\",\"Clinical\",\"standard unit used in the US and internationally\",\"[in_i]3\",\"[IN_I]3\",\"1\",1,false],[false,\"cubic foot\",\"[cft_i]\",\"[CFT_I]\",\"volume\",0.028316846592000004,[3,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"ft3; ft^3; ft*3; cu. ft; cubic feet; cubed; [ft_i]3; international\",\"UCUM\",\"Vol\",\"Clinical\",\"\",\"[ft_i]3\",\"[FT_I]3\",\"1\",1,false],[false,\"cubic yard\",\"[cyd_i]\",\"[CYD_I]\",\"volume\",0.7645548579840002,[3,0,0,0,0,0,0],\"cu.yd\",\"intcust\",false,null,null,1,false,false,0,\"cubic yards; cubic yds; cu yards; CYs; yards^3; yd^3; yds^3; yd3; yds3\",\"UCUM\",\"Vol\",\"Nonclinical\",\"standard unit used in the US and internationally\",\"[yd_i]3\",\"[YD_I]3\",\"1\",1,false],[false,\"board foot\",\"[bf_i]\",\"[BF_I]\",\"volume\",0.002359737216,[3,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"BDFT; FBM; BF; board feet; international\",\"UCUM\",\"Vol\",\"Nonclinical\",\"unit of volume used to measure lumber\",\"[in_i]3\",\"[IN_I]3\",\"144\",144,false],[false,\"cord\",\"[cr_i]\",\"[CR_I]\",\"volume\",3.6245563637760005,[3,0,0,0,0,0,0],null,\"intcust\",false,null,null,1,false,false,0,\"crd I; international cords\",\"UCUM\",\"Vol\",\"Nonclinical\",\"unit of measure of dry volume used to measure firewood equal 128 ft3\",\"[ft_i]3\",\"[FT_I]3\",\"128\",128,false],[false,\"mil\",\"[mil_i]\",\"[MIL_I]\",\"length\",0.000025400000000000004,[1,0,0,0,0,0,0],\"mil\",\"intcust\",false,null,null,1,false,false,0,\"thou, thousandth; mils; international\",\"UCUM\",\"Len\",\"Clinical\",\"equal to 0.001 international inch\",\"[in_i]\",\"[IN_I]\",\"1e-3\",0.001,false],[false,\"circular mil\",\"[cml_i]\",\"[CML_I]\",\"area\",5.067074790974979e-10,[2,0,0,0,0,0,0],\"circ.mil\",\"intcust\",false,null,null,1,false,false,0,\"circular mils; cml I; international\",\"UCUM\",\"Area\",\"Clinical\",\"\",\"[pi]/4.[mil_i]2\",\"[PI]/4.[MIL_I]2\",\"1\",1,false],[false,\"hand\",\"[hd_i]\",\"[HD_I]\",\"height of horses\",0.10160000000000001,[1,0,0,0,0,0,0],\"hd\",\"intcust\",false,null,null,1,false,false,0,\"hands; international\",\"UCUM\",\"Len\",\"Nonclinical\",\"used to measure horse height\",\"[in_i]\",\"[IN_I]\",\"4\",4,false],[false,\"foot - US\",\"[ft_us]\",\"[FT_US]\",\"length\",0.3048006096012192,[1,0,0,0,0,0,0],\"ftus\",\"us-lengths\",false,null,null,1,false,false,0,\"US foot; foot US; us ft; ft us; height; visual distance; feet\",\"UCUM\",\"Len\",\"Obsolete\",\"Better to use [ft_i] which refers to the length used worldwide, including in the US; [ft_us] may be confused with land survey units. \",\"m/3937\",\"M/3937\",\"1200\",1200,false],[false,\"yard - US\",\"[yd_us]\",\"[YD_US]\",\"length\",0.9144018288036575,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"US yards; us yds; distance\",\"UCUM\",\"Len; Nrat\",\"Obsolete\",\"Better to use [yd_i] which refers to the length used worldwide, including in the US; [yd_us] refers to unit used in land surveys in the US\",\"[ft_us]\",\"[FT_US]\",\"3\",3,false],[false,\"inch - US\",\"[in_us]\",\"[IN_US]\",\"length\",0.0254000508001016,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"US inches; in us; us in; inch US\",\"UCUM\",\"Len\",\"Obsolete\",\"Better to use [in_i] which refers to the length used worldwide, including in the US\",\"[ft_us]/12\",\"[FT_US]/12\",\"1\",1,false],[false,\"rod - US\",\"[rd_us]\",\"[RD_US]\",\"length\",5.029210058420117,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"US rod; US rods; rd US; US rd\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ft_us]\",\"[FT_US]\",\"16.5\",16.5,false],[false,\"Gunter\\'s chain - US\",\"[ch_us]\",\"[CH_US]\",\"length\",20.116840233680467,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"surveyor\\'s chain; Surveyor\\'s chain USA; Gunter’s measurement; surveyor’s measurement; Gunter\\'s Chain USA\",\"UCUM\",\"Len\",\"Obsolete\",\"historical unit used for land survey used only in the US\",\"[rd_us]\",\"[RD_US]\",\"4\",4,false],[false,\"link for Gunter\\'s chain - US\",\"[lk_us]\",\"[LK_US]\",\"length\",0.20116840233680466,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"Links for Gunter\\'s Chain USA\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ch_us]/100\",\"[CH_US]/100\",\"1\",1,false],[false,\"Ramden\\'s chain - US\",\"[rch_us]\",\"[RCH_US]\",\"length\",30.480060960121918,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"Ramsden\\'s chain; engineer\\'s chains\",\"UCUM\",\"Len\",\"Obsolete\",\"distance measuring device used for land survey\",\"[ft_us]\",\"[FT_US]\",\"100\",100,false],[false,\"link for Ramden\\'s chain - US\",\"[rlk_us]\",\"[RLK_US]\",\"length\",0.3048006096012192,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"links for Ramsden\\'s chain\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[rch_us]/100\",\"[RCH_US]/100\",\"1\",1,false],[false,\"fathom - US\",\"[fth_us]\",\"[FTH_US]\",\"length\",1.828803657607315,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"US fathoms; fathom USA; fth us\",\"UCUM\",\"Len\",\"Obsolete\",\"same length as the international fathom - better to use international fathom ([fth_i])\",\"[ft_us]\",\"[FT_US]\",\"6\",6,false],[false,\"furlong - US\",\"[fur_us]\",\"[FUR_US]\",\"length\",201.16840233680466,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"US furlongs; fur us\",\"UCUM\",\"Len\",\"Nonclinical\",\"distance unit in horse racing\",\"[rd_us]\",\"[RD_US]\",\"40\",40,false],[false,\"mile - US\",\"[mi_us]\",\"[MI_US]\",\"length\",1609.3472186944373,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"U.S. Survey Miles; US statute miles; survey mi; US mi; distance\",\"UCUM\",\"Len\",\"Nonclinical\",\"Better to use [mi_i] which refers to the length used worldwide, including in the US\",\"[fur_us]\",\"[FUR_US]\",\"8\",8,false],[false,\"acre - US\",\"[acr_us]\",\"[ACR_US]\",\"area\",4046.872609874252,[2,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"Acre USA Survey; Acre USA; survey acres\",\"UCUM\",\"Area\",\"Nonclinical\",\"an older unit based on pre 1959 US statute lengths that is still sometimes used in the US only for land survey purposes. \",\"[rd_us]2\",\"[RD_US]2\",\"160\",160,false],[false,\"square rod - US\",\"[srd_us]\",\"[SRD_US]\",\"area\",25.292953811714074,[2,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"rod2; rod^2; sq. rod; rods squared\",\"UCUM\",\"Area\",\"Nonclinical\",\"Used only in the US to measure land area, based on US statute land survey length units\",\"[rd_us]2\",\"[RD_US]2\",\"1\",1,false],[false,\"square mile - US\",\"[smi_us]\",\"[SMI_US]\",\"area\",2589998.470319521,[2,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"mi2; mi^2; sq mi; miles squared\",\"UCUM\",\"Area\",\"Nonclinical\",\"historical unit used only in the US for land survey purposes (based on the US survey mile), not the internationally recognized [mi_i]\",\"[mi_us]2\",\"[MI_US]2\",\"1\",1,false],[false,\"section\",\"[sct]\",\"[SCT]\",\"area\",2589998.470319521,[2,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"sct; sections\",\"UCUM\",\"Area\",\"Nonclinical\",\"tract of land approximately equal to 1 mile square containing 640 acres\",\"[mi_us]2\",\"[MI_US]2\",\"1\",1,false],[false,\"township\",\"[twp]\",\"[TWP]\",\"area\",93239944.93150276,[2,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"twp; townships\",\"UCUM\",\"Area\",\"Nonclinical\",\"land measurement equal to 6 mile square\",\"[sct]\",\"[SCT]\",\"36\",36,false],[false,\"mil - US\",\"[mil_us]\",\"[MIL_US]\",\"length\",0.0000254000508001016,[1,0,0,0,0,0,0],null,\"us-lengths\",false,null,null,1,false,false,0,\"thou, thousandth; mils\",\"UCUM\",\"Len\",\"Obsolete\",\"better to use [mil_i] which is based on the internationally recognized inch\",\"[in_us]\",\"[IN_US]\",\"1e-3\",0.001,false],[false,\"inch - British\",\"[in_br]\",\"[IN_BR]\",\"length\",0.025399980000000003,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"imperial inches; imp in; br in; british inches\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"cm\",\"CM\",\"2.539998\",2.539998,false],[false,\"foot - British\",\"[ft_br]\",\"[FT_BR]\",\"length\",0.30479976000000003,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British Foot; Imperial Foot; feet; imp fts; br fts\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[in_br]\",\"[IN_BR]\",\"12\",12,false],[false,\"rod - British\",\"[rd_br]\",\"[RD_BR]\",\"length\",5.02919604,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British rods; br rd\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ft_br]\",\"[FT_BR]\",\"16.5\",16.5,false],[false,\"Gunter\\'s chain - British\",\"[ch_br]\",\"[CH_BR]\",\"length\",20.11678416,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"Gunter\\'s Chain British; Gunters Chain British; Surveyor\\'s Chain British\",\"UCUM\",\"Len\",\"Obsolete\",\"historical unit used for land survey used only in Great Britain\",\"[rd_br]\",\"[RD_BR]\",\"4\",4,false],[false,\"link for Gunter\\'s chain - British\",\"[lk_br]\",\"[LK_BR]\",\"length\",0.2011678416,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"Links for Gunter\\'s Chain British\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ch_br]/100\",\"[CH_BR]/100\",\"1\",1,false],[false,\"fathom - British\",\"[fth_br]\",\"[FTH_BR]\",\"length\",1.82879856,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British fathoms; imperial fathoms; br fth; imp fth\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ft_br]\",\"[FT_BR]\",\"6\",6,false],[false,\"pace - British\",\"[pc_br]\",\"[PC_BR]\",\"length\",0.7619994000000001,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British paces; br pc\",\"UCUM\",\"Len\",\"Nonclinical\",\"traditional unit of length equal to 152.4 centimeters, or 1.52 meter. \",\"[ft_br]\",\"[FT_BR]\",\"2.5\",2.5,false],[false,\"yard - British\",\"[yd_br]\",\"[YD_BR]\",\"length\",0.91439928,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British yards; Br yds; distance\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ft_br]\",\"[FT_BR]\",\"3\",3,false],[false,\"mile - British\",\"[mi_br]\",\"[MI_BR]\",\"length\",1609.3427328000002,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"imperial miles; British miles; English statute miles; imp mi, br mi\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ft_br]\",\"[FT_BR]\",\"5280\",5280,false],[false,\"nautical mile - British\",\"[nmi_br]\",\"[NMI_BR]\",\"length\",1853.1825408000002,[1,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British nautical miles; Imperial nautical miles; Admiralty miles; n.m. br; imp nm\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[ft_br]\",\"[FT_BR]\",\"6080\",6080,false],[false,\"knot - British\",\"[kn_br]\",\"[KN_BR]\",\"velocity\",0.5147729280000001,[1,-1,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"British knots; kn br; kt\",\"UCUM\",\"Vel\",\"Obsolete\",\"based on obsolete British nautical mile \",\"[nmi_br]/h\",\"[NMI_BR]/H\",\"1\",1,false],[false,\"acre\",\"[acr_br]\",\"[ACR_BR]\",\"area\",4046.850049400269,[2,0,0,0,0,0,0],null,\"brit-length\",false,null,null,1,false,false,0,\"Imperial acres; British; a; ac; ar; acr\",\"UCUM\",\"Area\",\"Nonclinical\",\"the standard unit for acre used in the US and internationally\",\"[yd_br]2\",\"[YD_BR]2\",\"4840\",4840,false],[false,\"gallon - US\",\"[gal_us]\",\"[GAL_US]\",\"fluid volume\",0.0037854117840000006,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US gallons; US liquid gallon; gal us; Queen Anne\\'s wine gallon\",\"UCUM\",\"Vol\",\"Nonclinical\",\"only gallon unit used in the US; [gal_us] is only used in some other countries in South American and Africa to measure gasoline volume\",\"[in_i]3\",\"[IN_I]3\",\"231\",231,false],[false,\"barrel - US\",\"[bbl_us]\",\"[BBL_US]\",\"fluid volume\",0.158987294928,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"bbl\",\"UCUM\",\"Vol\",\"Nonclinical\",\"[bbl_us] is the standard unit for oil barrel, which is a unit only used in the US to measure the volume oil. \",\"[gal_us]\",\"[GAL_US]\",\"42\",42,false],[false,\"quart - US\",\"[qt_us]\",\"[QT_US]\",\"fluid volume\",0.0009463529460000001,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US quarts; us qts\",\"UCUM\",\"Vol\",\"Clinical\",\"Used only in the US\",\"[gal_us]/4\",\"[GAL_US]/4\",\"1\",1,false],[false,\"pint - US\",\"[pt_us]\",\"[PT_US]\",\"fluid volume\",0.00047317647300000007,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US pints; pint US; liquid pint; pt us; us pt\",\"UCUM\",\"Vol\",\"Clinical\",\"Used only in the US\",\"[qt_us]/2\",\"[QT_US]/2\",\"1\",1,false],[false,\"gill - US\",\"[gil_us]\",\"[GIL_US]\",\"fluid volume\",0.00011829411825000002,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US gills; gil us\",\"UCUM\",\"Vol\",\"Nonclinical\",\"only used in the context of alcohol volume in the US\",\"[pt_us]/4\",\"[PT_US]/4\",\"1\",1,false],[false,\"fluid ounce - US\",\"[foz_us]\",\"[FOZ_US]\",\"fluid volume\",0.000029573529562500005,[3,0,0,0,0,0,0],\"oz fl\",\"us-volumes\",false,null,null,1,false,false,0,\"US fluid ounces; fl ozs; FO; fl. oz.; foz us\",\"UCUM\",\"Vol\",\"Clinical\",\"unit used only in the US\",\"[gil_us]/4\",\"[GIL_US]/4\",\"1\",1,false],[false,\"fluid dram - US\",\"[fdr_us]\",\"[FDR_US]\",\"fluid volume\",0.0000036966911953125006,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US fluid drams; fdr us\",\"UCUM\",\"Vol\",\"Nonclinical\",\"equal to 1/8 US fluid ounce = 3.69 mL; used informally to mean small amount of liquor, especially Scotch whiskey\",\"[foz_us]/8\",\"[FOZ_US]/8\",\"1\",1,false],[false,\"minim - US\",\"[min_us]\",\"[MIN_US]\",\"fluid volume\",6.1611519921875e-8,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"min US; US min; ♏ US\",\"UCUM\",\"Vol\",\"Obsolete\",\"\",\"[fdr_us]/60\",\"[FDR_US]/60\",\"1\",1,false],[false,\"cord - US\",\"[crd_us]\",\"[CRD_US]\",\"fluid volume\",3.6245563637760005,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US cord; US cords; crd us; us crd\",\"UCUM\",\"Vol\",\"Nonclinical\",\"unit of measure of dry volume used to measure firewood equal 128 ft3 (the same as international cord [cr_i])\",\"[ft_i]3\",\"[FT_I]3\",\"128\",128,false],[false,\"bushel - US\",\"[bu_us]\",\"[BU_US]\",\"dry volume\",0.03523907016688001,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US bushels; US bsh; US bu\",\"UCUM\",\"Vol\",\"Obsolete\",\"Historical unit of dry volume that is rarely used today\",\"[in_i]3\",\"[IN_I]3\",\"2150.42\",2150.42,false],[false,\"gallon - historical\",\"[gal_wi]\",\"[GAL_WI]\",\"dry volume\",0.004404883770860001,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"Corn Gallon British; Dry Gallon US; Gallons Historical; Grain Gallon British; Winchester Corn Gallon; historical winchester gallons; wi gal\",\"UCUM\",\"Vol\",\"Obsolete\",\"historical unit of dry volume no longer used\",\"[bu_us]/8\",\"[BU_US]/8\",\"1\",1,false],[false,\"peck - US\",\"[pk_us]\",\"[PK_US]\",\"dry volume\",0.008809767541720002,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"US pecks; US pk\",\"UCUM\",\"Vol\",\"Nonclinical\",\"unit of dry volume rarely used today (can be used to measure volume of apples)\",\"[bu_us]/4\",\"[BU_US]/4\",\"1\",1,false],[false,\"dry quart - US\",\"[dqt_us]\",\"[DQT_US]\",\"dry volume\",0.0011012209427150002,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"dry quarts; dry quart US; US dry quart; dry qt; us dry qt; dqt; dqt us\",\"UCUM\",\"Vol\",\"Nonclinical\",\"historical unit of dry volume only in the US, but is rarely used today\",\"[pk_us]/8\",\"[PK_US]/8\",\"1\",1,false],[false,\"dry pint - US\",\"[dpt_us]\",\"[DPT_US]\",\"dry volume\",0.0005506104713575001,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"dry pints; dry pint US; US dry pint; dry pt; dpt; dpt us\",\"UCUM\",\"Vol\",\"Nonclinical\",\"historical unit of dry volume only in the US, but is rarely used today\",\"[dqt_us]/2\",\"[DQT_US]/2\",\"1\",1,false],[false,\"tablespoon - US\",\"[tbs_us]\",\"[TBS_US]\",\"volume\",0.000014786764781250002,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"Tbs; tbsp; tbs us; US tablespoons\",\"UCUM\",\"Vol\",\"Clinical\",\"unit defined as 0.5 US fluid ounces or 3 teaspoons - used only in the US. See [tbs_m] for the unit used internationally and in the US for nutrional labelling. \",\"[foz_us]/2\",\"[FOZ_US]/2\",\"1\",1,false],[false,\"teaspoon - US\",\"[tsp_us]\",\"[TSP_US]\",\"volume\",0.0000049289215937500005,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"tsp; t; US teaspoons\",\"UCUM\",\"Vol\",\"Nonclinical\",\"unit defined as 1/6 US fluid ounces - used only in the US. See [tsp_m] for the unit used internationally and in the US for nutrional labelling. \",\"[tbs_us]/3\",\"[TBS_US]/3\",\"1\",1,false],[false,\"cup - US customary\",\"[cup_us]\",\"[CUP_US]\",\"volume\",0.00023658823650000004,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"cup us; us cups\",\"UCUM\",\"Vol\",\"Nonclinical\",\"Unit defined as 1/2 US pint or 16 US tablespoons ≈ 236.59 mL, which is not the standard unit defined by the FDA of 240 mL - see [cup_m] (metric cup)\",\"[tbs_us]\",\"[TBS_US]\",\"16\",16,false],[false,\"fluid ounce - metric\",\"[foz_m]\",\"[FOZ_M]\",\"fluid volume\",0.000029999999999999997,[3,0,0,0,0,0,0],\"oz fl\",\"us-volumes\",false,null,null,1,false,false,0,\"metric fluid ounces; fozs m; fl ozs m\",\"UCUM\",\"Vol\",\"Clinical\",\"unit used only in the US for nutritional labelling, as set by the FDA\",\"mL\",\"ML\",\"30\",30,false],[false,\"cup - US legal\",\"[cup_m]\",\"[CUP_M]\",\"volume\",0.00023999999999999998,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"cup m; metric cups\",\"UCUM\",\"Vol\",\"Clinical\",\"standard unit equal to 240 mL used in the US for nutritional labelling, as defined by the FDA. Note that this is different from the US customary cup (236.59 mL) and the metric cup used in Commonwealth nations (250 mL).\",\"mL\",\"ML\",\"240\",240,false],[false,\"teaspoon - metric\",\"[tsp_m]\",\"[TSP_M]\",\"volume\",0.0000049999999999999996,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"tsp; t; metric teaspoons\",\"UCUM\",\"Vol\",\"Clinical\",\"standard unit used in the US and internationally\",\"mL\",\"mL\",\"5\",5,false],[false,\"tablespoon - metric\",\"[tbs_m]\",\"[TBS_M]\",\"volume\",0.000014999999999999999,[3,0,0,0,0,0,0],null,\"us-volumes\",false,null,null,1,false,false,0,\"metric tablespoons; Tbs; tbsp; T; tbs m\",\"UCUM\",\"Vol\",\"Clinical\",\"standard unit used in the US and internationally\",\"mL\",\"mL\",\"15\",15,false],[false,\"gallon- British\",\"[gal_br]\",\"[GAL_BR]\",\"volume\",0.004546090000000001,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"imperial gallons, UK gallons; British gallons; br gal; imp gal\",\"UCUM\",\"Vol\",\"Nonclinical\",\"Used only in Great Britain and other Commonwealth countries\",\"l\",\"L\",\"4.54609\",4.54609,false],[false,\"peck - British\",\"[pk_br]\",\"[PK_BR]\",\"volume\",0.009092180000000002,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"imperial pecks; British pecks; br pk; imp pk\",\"UCUM\",\"Vol\",\"Nonclinical\",\"unit of dry volume rarely used today (can be used to measure volume of apples)\",\"[gal_br]\",\"[GAL_BR]\",\"2\",2,false],[false,\"bushel - British\",\"[bu_br]\",\"[BU_BR]\",\"volume\",0.03636872000000001,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"British bushels; imperial; br bsh; br bu; imp\",\"UCUM\",\"Vol\",\"Obsolete\",\"Historical unit of dry volume that is rarely used today\",\"[pk_br]\",\"[PK_BR]\",\"4\",4,false],[false,\"quart - British\",\"[qt_br]\",\"[QT_BR]\",\"volume\",0.0011365225000000002,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"British quarts; imperial quarts; br qts\",\"UCUM\",\"Vol\",\"Clinical\",\"Used only in Great Britain and other Commonwealth countries\",\"[gal_br]/4\",\"[GAL_BR]/4\",\"1\",1,false],[false,\"pint - British\",\"[pt_br]\",\"[PT_BR]\",\"volume\",0.0005682612500000001,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"British pints; imperial pints; pt br; br pt; imp pt; pt imp\",\"UCUM\",\"Vol\",\"Clinical\",\"Used only in Great Britain and other Commonwealth countries\",\"[qt_br]/2\",\"[QT_BR]/2\",\"1\",1,false],[false,\"gill - British\",\"[gil_br]\",\"[GIL_BR]\",\"volume\",0.00014206531250000003,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"imperial gills; British gills; imp gill, br gill\",\"UCUM\",\"Vol\",\"Nonclinical\",\"only used in the context of alcohol volume in Great Britain\",\"[pt_br]/4\",\"[PT_BR]/4\",\"1\",1,false],[false,\"fluid ounce - British\",\"[foz_br]\",\"[FOZ_BR]\",\"volume\",0.000028413062500000005,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"British fluid ounces; Imperial fluid ounces; br fozs; imp fozs; br fl ozs\",\"UCUM\",\"Vol\",\"Clinical\",\"Used only in Great Britain and other Commonwealth countries\",\"[gil_br]/5\",\"[GIL_BR]/5\",\"1\",1,false],[false,\"fluid dram - British\",\"[fdr_br]\",\"[FDR_BR]\",\"volume\",0.0000035516328125000006,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"British fluid drams; fdr br\",\"UCUM\",\"Vol\",\"Nonclinical\",\"equal to 1/8 Imperial fluid ounce = 3.55 mL; used informally to mean small amount of liquor, especially Scotch whiskey\",\"[foz_br]/8\",\"[FOZ_BR]/8\",\"1\",1,false],[false,\"minim - British\",\"[min_br]\",\"[MIN_BR]\",\"volume\",5.919388020833334e-8,[3,0,0,0,0,0,0],null,\"brit-volumes\",false,null,null,1,false,false,0,\"min br; br min; ♏ br\",\"UCUM\",\"Vol\",\"Obsolete\",\"\",\"[fdr_br]/60\",\"[FDR_BR]/60\",\"1\",1,false],[false,\"grain\",\"[gr]\",\"[GR]\",\"mass\",0.06479891,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"gr; grains\",\"UCUM\",\"Mass\",\"Nonclinical\",\"an apothecary measure of mass rarely used today\",\"mg\",\"MG\",\"64.79891\",64.79891,false],[false,\"pound\",\"[lb_av]\",\"[LB_AV]\",\"mass\",453.59237,[0,0,1,0,0,0,0],\"lb\",\"avoirdupois\",false,null,null,1,false,false,0,\"avoirdupois pounds, international pounds; av lbs; pounds\",\"UCUM\",\"Mass\",\"Clinical\",\"standard unit used in the US and internationally\",\"[gr]\",\"[GR]\",\"7000\",7000,false],[false,\"pound force - US\",\"[lbf_av]\",\"[LBF_AV]\",\"force\",4448.2216152605,[1,-2,1,0,0,0,0],\"lbf\",\"const\",false,null,null,1,false,false,0,\"lbfs; US lbf; US pound forces\",\"UCUM\",\"Force\",\"Clinical\",\"only rarely needed in health care - see [lb_av] which is the more common unit to express weight\",\"[lb_av].[g]\",\"[LB_AV].[G]\",\"1\",1,false],[false,\"ounce\",\"[oz_av]\",\"[OZ_AV]\",\"mass\",28.349523125,[0,0,1,0,0,0,0],\"oz\",\"avoirdupois\",false,null,null,1,false,false,0,\"ounces; international ounces; avoirdupois ounces; av ozs\",\"UCUM\",\"Mass\",\"Clinical\",\"standard unit used in the US and internationally\",\"[lb_av]/16\",\"[LB_AV]/16\",\"1\",1,false],[false,\"Dram mass unit\",\"[dr_av]\",\"[DR_AV]\",\"mass\",1.7718451953125,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"Dram; drams avoirdupois; avoidupois dram; international dram\",\"UCUM\",\"Mass\",\"Clinical\",\"unit from the avoirdupois system, which is used in the US and internationally\",\"[oz_av]/16\",\"[OZ_AV]/16\",\"1\",1,false],[false,\"short hundredweight\",\"[scwt_av]\",\"[SCWT_AV]\",\"mass\",45359.237,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"hundredweights; s cwt; scwt; avoirdupois\",\"UCUM\",\"Mass\",\"Nonclinical\",\"Used only in the US to equal 100 pounds\",\"[lb_av]\",\"[LB_AV]\",\"100\",100,false],[false,\"long hundredweight\",\"[lcwt_av]\",\"[LCWT_AV]\",\"mass\",50802.345440000005,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"imperial hundredweights; imp cwt; lcwt; avoirdupois\",\"UCUM\",\"Mass\",\"Obsolete\",\"\",\"[lb_av]\",\"[LB_AV]\",\"112\",112,false],[false,\"short ton - US\",\"[ston_av]\",\"[STON_AV]\",\"mass\",907184.74,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"ton; US tons; avoirdupois tons\",\"UCUM\",\"Mass\",\"Clinical\",\"Used only in the US\",\"[scwt_av]\",\"[SCWT_AV]\",\"20\",20,false],[false,\"long ton - British\",\"[lton_av]\",\"[LTON_AV]\",\"mass\",1016046.9088000001,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"imperial tons; weight tons; British long tons; long ton avoirdupois\",\"UCUM\",\"Mass\",\"Nonclinical\",\"Used only in Great Britain and other Commonwealth countries\",\"[lcwt_av]\",\"[LCWT_AV]\",\"20\",20,false],[false,\"stone - British\",\"[stone_av]\",\"[STONE_AV]\",\"mass\",6350.293180000001,[0,0,1,0,0,0,0],null,\"avoirdupois\",false,null,null,1,false,false,0,\"British stones; avoirdupois\",\"UCUM\",\"Mass\",\"Nonclinical\",\"Used primarily in the UK and Ireland to measure body weight\",\"[lb_av]\",\"[LB_AV]\",\"14\",14,false],[false,\"pennyweight - troy\",\"[pwt_tr]\",\"[PWT_TR]\",\"mass\",1.5551738400000001,[0,0,1,0,0,0,0],null,\"troy\",false,null,null,1,false,false,0,\"dwt; denarius weights\",\"UCUM\",\"Mass\",\"Obsolete\",\"historical unit used to measure mass and cost of precious metals\",\"[gr]\",\"[GR]\",\"24\",24,false],[false,\"ounce - troy\",\"[oz_tr]\",\"[OZ_TR]\",\"mass\",31.103476800000003,[0,0,1,0,0,0,0],null,\"troy\",false,null,null,1,false,false,0,\"troy ounces; tr ozs\",\"UCUM\",\"Mass\",\"Nonclinical\",\"unit of mass for precious metals and gemstones only\",\"[pwt_tr]\",\"[PWT_TR]\",\"20\",20,false],[false,\"pound - troy\",\"[lb_tr]\",\"[LB_TR]\",\"mass\",373.2417216,[0,0,1,0,0,0,0],null,\"troy\",false,null,null,1,false,false,0,\"troy pounds; tr lbs\",\"UCUM\",\"Mass\",\"Nonclinical\",\"only used for weighing precious metals\",\"[oz_tr]\",\"[OZ_TR]\",\"12\",12,false],[false,\"scruple\",\"[sc_ap]\",\"[SC_AP]\",\"mass\",1.2959782,[0,0,1,0,0,0,0],null,\"apoth\",false,null,null,1,false,false,0,\"scruples; sc ap\",\"UCUM\",\"Mass\",\"Obsolete\",\"\",\"[gr]\",\"[GR]\",\"20\",20,false],[false,\"dram - apothecary\",\"[dr_ap]\",\"[DR_AP]\",\"mass\",3.8879346,[0,0,1,0,0,0,0],null,\"apoth\",false,null,null,1,false,false,0,\"ʒ; drachm; apothecaries drams; dr ap; dram ap\",\"UCUM\",\"Mass\",\"Nonclinical\",\"unit still used in the US occasionally to measure amount of drugs in pharmacies\",\"[sc_ap]\",\"[SC_AP]\",\"3\",3,false],[false,\"ounce - apothecary\",\"[oz_ap]\",\"[OZ_AP]\",\"mass\",31.1034768,[0,0,1,0,0,0,0],null,\"apoth\",false,null,null,1,false,false,0,\"apothecary ounces; oz ap; ap ozs; ozs ap\",\"UCUM\",\"Mass\",\"Obsolete\",\"\",\"[dr_ap]\",\"[DR_AP]\",\"8\",8,false],[false,\"pound - apothecary\",\"[lb_ap]\",\"[LB_AP]\",\"mass\",373.2417216,[0,0,1,0,0,0,0],null,\"apoth\",false,null,null,1,false,false,0,\"apothecary pounds; apothecaries pounds; ap lb; lb ap; ap lbs; lbs ap\",\"UCUM\",\"Mass\",\"Obsolete\",\"\",\"[oz_ap]\",\"[OZ_AP]\",\"12\",12,false],[false,\"ounce - metric\",\"[oz_m]\",\"[OZ_M]\",\"mass\",28,[0,0,1,0,0,0,0],null,\"apoth\",false,null,null,1,false,false,0,\"metric ounces; m ozs\",\"UCUM\",\"Mass\",\"Clinical\",\"see [oz_av] (the avoirdupois ounce) for the standard ounce used internationally; [oz_m] is equal to 28 grams and is based on the apothecaries\\' system of mass units which is used in some US pharmacies. \",\"g\",\"g\",\"28\",28,false],[false,\"line\",\"[lne]\",\"[LNE]\",\"length\",0.002116666666666667,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"British lines; br L; L; l\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[in_i]/12\",\"[IN_I]/12\",\"1\",1,false],[false,\"point (typography)\",\"[pnt]\",\"[PNT]\",\"length\",0.0003527777777777778,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"DTP points; desktop publishing point; pt; pnt\",\"UCUM\",\"Len\",\"Nonclinical\",\"typography unit for typesetter\\'s length\",\"[lne]/6\",\"[LNE]/6\",\"1\",1,false],[false,\"pica (typography)\",\"[pca]\",\"[PCA]\",\"length\",0.004233333333333334,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"picas\",\"UCUM\",\"Len\",\"Nonclinical\",\"typography unit for typesetter\\'s length\",\"[pnt]\",\"[PNT]\",\"12\",12,false],[false,\"Printer\\'s point (typography)\",\"[pnt_pr]\",\"[PNT_PR]\",\"length\",0.00035145980000000004,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"pnt pr\",\"UCUM\",\"Len\",\"Nonclinical\",\"typography unit for typesetter\\'s length\",\"[in_i]\",\"[IN_I]\",\"0.013837\",0.013837,false],[false,\"Printer\\'s pica (typography)\",\"[pca_pr]\",\"[PCA_PR]\",\"length\",0.004217517600000001,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"pca pr; Printer\\'s picas\",\"UCUM\",\"Len\",\"Nonclinical\",\"typography unit for typesetter\\'s length\",\"[pnt_pr]\",\"[PNT_PR]\",\"12\",12,false],[false,\"pied\",\"[pied]\",\"[PIED]\",\"length\",0.3248,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"pieds du roi; Paris foot; royal; French; feet\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"cm\",\"CM\",\"32.48\",32.48,false],[false,\"pouce\",\"[pouce]\",\"[POUCE]\",\"length\",0.027066666666666666,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"historical French inches; French royal inches\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[pied]/12\",\"[PIED]/12\",\"1\",1,false],[false,\"ligne\",\"[ligne]\",\"[LIGNE]\",\"length\",0.0022555555555555554,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"Paris lines; lignes\",\"UCUM\",\"Len\",\"Obsolete\",\"\",\"[pouce]/12\",\"[POUCE]/12\",\"1\",1,false],[false,\"didot\",\"[didot]\",\"[DIDOT]\",\"length\",0.0003759259259259259,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"Didot point; dd; Didots Point; didots; points\",\"UCUM\",\"Len\",\"Obsolete\",\"typography unit for typesetter\\'s length\",\"[ligne]/6\",\"[LIGNE]/6\",\"1\",1,false],[false,\"cicero\",\"[cicero]\",\"[CICERO]\",\"length\",0.004511111111111111,[1,0,0,0,0,0,0],null,\"typeset\",false,null,null,1,false,false,0,\"Didot\\'s pica; ciceros; picas\",\"UCUM\",\"Len\",\"Obsolete\",\"typography unit for typesetter\\'s length\",\"[didot]\",\"[DIDOT]\",\"12\",12,false],[false,\"degrees Fahrenheit\",\"[degF]\",\"[DEGF]\",\"temperature\",0.5555555555555556,[0,0,0,0,1,0,0],\"°F\",\"heat\",false,null,\"degF\",1,true,false,0,\"°F; deg F\",\"UCUM\",\"Temp\",\"Clinical\",\"\",\"K\",null,null,0.5555555555555556,false],[false,\"degrees Rankine\",\"[degR]\",\"[degR]\",\"temperature\",0.5555555555555556,[0,0,0,0,1,0,0],\"°R\",\"heat\",false,null,null,1,false,false,0,\"°R; °Ra; Rankine\",\"UCUM\",\"Temp\",\"Obsolete\",\"Replaced by Kelvin\",\"K/9\",\"K/9\",\"5\",5,false],[false,\"degrees Réaumur\",\"[degRe]\",\"[degRe]\",\"temperature\",1.25,[0,0,0,0,1,0,0],\"°Ré\",\"heat\",false,null,\"degRe\",1,true,false,0,\"°Ré, °Re, °r; Réaumur; degree Reaumur; Reaumur\",\"UCUM\",\"Temp\",\"Obsolete\",\"replaced by Celsius\",\"K\",null,null,1.25,false],[false,\"calorie at 15°C\",\"cal_[15]\",\"CAL_[15]\",\"energy\",4185.8,[2,-2,1,0,0,0,0],\"cal15°C\",\"heat\",true,null,null,1,false,false,0,\"calorie 15 C; cals 15 C; calories at 15 C\",\"UCUM\",\"Enrg\",\"Nonclinical\",\"equal to 4.1855 joules; calorie most often used in engineering\",\"J\",\"J\",\"4.18580\",4.1858,false],[false,\"calorie at 20°C\",\"cal_[20]\",\"CAL_[20]\",\"energy\",4181.9,[2,-2,1,0,0,0,0],\"cal20°C\",\"heat\",true,null,null,1,false,false,0,\"calorie 20 C; cal 20 C; calories at 20 C\",\"UCUM\",\"Enrg\",\"Clinical\",\"equal to 4.18190 joules. \",\"J\",\"J\",\"4.18190\",4.1819,false],[false,\"mean calorie\",\"cal_m\",\"CAL_M\",\"energy\",4190.0199999999995,[2,-2,1,0,0,0,0],\"calm\",\"heat\",true,null,null,1,false,false,0,\"mean cals; mean calories\",\"UCUM\",\"Enrg\",\"Clinical\",\"equal to 4.19002 joules. \",\"J\",\"J\",\"4.19002\",4.19002,false],[false,\"international table calorie\",\"cal_IT\",\"CAL_IT\",\"energy\",4186.8,[2,-2,1,0,0,0,0],\"calIT\",\"heat\",true,null,null,1,false,false,0,\"calories IT; IT cals; international steam table calories\",\"UCUM\",\"Enrg\",\"Nonclinical\",\"used in engineering steam tables and defined as 1/860 international watt-hour; equal to 4.1868 joules\",\"J\",\"J\",\"4.1868\",4.1868,false],[false,\"thermochemical calorie\",\"cal_th\",\"CAL_TH\",\"energy\",4184,[2,-2,1,0,0,0,0],\"calth\",\"heat\",true,null,null,1,false,false,0,\"thermochemical calories; th cals\",\"UCUM\",\"Enrg\",\"Clinical\",\"equal to 4.184 joules; used as the unit in medicine and biochemistry (equal to cal)\",\"J\",\"J\",\"4.184\",4.184,false],[false,\"calorie\",\"cal\",\"CAL\",\"energy\",4184,[2,-2,1,0,0,0,0],\"cal\",\"heat\",true,null,null,1,false,false,0,\"gram calories; small calories\",\"UCUM\",\"Enrg\",\"Clinical\",\"equal to 4.184 joules (the same value as the thermochemical calorie, which is the most common calorie used in medicine and biochemistry)\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"nutrition label Calories\",\"[Cal]\",\"[CAL]\",\"energy\",4184000,[2,-2,1,0,0,0,0],\"Cal\",\"heat\",false,null,null,1,false,false,0,\"food calories; Cal; kcal\",\"UCUM\",\"Eng\",\"Clinical\",\"\",\"kcal_th\",\"KCAL_TH\",\"1\",1,false],[false,\"British thermal unit at 39°F\",\"[Btu_39]\",\"[BTU_39]\",\"energy\",1059670,[2,-2,1,0,0,0,0],\"Btu39°F\",\"heat\",false,null,null,1,false,false,0,\"BTU 39F; BTU 39 F; B.T.U. 39 F; B.Th.U. 39 F; BThU 39 F; British thermal units\",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to 1.05967 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"kJ\",\"kJ\",\"1.05967\",1.05967,false],[false,\"British thermal unit at 59°F\",\"[Btu_59]\",\"[BTU_59]\",\"energy\",1054800,[2,-2,1,0,0,0,0],\"Btu59°F\",\"heat\",false,null,null,1,false,false,0,\"BTU 59 F; BTU 59F; B.T.U. 59 F; B.Th.U. 59 F; BThU 59F; British thermal units\",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to 1.05480 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"kJ\",\"kJ\",\"1.05480\",1.0548,false],[false,\"British thermal unit at 60°F\",\"[Btu_60]\",\"[BTU_60]\",\"energy\",1054680,[2,-2,1,0,0,0,0],\"Btu60°F\",\"heat\",false,null,null,1,false,false,0,\"BTU 60 F; BTU 60F; B.T.U. 60 F; B.Th.U. 60 F; BThU 60 F; British thermal units 60 F\",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to 1.05468 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"kJ\",\"kJ\",\"1.05468\",1.05468,false],[false,\"mean British thermal unit\",\"[Btu_m]\",\"[BTU_M]\",\"energy\",1055870,[2,-2,1,0,0,0,0],\"Btum\",\"heat\",false,null,null,1,false,false,0,\"BTU mean; B.T.U. mean; B.Th.U. mean; BThU mean; British thermal units mean; \",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to 1.05587 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"kJ\",\"kJ\",\"1.05587\",1.05587,false],[false,\"international table British thermal unit\",\"[Btu_IT]\",\"[BTU_IT]\",\"energy\",1055055.85262,[2,-2,1,0,0,0,0],\"BtuIT\",\"heat\",false,null,null,1,false,false,0,\"BTU IT; B.T.U. IT; B.Th.U. IT; BThU IT; British thermal units IT\",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to 1.055 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"kJ\",\"kJ\",\"1.05505585262\",1.05505585262,false],[false,\"thermochemical British thermal unit\",\"[Btu_th]\",\"[BTU_TH]\",\"energy\",1054350,[2,-2,1,0,0,0,0],\"Btuth\",\"heat\",false,null,null,1,false,false,0,\"BTU Th; B.T.U. Th; B.Th.U. Th; BThU Th; thermochemical British thermal units\",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to 1.054350 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"kJ\",\"kJ\",\"1.054350\",1.05435,false],[false,\"British thermal unit\",\"[Btu]\",\"[BTU]\",\"energy\",1054350,[2,-2,1,0,0,0,0],\"btu\",\"heat\",false,null,null,1,false,false,0,\"BTU; B.T.U. ; B.Th.U.; BThU; British thermal units\",\"UCUM\",\"Eng\",\"Nonclinical\",\"equal to the thermochemical British thermal unit equal to 1.054350 kJ; used as a measure of power in the electric power, steam generation, heating, and air conditioning industries\",\"[Btu_th]\",\"[BTU_TH]\",\"1\",1,false],[false,\"horsepower - mechanical\",\"[HP]\",\"[HP]\",\"power\",745699.8715822703,[2,-3,1,0,0,0,0],null,\"heat\",false,null,null,1,false,false,0,\"imperial horsepowers\",\"UCUM\",\"EngRat\",\"Nonclinical\",\"refers to mechanical horsepower, which is unit used to measure engine power primarily in the US. \",\"[ft_i].[lbf_av]/s\",\"[FT_I].[LBF_AV]/S\",\"550\",550,false],[false,\"tex\",\"tex\",\"TEX\",\"linear mass density (of textile thread)\",0.001,[-1,0,1,0,0,0,0],\"tex\",\"heat\",true,null,null,1,false,false,0,\"linear mass density; texes\",\"UCUM\",\"\",\"Clinical\",\"unit of linear mass density for fibers equal to gram per 1000 meters\",\"g/km\",\"G/KM\",\"1\",1,false],[false,\"Denier (linear mass density)\",\"[den]\",\"[DEN]\",\"linear mass density (of textile thread)\",0.0001111111111111111,[-1,0,1,0,0,0,0],\"den\",\"heat\",false,null,null,1,false,false,0,\"den; deniers\",\"UCUM\",\"\",\"Nonclinical\",\"equal to the mass in grams per 9000 meters of the fiber (1 denier = 1 strand of silk)\",\"g/9/km\",\"G/9/KM\",\"1\",1,false],[false,\"meter of water column\",\"m[H2O]\",\"M[H2O]\",\"pressure\",9806650,[-1,-2,1,0,0,0,0],\"m HO2\",\"clinical\",true,null,null,1,false,false,0,\"mH2O; m H2O; meters of water column; metres; pressure\",\"UCUM\",\"Pres\",\"Clinical\",\"\",\"kPa\",\"KPAL\",\"980665e-5\",9.80665,false],[false,\"meter of mercury column\",\"m[Hg]\",\"M[HG]\",\"pressure\",133322000,[-1,-2,1,0,0,0,0],\"m Hg\",\"clinical\",true,null,null,1,false,false,0,\"mHg; m Hg; meters of mercury column; metres; pressure\",\"UCUM\",\"Pres\",\"Clinical\",\"\",\"kPa\",\"KPAL\",\"133.3220\",133.322,false],[false,\"inch of water column\",\"[in_i\\'H2O]\",\"[IN_I\\'H2O]\",\"pressure\",249088.91000000003,[-1,-2,1,0,0,0,0],\"in HO2\",\"clinical\",false,null,null,1,false,false,0,\"inches WC; inAq; in H2O; inch of water gauge; iwg; pressure\",\"UCUM\",\"Pres\",\"Clinical\",\"unit of pressure, especially in respiratory and ventilation care\",\"m[H2O].[in_i]/m\",\"M[H2O].[IN_I]/M\",\"1\",1,false],[false,\"inch of mercury column\",\"[in_i\\'Hg]\",\"[IN_I\\'HG]\",\"pressure\",3386378.8000000003,[-1,-2,1,0,0,0,0],\"in Hg\",\"clinical\",false,null,null,1,false,false,0,\"inHg; in Hg; pressure; inches\",\"UCUM\",\"Pres\",\"Clinical\",\"unit of pressure used in US to measure barometric pressure and occasionally blood pressure (see mm[Hg] for unit used internationally)\",\"m[Hg].[in_i]/m\",\"M[HG].[IN_I]/M\",\"1\",1,false],[false,\"peripheral vascular resistance unit\",\"[PRU]\",\"[PRU]\",\"fluid resistance\",133322000000,[-4,-1,1,0,0,0,0],\"P.R.U.\",\"clinical\",false,null,null,1,false,false,0,\"peripheral vascular resistance units; peripheral resistance unit; peripheral resistance units; PRU\",\"UCUM\",\"FldResist\",\"Clinical\",\"used to assess blood flow in the capillaries; equal to 1 mmH.min/mL = 133.3 Pa·min/mL\",\"mm[Hg].s/ml\",\"MM[HG].S/ML\",\"1\",1,false],[false,\"Wood unit\",\"[wood\\'U]\",\"[WOOD\\'U]\",\"fluid resistance\",7999320000,[-4,-1,1,0,0,0,0],\"Wood U.\",\"clinical\",false,null,null,1,false,false,0,\"hybrid reference units; HRU; mmHg.min/L; vascular resistance\",\"UCUM\",\"Pres\",\"Clinical\",\"simplified unit of measurement for for measuring pulmonary vascular resistance that uses pressure; equal to mmHg.min/L\",\"mm[Hg].min/L\",\"MM[HG].MIN/L\",\"1\",1,false],[false,\"diopter (lens)\",\"[diop]\",\"[DIOP]\",\"refraction of a lens\",1,[1,0,0,0,0,0,0],\"dpt\",\"clinical\",false,null,\"inv\",1,false,false,0,\"diopters; diop; dioptre; dpt; refractive power\",\"UCUM\",\"InvLen\",\"Clinical\",\"unit of optical power of lens represented by inverse meters (m^-1)\",\"m\",\"/M\",\"1\",1,false],[false,\"prism diopter (magnifying power)\",\"[p\\'diop]\",\"[P\\'DIOP]\",\"refraction of a prism\",1,[0,0,0,1,0,0,0],\"PD\",\"clinical\",false,null,\"tanTimes100\",1,true,false,0,\"diopters; dioptres; p diops; pdiop; dpt; pdptr; Δ; cm/m; centimeter per meter; centimetre; metre\",\"UCUM\",\"Angle\",\"Clinical\",\"unit for prism correction in eyeglass prescriptions\",\"rad\",null,null,1,false],[false,\"percent of slope\",\"%[slope]\",\"%[SLOPE]\",\"slope\",0.017453292519943295,[0,0,0,1,0,0,0],\"%\",\"clinical\",false,null,\"100tan\",1,true,false,0,\"% slope; %slope; percents slopes\",\"UCUM\",\"VelFr; ElpotRatFr; VelRtoFr; AccelFr\",\"Clinical\",\"\",\"deg\",null,null,1,false],[false,\"mesh\",\"[mesh_i]\",\"[MESH_I]\",\"lineic number\",0.025400000000000002,[1,0,0,0,0,0,0],null,\"clinical\",false,null,\"inv\",1,false,false,0,\"meshes\",\"UCUM\",\"NLen (lineic number)\",\"Clinical\",\"traditional unit of length defined as the number of strands or particles per inch\",\"[in_i]\",\"/[IN_I]\",\"1\",1,false],[false,\"French (catheter gauge) \",\"[Ch]\",\"[CH]\",\"gauge of catheters\",0.0003333333333333333,[1,0,0,0,0,0,0],\"Ch\",\"clinical\",false,null,null,1,false,false,0,\"Charrières, French scales; French gauges; Fr, Fg, Ga, FR, Ch\",\"UCUM\",\"Len; Circ; Diam\",\"Clinical\",\"\",\"mm/3\",\"MM/3\",\"1\",1,false],[false,\"drop - metric (1/20 mL)\",\"[drp]\",\"[DRP]\",\"volume\",5e-8,[3,0,0,0,0,0,0],\"drp\",\"clinical\",false,null,null,1,false,false,0,\"drop dosing units; metric drops; gtt\",\"UCUM\",\"Vol\",\"Clinical\",\"standard unit used in the US and internationally for clinical medicine but note that although [drp] is defined as 1/20 milliliter, in practice, drop sizes will vary due to external factors\",\"ml/20\",\"ML/20\",\"1\",1,false],[false,\"Hounsfield unit\",\"[hnsf\\'U]\",\"[HNSF\\'U]\",\"x-ray attenuation\",1,[0,0,0,0,0,0,0],\"HF\",\"clinical\",false,null,null,1,false,false,0,\"HU; units\",\"UCUM\",\"\",\"Clinical\",\"used to measure X-ray attenuation, especially in CT scans.\",\"1\",\"1\",\"1\",1,false],[false,\"Metabolic Equivalent of Task \",\"[MET]\",\"[MET]\",\"metabolic cost of physical activity\",5.833333333333334e-11,[3,-1,-1,0,0,0,0],\"MET\",\"clinical\",false,null,null,1,false,false,0,\"metabolic equivalents\",\"UCUM\",\"RelEngRat\",\"Clinical\",\"unit used to measure rate of energy expenditure per power in treadmill and other functional tests\",\"mL/min/kg\",\"ML/MIN/KG\",\"3.5\",3.5,false],[false,\"homeopathic potency of decimal series (retired)\",\"[hp\\'_X]\",\"[HP\\'_X]\",\"homeopathic potency (retired)\",1,[0,0,0,0,0,0,0],\"X\",\"clinical\",false,null,\"hpX\",1,true,false,0,null,\"UCUM\",null,null,null,\"1\",null,null,1,false],[false,\"homeopathic potency of centesimal series (retired)\",\"[hp\\'_C]\",\"[HP\\'_C]\",\"homeopathic potency (retired)\",1,[0,0,0,0,0,0,0],\"C\",\"clinical\",false,null,\"hpC\",1,true,false,0,null,\"UCUM\",null,null,null,\"1\",null,null,1,false],[false,\"homeopathic potency of millesimal series (retired)\",\"[hp\\'_M]\",\"[HP\\'_M]\",\"homeopathic potency (retired)\",1,[0,0,0,0,0,0,0],\"M\",\"clinical\",false,null,\"hpM\",1,true,false,0,null,\"UCUM\",null,null,null,\"1\",null,null,1,false],[false,\"homeopathic potency of quintamillesimal series (retired)\",\"[hp\\'_Q]\",\"[HP\\'_Q]\",\"homeopathic potency (retired)\",1,[0,0,0,0,0,0,0],\"Q\",\"clinical\",false,null,\"hpQ\",1,true,false,0,null,\"UCUM\",null,null,null,\"1\",null,null,1,false],[false,\"homeopathic potency of decimal hahnemannian series\",\"[hp_X]\",\"[HP_X]\",\"homeopathic potency (Hahnemann)\",1,[0,0,0,0,0,0,0],\"X\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of centesimal hahnemannian series\",\"[hp_C]\",\"[HP_C]\",\"homeopathic potency (Hahnemann)\",1,[0,0,0,0,0,0,0],\"C\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of millesimal hahnemannian series\",\"[hp_M]\",\"[HP_M]\",\"homeopathic potency (Hahnemann)\",1,[0,0,0,0,0,0,0],\"M\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of quintamillesimal hahnemannian series\",\"[hp_Q]\",\"[HP_Q]\",\"homeopathic potency (Hahnemann)\",1,[0,0,0,0,0,0,0],\"Q\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of decimal korsakovian series\",\"[kp_X]\",\"[KP_X]\",\"homeopathic potency (Korsakov)\",1,[0,0,0,0,0,0,0],\"X\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of centesimal korsakovian series\",\"[kp_C]\",\"[KP_C]\",\"homeopathic potency (Korsakov)\",1,[0,0,0,0,0,0,0],\"C\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of millesimal korsakovian series\",\"[kp_M]\",\"[KP_M]\",\"homeopathic potency (Korsakov)\",1,[0,0,0,0,0,0,0],\"M\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"homeopathic potency of quintamillesimal korsakovian series\",\"[kp_Q]\",\"[KP_Q]\",\"homeopathic potency (Korsakov)\",1,[0,0,0,0,0,0,0],\"Q\",\"clinical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"equivalent\",\"eq\",\"EQ\",\"amount of substance\",6.0221367e+23,[0,0,0,0,0,0,0],\"eq\",\"chemical\",true,null,null,1,false,false,1,\"equivalents\",\"UCUM\",\"Sub\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"osmole\",\"osm\",\"OSM\",\"amount of substance (dissolved particles)\",6.0221367e+23,[0,0,0,0,0,0,0],\"osm\",\"chemical\",true,null,null,1,false,false,1,\"osmoles; osmols\",\"UCUM\",\"Osmol\",\"Clinical\",\"the number of moles of solute that contribute to the osmotic pressure of a solution\",\"mol\",\"MOL\",\"1\",1,false],[false,\"pH\",\"[pH]\",\"[PH]\",\"acidity\",6.0221366999999994e+26,[-3,0,0,0,0,0,0],\"pH\",\"chemical\",false,null,\"pH\",1,true,false,0,\"pH scale\",\"UCUM\",\"LogCnc\",\"Clinical\",\"Log concentration of H+\",\"mol/l\",null,null,1,false],[false,\"gram percent\",\"g%\",\"G%\",\"mass concentration\",10000,[-3,0,1,0,0,0,0],\"g%\",\"chemical\",true,null,null,1,false,false,0,\"gram %; gram%; grams per deciliter; g/dL; gm per dL; gram percents\",\"UCUM\",\"MCnc\",\"Clinical\",\"equivalent to unit gram per deciliter (g/dL), a unit often used in medical tests to represent solution concentrations\",\"g/dl\",\"G/DL\",\"1\",1,false],[false,\"Svedberg unit\",\"[S]\",\"[S]\",\"sedimentation coefficient\",1e-13,[0,1,0,0,0,0,0],\"S\",\"chemical\",false,null,null,1,false,false,0,\"Sv; 10^-13 seconds; 100 fs; 100 femtoseconds\",\"UCUM\",\"Time\",\"Clinical\",\"unit of time used in measuring particle\\'s sedimentation rate, usually after centrifugation. \",\"s\",\"10*-13.S\",\"1\",1e-13,false],[false,\"high power field (microscope)\",\"[HPF]\",\"[HPF]\",\"view area in microscope\",1,[0,0,0,0,0,0,0],\"HPF\",\"chemical\",false,null,null,1,false,false,0,\"HPF\",\"UCUM\",\"Area\",\"Clinical\",\"area visible under the maximum magnification power of the objective in microscopy (usually 400x)\\\\n\",\"1\",\"1\",\"1\",1,false],[false,\"low power field (microscope)\",\"[LPF]\",\"[LPF]\",\"view area in microscope\",1,[0,0,0,0,0,0,0],\"LPF\",\"chemical\",false,null,null,1,false,false,0,\"LPF; fields\",\"UCUM\",\"Area\",\"Clinical\",\"area visible under the low magnification of the objective in microscopy (usually 100 x)\\\\n\",\"1\",\"1\",\"100\",100,false],[false,\"katal\",\"kat\",\"KAT\",\"catalytic activity\",6.0221367e+23,[0,-1,0,0,0,0,0],\"kat\",\"chemical\",true,null,null,1,false,false,1,\"mol/secs; moles per second; mol*sec-1; mol*s-1; mol.s-1; katals; catalytic activity; enzymatic; enzyme units; activities\",\"UCUM\",\"CAct\",\"Clinical\",\"kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.\",\"mol/s\",\"MOL/S\",\"1\",1,false],[false,\"enzyme unit\",\"U\",\"U\",\"catalytic activity\",10036894500000000,[0,-1,0,0,0,0,0],\"U\",\"chemical\",true,null,null,1,false,false,1,\"micromoles per minute; umol/min; umol per minute; umol min-1; enzymatic activity; enzyme activity\",\"UCUM\",\"CAct\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"international unit - arbitrary\",\"[iU]\",\"[IU]\",\"arbitrary\",1,[0,0,0,0,0,0,0],\"IU\",\"chemical\",true,null,null,1,false,true,0,\"international units; IE; F2\",\"UCUM\",\"Arb\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"1\",\"1\",\"1\",1,false],[false,\"international unit - arbitrary\",\"[IU]\",\"[IU]\",\"arbitrary\",1,[0,0,0,0,0,0,0],\"i.U.\",\"chemical\",true,null,null,1,false,true,0,\"international units; IE; F2\",\"UCUM\",\"Arb\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"arbitary unit\",\"[arb\\'U]\",\"[ARB\\'U]\",\"arbitrary\",1,[0,0,0,0,0,0,0],\"arb. U\",\"chemical\",false,null,null,1,false,true,0,\"arbitary units; arb units; arbU\",\"UCUM\",\"Arb\",\"Clinical\",\"relative unit of measurement to show the ratio of test measurement to reference measurement\",\"1\",\"1\",\"1\",1,false],[false,\"United States Pharmacopeia unit\",\"[USP\\'U]\",\"[USP\\'U]\",\"arbitrary\",1,[0,0,0,0,0,0,0],\"U.S.P.\",\"chemical\",false,null,null,1,false,true,0,\"USP U; USP\\'U\",\"UCUM\",\"Arb\",\"Clinical\",\"a dose unit to express potency of drugs and vitamins defined by the United States Pharmacopoeia; usually 1 USP = 1 IU\",\"1\",\"1\",\"1\",1,false],[false,\"GPL unit\",\"[GPL\\'U]\",\"[GPL\\'U]\",\"biologic activity of anticardiolipin IgG\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"GPL Units; GPL U; IgG anticardiolipin units; IgG Phospholipid\",\"UCUM\",\"ACnc; AMass\",\"Clinical\",\"Units for an antiphospholipid test\",\"1\",\"1\",\"1\",1,false],[false,\"MPL unit\",\"[MPL\\'U]\",\"[MPL\\'U]\",\"biologic activity of anticardiolipin IgM\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"MPL units; MPL U; MPL\\'U; IgM anticardiolipin units; IgM Phospholipid Units \",\"UCUM\",\"ACnc\",\"Clinical\",\"units for antiphospholipid test\",\"1\",\"1\",\"1\",1,false],[false,\"APL unit\",\"[APL\\'U]\",\"[APL\\'U]\",\"biologic activity of anticardiolipin IgA\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"APL units; APL U; IgA anticardiolipin; IgA Phospholipid; biologic activity of\",\"UCUM\",\"AMass; ACnc\",\"Clinical\",\"Units for an anti phospholipid syndrome test\",\"1\",\"1\",\"1\",1,false],[false,\"Bethesda unit\",\"[beth\\'U]\",\"[BETH\\'U]\",\"biologic activity of factor VIII inhibitor\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"BU\",\"UCUM\",\"ACnc\",\"Clinical\",\"measures of blood coagulation inhibitior for many blood factors\",\"1\",\"1\",\"1\",1,false],[false,\"anti factor Xa unit\",\"[anti\\'Xa\\'U]\",\"[ANTI\\'XA\\'U]\",\"biologic activity of factor Xa inhibitor (heparin)\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"units\",\"UCUM\",\"ACnc\",\"Clinical\",\"[anti\\'Xa\\'U] unit is equivalent to and can be converted to IU/mL. \",\"1\",\"1\",\"1\",1,false],[false,\"Todd unit\",\"[todd\\'U]\",\"[TODD\\'U]\",\"biologic activity antistreptolysin O\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"units\",\"UCUM\",\"InvThres; RtoThres\",\"Clinical\",\"the unit for the results of the testing for antistreptolysin O (ASO)\",\"1\",\"1\",\"1\",1,false],[false,\"Dye unit\",\"[dye\\'U]\",\"[DYE\\'U]\",\"biologic activity of amylase\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"units\",\"UCUM\",\"CCnc\",\"Obsolete\",\"equivalent to the Somogyi unit, which is an enzyme unit for amylase but better to use U, the standard enzyme unit for measuring catalytic activity\",\"1\",\"1\",\"1\",1,false],[false,\"Somogyi unit\",\"[smgy\\'U]\",\"[SMGY\\'U]\",\"biologic activity of amylase\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"Somogyi units; smgy U\",\"UCUM\",\"CAct\",\"Clinical\",\"measures the enzymatic activity of amylase in blood serum - better to use base units mg/mL \",\"1\",\"1\",\"1\",1,false],[false,\"Bodansky unit\",\"[bdsk\\'U]\",\"[BDSK\\'U]\",\"biologic activity of phosphatase\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"\",\"UCUM\",\"ACnc\",\"Obsolete\",\"Enzyme unit specific to alkaline phosphatase - better to use standard enzyme unit of U\",\"1\",\"1\",\"1\",1,false],[false,\"King-Armstrong unit\",\"[ka\\'U]\",\"[KA\\'U]\",\"biologic activity of phosphatase\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"King-Armstrong Units; King units\",\"UCUM\",\"AMass\",\"Obsolete\",\"enzyme units for acid phosphatase - better to use enzyme unit [U]\",\"1\",\"1\",\"1\",1,false],[false,\"Kunkel unit\",\"[knk\\'U]\",\"[KNK\\'U]\",\"arbitrary biologic activity\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,null,\"UCUM\",null,null,null,\"1\",\"1\",\"1\",1,false],[false,\"Mac Lagan unit\",\"[mclg\\'U]\",\"[MCLG\\'U]\",\"arbitrary biologic activity\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"galactose index; galactose tolerance test; thymol turbidity test unit; mclg U; units; indexes\",\"UCUM\",\"ACnc\",\"Obsolete\",\"unit for liver tests - previously used in thymol turbidity tests for liver disease diagnoses, and now is sometimes referred to in the oral galactose tolerance test\",\"1\",\"1\",\"1\",1,false],[false,\"tuberculin unit\",\"[tb\\'U]\",\"[TB\\'U]\",\"biologic activity of tuberculin\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"TU; units\",\"UCUM\",\"Arb\",\"Clinical\",\"amount of tuberculin antigen -usually in reference to a TB skin test \",\"1\",\"1\",\"1\",1,false],[false,\"50% cell culture infectious dose\",\"[CCID_50]\",\"[CCID_50]\",\"biologic activity (infectivity) of an infectious agent preparation\",1,[0,0,0,0,0,0,0],\"CCID50\",\"chemical\",false,null,null,1,false,true,0,\"CCID50; 50% cell culture infective doses\",\"UCUM\",\"NumThres\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"50% tissue culture infectious dose\",\"[TCID_50]\",\"[TCID_50]\",\"biologic activity (infectivity) of an infectious agent preparation\",1,[0,0,0,0,0,0,0],\"TCID50\",\"chemical\",false,null,null,1,false,true,0,\"TCID50; 50% tissue culture infective dose\",\"UCUM\",\"NumThres\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"50% embryo infectious dose\",\"[EID_50]\",\"[EID_50]\",\"biologic activity (infectivity) of an infectious agent preparation\",1,[0,0,0,0,0,0,0],\"EID50\",\"chemical\",false,null,null,1,false,true,0,\"EID50; 50% embryo infective doses; EID50 Egg Infective Dosage\",\"UCUM\",\"thresNum\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"plaque forming units\",\"[PFU]\",\"[PFU]\",\"amount of an infectious agent\",1,[0,0,0,0,0,0,0],\"PFU\",\"chemical\",false,null,null,1,false,true,0,\"PFU\",\"UCUM\",\"ACnc\",\"Clinical\",\"tests usually report unit as number of PFU per unit volume\",\"1\",\"1\",\"1\",1,false],[false,\"focus forming units (cells)\",\"[FFU]\",\"[FFU]\",\"amount of an infectious agent\",1,[0,0,0,0,0,0,0],\"FFU\",\"chemical\",false,null,null,1,false,true,0,\"FFU\",\"UCUM\",\"EntNum\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"colony forming units\",\"[CFU]\",\"[CFU]\",\"amount of a proliferating organism\",1,[0,0,0,0,0,0,0],\"CFU\",\"chemical\",false,null,null,1,false,true,0,\"CFU\",\"UCUM\",\"Num\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"index of reactivity (allergen)\",\"[IR]\",\"[IR]\",\"amount of an allergen callibrated through in-vivo testing using the Stallergenes® method.\",1,[0,0,0,0,0,0,0],\"IR\",\"chemical\",false,null,null,1,false,true,0,\"IR; indexes\",\"UCUM\",\"Acnc\",\"Clinical\",\"amount of an allergen callibrated through in-vivo testing using the Stallergenes method. Usually reported in tests as IR/mL\",\"1\",\"1\",\"1\",1,false],[false,\"bioequivalent allergen unit\",\"[BAU]\",\"[BAU]\",\"amount of an allergen callibrated through in-vivo testing based on the ID50EAL method of (intradermal dilution for 50mm sum of erythema diameters\",1,[0,0,0,0,0,0,0],\"BAU\",\"chemical\",false,null,null,1,false,true,0,\"BAU; Bioequivalent Allergy Units; bioequivalent allergen units\",\"UCUM\",\"Arb\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"allergy unit\",\"[AU]\",\"[AU]\",\"procedure defined amount of an allergen using some reference standard\",1,[0,0,0,0,0,0,0],\"AU\",\"chemical\",false,null,null,1,false,true,0,\"allergy units; allergen units; AU\",\"UCUM\",\"Arb\",\"Clinical\",\"Most standard test allergy units are reported as [IU] or as %. \",\"1\",\"1\",\"1\",1,false],[false,\"allergen unit for Ambrosia artemisiifolia\",\"[Amb\\'a\\'1\\'U]\",\"[AMB\\'A\\'1\\'U]\",\"procedure defined amount of the major allergen of ragweed.\",1,[0,0,0,0,0,0,0],\"Amb a 1 U\",\"chemical\",false,null,null,1,false,true,0,\"Amb a 1 unit; Antigen E; AgE U; allergen units\",\"UCUM\",\"Arb\",\"Clinical\",\"Amb a 1 is the major allergen in short ragweed, and can be converted Bioequivalent allergen units (BAU) where 350 Amb a 1 U/mL = 100,000 BAU/mL\",\"1\",\"1\",\"1\",1,false],[false,\"protein nitrogen unit (allergen testing)\",\"[PNU]\",\"[PNU]\",\"procedure defined amount of a protein substance\",1,[0,0,0,0,0,0,0],\"PNU\",\"chemical\",false,null,null,1,false,true,0,\"protein nitrogen units; PNU\",\"UCUM\",\"Mass\",\"Clinical\",\"defined as 0.01 ug of phosphotungstic acid-precipitable protein nitrogen. Being replaced by bioequivalent allergy units (BAU).\",\"1\",\"1\",\"1\",1,false],[false,\"Limit of flocculation\",\"[Lf]\",\"[LF]\",\"procedure defined amount of an antigen substance\",1,[0,0,0,0,0,0,0],\"Lf\",\"chemical\",false,null,null,1,false,true,0,\"Lf doses\",\"UCUM\",\"Arb\",\"Clinical\",\"the antigen content forming 1:1 ratio against 1 unit of antitoxin\",\"1\",\"1\",\"1\",1,false],[false,\"D-antigen unit (polio)\",\"[D\\'ag\\'U]\",\"[D\\'AG\\'U]\",\"procedure defined amount of a poliomyelitis d-antigen substance\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"DAgU; units\",\"UCUM\",\"Acnc\",\"Clinical\",\"unit of potency of poliovirus vaccine used for poliomyelitis prevention reported as D antigen units/mL. The unit is poliovirus type-specific.\",\"1\",\"1\",\"1\",1,false],[false,\"fibrinogen equivalent units\",\"[FEU]\",\"[FEU]\",\"amount of fibrinogen broken down into the measured d-dimers\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"FEU\",\"UCUM\",\"MCnc\",\"Clinical\",\"Note both the FEU and DDU units are used to report D-dimer measurements. 1 DDU = 1/2 FFU\",\"1\",\"1\",\"1\",1,false],[false,\"ELISA unit\",\"[ELU]\",\"[ELU]\",\"arbitrary ELISA unit\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"Enzyme-Linked Immunosorbent Assay Units; ELU; EL. U\",\"UCUM\",\"ACnc\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"Ehrlich units (urobilinogen)\",\"[EU]\",\"[EU]\",\"Ehrlich unit\",1,[0,0,0,0,0,0,0],null,\"chemical\",false,null,null,1,false,true,0,\"EU/dL; mg{urobilinogen}/dL\",\"UCUM\",\"ACnc\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"neper\",\"Np\",\"NEP\",\"level\",1,[0,0,0,0,0,0,0],\"Np\",\"levels\",true,null,\"ln\",1,true,false,0,\"nepers\",\"UCUM\",\"LogRto\",\"Clinical\",\"logarithmic unit for ratios of measurements of physical field and power quantities, such as gain and loss of electronic signals\",\"1\",null,null,1,false],[false,\"bel\",\"B\",\"B\",\"level\",1,[0,0,0,0,0,0,0],\"B\",\"levels\",true,null,\"lg\",1,true,false,0,\"bels\",\"UCUM\",\"LogRto\",\"Clinical\",\"Logarithm of the ratio of power- or field-type quantities; usually expressed in decibels \",\"1\",null,null,1,false],[false,\"bel sound pressure\",\"B[SPL]\",\"B[SPL]\",\"pressure level\",0.02,[-1,-2,1,0,0,0,0],\"B(SPL)\",\"levels\",true,null,\"lgTimes2\",1,true,false,0,\"bel SPL; B SPL; sound pressure bels\",\"UCUM\",\"LogRto\",\"Clinical\",\"used to measure sound level in acoustics\",\"Pa\",null,null,0.00002,false],[false,\"bel volt\",\"B[V]\",\"B[V]\",\"electric potential level\",1000,[2,-2,1,0,0,-1,0],\"B(V)\",\"levels\",true,null,\"lgTimes2\",1,true,false,0,\"bel V; B V; volts bels\",\"UCUM\",\"LogRtoElp\",\"Clinical\",\"used to express power gain in electrical circuits\",\"V\",null,null,1,false],[false,\"bel millivolt\",\"B[mV]\",\"B[MV]\",\"electric potential level\",1,[2,-2,1,0,0,-1,0],\"B(mV)\",\"levels\",true,null,\"lgTimes2\",1,true,false,0,\"bel mV; B mV; millivolt bels; 10^-3V bels; 10*-3V \",\"UCUM\",\"LogRtoElp\",\"Clinical\",\"used to express power gain in electrical circuits\",\"mV\",null,null,1,false],[false,\"bel microvolt\",\"B[uV]\",\"B[UV]\",\"electric potential level\",0.001,[2,-2,1,0,0,-1,0],\"B(μV)\",\"levels\",true,null,\"lgTimes2\",1,true,false,0,\"bel uV; B uV; microvolts bels; 10^-6V bel; 10*-6V bel\",\"UCUM\",\"LogRto\",\"Clinical\",\"used to express power gain in electrical circuits\",\"uV\",null,null,1,false],[false,\"bel 10 nanovolt\",\"B[10.nV]\",\"B[10.NV]\",\"electric potential level\",0.000010000000000000003,[2,-2,1,0,0,-1,0],\"B(10 nV)\",\"levels\",true,null,\"lgTimes2\",1,true,false,0,\"bel 10 nV; B 10 nV; 10 nanovolts bels\",\"UCUM\",\"LogRtoElp\",\"Clinical\",\"used to express power gain in electrical circuits\",\"nV\",null,null,10,false],[false,\"bel watt\",\"B[W]\",\"B[W]\",\"power level\",1000,[2,-3,1,0,0,0,0],\"B(W)\",\"levels\",true,null,\"lg\",1,true,false,0,\"bel W; b W; b Watt; Watts bels\",\"UCUM\",\"LogRto\",\"Clinical\",\"used to express power\",\"W\",null,null,1,false],[false,\"bel kilowatt\",\"B[kW]\",\"B[KW]\",\"power level\",1000000,[2,-3,1,0,0,0,0],\"B(kW)\",\"levels\",true,null,\"lg\",1,true,false,0,\"bel kW; B kW; kilowatt bel; kW bel; kW B\",\"UCUM\",\"LogRto\",\"Clinical\",\"used to express power\",\"kW\",null,null,1,false],[false,\"stere\",\"st\",\"STR\",\"volume\",1,[3,0,0,0,0,0,0],\"st\",\"misc\",true,null,null,1,false,false,0,\"stère; m3; cubic meter; m^3; meters cubed; metre\",\"UCUM\",\"Vol\",\"Nonclinical\",\"equal to one cubic meter, usually used for measuring firewoord\",\"m3\",\"M3\",\"1\",1,false],[false,\"Ångström\",\"Ao\",\"AO\",\"length\",1.0000000000000002e-10,[1,0,0,0,0,0,0],\"Å\",\"misc\",false,null,null,1,false,false,0,\"Å; Angstroms; Ao; Ångströms\",\"UCUM\",\"Len\",\"Clinical\",\"equal to 10^-10 meters; used to express wave lengths and atom scaled differences \",\"nm\",\"NM\",\"0.1\",0.1,false],[false,\"barn\",\"b\",\"BRN\",\"action area\",9.999999999999999e-29,[2,0,0,0,0,0,0],\"b\",\"misc\",false,null,null,1,false,false,0,\"barns\",\"UCUM\",\"Area\",\"Clinical\",\"used in high-energy physics to express cross-sectional areas\",\"fm2\",\"FM2\",\"100\",100,false],[false,\"technical atmosphere\",\"att\",\"ATT\",\"pressure\",98066499.99999999,[-1,-2,1,0,0,0,0],\"at\",\"misc\",false,null,null,1,false,false,0,\"at; tech atm; tech atmosphere; kgf/cm2; atms; atmospheres\",\"UCUM\",\"Pres\",\"Obsolete\",\"non-SI unit of pressure equal to one kilogram-force per square centimeter\",\"kgf/cm2\",\"KGF/CM2\",\"1\",1,false],[false,\"mho\",\"mho\",\"MHO\",\"electric conductance\",0.001,[-2,1,-1,0,0,2,0],\"mho\",\"misc\",true,null,null,1,false,false,0,\"siemens; ohm reciprocals; Ω^−1; Ω-1 \",\"UCUM\",\"\",\"Obsolete\",\"unit of electric conductance (the inverse of electrical resistance) equal to ohm^-1\",\"S\",\"S\",\"1\",1,false],[false,\"pound per square inch\",\"[psi]\",\"[PSI]\",\"pressure\",6894757.293168359,[-1,-2,1,0,0,0,0],\"psi\",\"misc\",false,null,null,1,false,false,0,\"psi; lb/in2; lb per in2\",\"UCUM\",\"Pres\",\"Clinical\",\"\",\"[lbf_av]/[in_i]2\",\"[LBF_AV]/[IN_I]2\",\"1\",1,false],[false,\"circle - plane angle\",\"circ\",\"CIRC\",\"plane angle\",6.283185307179586,[0,0,0,1,0,0,0],\"circ\",\"misc\",false,null,null,1,false,false,0,\"angles; circles\",\"UCUM\",\"Angle\",\"Clinical\",\"\",\"[pi].rad\",\"[PI].RAD\",\"2\",2,false],[false,\"spere - solid angle\",\"sph\",\"SPH\",\"solid angle\",12.566370614359172,[0,0,0,2,0,0,0],\"sph\",\"misc\",false,null,null,1,false,false,0,\"speres\",\"UCUM\",\"Angle\",\"Clinical\",\"equal to the solid angle of an entire sphere = 4πsr (sr = steradian) \",\"[pi].sr\",\"[PI].SR\",\"4\",4,false],[false,\"metric carat\",\"[car_m]\",\"[CAR_M]\",\"mass\",0.2,[0,0,1,0,0,0,0],\"ctm\",\"misc\",false,null,null,1,false,false,0,\"carats; ct; car m\",\"UCUM\",\"Mass\",\"Nonclinical\",\"unit of mass for gemstones\",\"g\",\"G\",\"2e-1\",0.2,false],[false,\"carat of gold alloys\",\"[car_Au]\",\"[CAR_AU]\",\"mass fraction\",0.041666666666666664,[0,0,0,0,0,0,0],\"ctAu\",\"misc\",false,null,null,1,false,false,0,\"karats; k; kt; car au; carats\",\"UCUM\",\"MFr\",\"Nonclinical\",\"unit of purity for gold alloys\",\"/24\",\"/24\",\"1\",1,false],[false,\"Smoot\",\"[smoot]\",\"[SMOOT]\",\"length\",1.7018000000000002,[1,0,0,0,0,0,0],null,\"misc\",false,null,null,1,false,false,0,\"\",\"UCUM\",\"Len\",\"Nonclinical\",\"prank unit of length from MIT\",\"[in_i]\",\"[IN_I]\",\"67\",67,false],[false,\"meter per square seconds per square root of hertz\",\"[m/s2/Hz^(1/2)]\",\"[M/S2/HZ^(1/2)]\",\"amplitude spectral density\",1,[2,-3,0,0,0,0,0],null,\"misc\",false,null,\"sqrt\",1,true,false,0,\"m/s2/(Hz^.5); m/s2/(Hz^(1/2)); m per s2 per Hz^1/2\",\"UCUM\",\"\",\"Constant\",\"measures amplitude spectral density, and is equal to the square root of power spectral density\\\\n \",\"m2/s4/Hz\",null,null,1,false],[false,\"bit - logarithmic\",\"bit_s\",\"BIT_S\",\"amount of information\",1,[0,0,0,0,0,0,0],\"bits\",\"infotech\",false,null,\"ld\",1,true,false,0,\"bit-s; bit s; bit logarithmic\",\"UCUM\",\"LogA\",\"Nonclinical\",\"defined as the log base 2 of the number of distinct signals; cannot practically be used to express more than 1000 bits\\\\n\\\\nIn information theory, the definition of the amount of self-information and information entropy is often expressed with the binary logarithm (log base 2)\",\"1\",null,null,1,false],[false,\"bit\",\"bit\",\"BIT\",\"amount of information\",1,[0,0,0,0,0,0,0],\"bit\",\"infotech\",true,null,null,1,false,false,0,\"bits\",\"UCUM\",\"\",\"Nonclinical\",\"dimensionless information unit of 1 used in computing and digital communications\",\"1\",\"1\",\"1\",1,false],[false,\"byte\",\"By\",\"BY\",\"amount of information\",8,[0,0,0,0,0,0,0],\"B\",\"infotech\",true,null,null,1,false,false,0,\"bytes\",\"UCUM\",\"\",\"Nonclinical\",\"equal to 8 bits\",\"bit\",\"bit\",\"8\",8,false],[false,\"baud\",\"Bd\",\"BD\",\"signal transmission rate\",1,[0,1,0,0,0,0,0],\"Bd\",\"infotech\",true,null,\"inv\",1,false,false,0,\"Bd; bauds\",\"UCUM\",\"Freq\",\"Nonclinical\",\"unit to express rate in symbols per second or pulses per second. \",\"s\",\"/s\",\"1\",1,false],[false,\"per twelve hour\",\"/(12.h)\",\"/HR\",\"\",0.000023148148148148147,[0,-1,0,0,0,0,0],\"/h\",null,false,null,null,1,false,false,0,\"per 12 hours; 12hrs; 12 hrs; /12hrs\",\"LOINC\",\"Rat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per arbitrary unit\",\"/[arb\\'U]\",\"/[ARB\\'U]\",\"\",1,[0,0,0,0,0,0,0],\"/arb/ U\",null,false,null,null,1,false,true,0,\"/arbU\",\"LOINC\",\"InvA \",\"Clinical\",\"\",null,null,null,null,false],[false,\"per high power field\",\"/[HPF]\",\"/[HPF]\",\"\",1,[0,0,0,0,0,0,0],\"/HPF\",null,false,null,null,1,false,false,0,\"/HPF; per HPF\",\"LOINC\",\"Naric\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per international unit\",\"/[IU]\",\"/[IU]\",\"\",1,[0,0,0,0,0,0,0],\"/i/U.\",null,false,null,null,1,false,true,0,\"international units; /IU; per IU\",\"LOINC\",\"InvA\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",null,null,null,null,false],[false,\"per low power field\",\"/[LPF]\",\"/[LPF]\",\"\",1,[0,0,0,0,0,0,0],\"/LPF\",null,false,null,null,1,false,false,0,\"/LPF; per LPF\",\"LOINC\",\"Naric\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per 10 billion \",\"/10*10\",\"/10*10\",\"\",1e-10,[0,0,0,0,0,0,0],\"/1010<.sup>\",null,false,null,null,1,false,false,0,\"/10^10; per 10*10\",\"LOINC\",\"NFr\",\"Clinical\",\"used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator\",null,null,null,null,false],[false,\"per trillion \",\"/10*12\",\"/10*12\",\"\",1e-12,[0,0,0,0,0,0,0],\"/1012<.sup>\",null,false,null,null,1,false,false,0,\"/10^12; per 10*12\",\"LOINC\",\"NFr\",\"Clinical\",\"used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator\",null,null,null,null,false],[false,\"per thousand\",\"/10*3\",\"/10*3\",\"\",0.001,[0,0,0,0,0,0,0],\"/103<.sup>\",null,false,null,null,1,false,false,0,\"/10^3; per 10*3\",\"LOINC\",\"NFr\",\"Clinical\",\"used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator\",null,null,null,null,false],[false,\"per million\",\"/10*6\",\"/10*6\",\"\",0.000001,[0,0,0,0,0,0,0],\"/106<.sup>\",null,false,null,null,1,false,false,0,\"/10^6; per 10*6;\",\"LOINC\",\"NFr\",\"Clinical\",\"used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator\",null,null,null,null,false],[false,\"per billion\",\"/10*9\",\"/10*9\",\"\",1e-9,[0,0,0,0,0,0,0],\"/109<.sup>\",null,false,null,null,1,false,false,0,\"/10^9; per 10*9\",\"LOINC\",\"NFr\",\"Clinical\",\"used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator\",null,null,null,null,false],[false,\"per 100\",\"/100\",\"\",\"\",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"per hundred; 10^2; 10*2\",\"LOINC\",\"NFr\",\"Clinical\",\"used for counting entities, e.g. blood cells; usually these kinds of terms have numerators such as moles or milligrams, and counting that amount per the number in the denominator\",null,null,null,null,false],[false,\"per 100 cells\",\"/100{cells}\",\"\",\"\",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"/100 cells; /100cells; per hundred\",\"LOINC\",\"EntMass; EntNum; NFr\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per 100 neutrophils\",\"/100{neutrophils}\",\"\",\"\",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"/100 neutrophils; /100neutrophils; per hundred\",\"LOINC\",\"EntMass; EntNum; NFr\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per 100 spermatozoa\",\"/100{spermatozoa}\",\"\",\"\",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"/100 spermatozoa; /100spermatozoa; per hundred\",\"LOINC\",\"NFr\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per 100 white blood cells\",\"/100{WBCs}\",\"\",\"\",0.01,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"/100 WBCs; /100WBCs; per hundred\",\"LOINC\",\"Ratio; NFr\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per year\",\"/a\",\"/ANN\",\"\",3.168808781402895e-8,[0,-1,0,0,0,0,0],\"/a\",null,false,null,null,1,false,false,0,\"/Years; /yrs; yearly\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per centimeter of water\",\"/cm[H2O]\",\"/CM[H2O]\",\"\",0.000010197162129779282,[1,2,-1,0,0,0,0],\"/cm HO2<.r>\",null,false,null,null,1,false,false,0,\"/cmH2O; /cm H2O; centimeters; centimetres\",\"LOINC\",\"InvPress\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per day\",\"/d\",\"/D\",\"\",0.000011574074074074073,[0,-1,0,0,0,0,0],\"/d\",null,false,null,null,1,false,false,0,\"/dy; per day\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per deciliter\",\"/dL\",\"/DL\",\"\",10000,[-3,0,0,0,0,0,0],\"/dL\",null,false,null,null,1,false,false,0,\"per dL; /deciliter; decilitre\",\"LOINC\",\"NCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per gram\",\"/g\",\"/G\",\"\",1,[0,0,-1,0,0,0,0],\"/g\",null,false,null,null,1,false,false,0,\"/gm; /gram; per g\",\"LOINC\",\"NCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per hour\",\"/h\",\"/HR\",\"\",0.0002777777777777778,[0,-1,0,0,0,0,0],\"/h\",null,false,null,null,1,false,false,0,\"/hr; /hour; per hr\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per kilogram\",\"/kg\",\"/KG\",\"\",0.001,[0,0,-1,0,0,0,0],\"/kg\",null,false,null,null,1,false,false,0,\"per kg; per kilogram\",\"LOINC\",\"NCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per liter\",\"/L\",\"/L\",\"\",1000,[-3,0,0,0,0,0,0],\"/L\",null,false,null,null,1,false,false,0,\"/liter; litre\",\"LOINC\",\"NCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per square meter\",\"/m2\",\"/M2\",\"\",1,[-2,0,0,0,0,0,0],\"/m2<.sup>\",null,false,null,null,1,false,false,0,\"/m^2; /m*2; /sq. m; per square meter; meter squared; metre\",\"LOINC\",\"Naric\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per cubic meter\",\"/m3\",\"/M3\",\"\",1,[-3,0,0,0,0,0,0],\"/m3<.sup>\",null,false,null,null,1,false,false,0,\"/m^3; /m*3; /cu. m; per cubic meter; meter cubed; per m3; metre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per milligram\",\"/mg\",\"/MG\",\"\",1000,[0,0,-1,0,0,0,0],\"/mg\",null,false,null,null,1,false,false,0,\"/milligram; per mg\",\"LOINC\",\"NCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per minute\",\"/min\",\"/MIN\",\"\",0.016666666666666666,[0,-1,0,0,0,0,0],\"/min\",null,false,null,null,1,false,false,0,\"/minute; per mins; breaths beats per minute\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per milliliter\",\"/mL\",\"/ML\",\"\",1000000,[-3,0,0,0,0,0,0],\"/mL\",null,false,null,null,1,false,false,0,\"/milliliter; per mL; millilitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per millimeter\",\"/mm\",\"/MM\",\"\",1000,[-1,0,0,0,0,0,0],\"/mm\",null,false,null,null,1,false,false,0,\"/millimeter; per mm; millimetre\",\"LOINC\",\"InvLen\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per month\",\"/mo\",\"/MO\",\"\",3.802570537683474e-7,[0,-1,0,0,0,0,0],\"/mo\",null,false,null,null,1,false,false,0,\"/month; per mo; monthly; month\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per second\",\"/s\",\"/S\",\"\",1,[0,-1,0,0,0,0,0],\"/s\",null,false,null,null,1,false,false,0,\"/second; /sec; per sec; frequency; Hertz; Herz; Hz; becquerels; Bq; s-1; s^-1\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per enzyme unit\",\"/U\",\"/U\",\"\",9.963241120049633e-17,[0,1,0,0,0,0,0],\"/U\",null,false,null,null,1,false,false,-1,\"/enzyme units; per U\",\"LOINC\",\"InvC; NCat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",null,null,null,null,false],[false,\"per microliter\",\"/uL\",\"/UL\",\"\",999999999.9999999,[-3,0,0,0,0,0,0],\"/μL\",null,false,null,null,1,false,false,0,\"/microliter; microlitre; /mcl; per uL\",\"LOINC\",\"ACnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"per week\",\"/wk\",\"/WK\",\"\",0.0000016534391534391535,[0,-1,0,0,0,0,0],\"/wk\",null,false,null,null,1,false,false,0,\"/week; per wk; weekly, weeks\",\"LOINC\",\"NRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"APL unit per milliliter\",\"[APL\\'U]/mL\",\"[APL\\'U]/ML\",\"biologic activity of anticardiolipin IgA\",1000000,[-3,0,0,0,0,0,0],\"/mL\",\"chemical\",false,null,null,1,false,true,0,\"APL/mL; APL\\'U/mL; APL U/mL; APL/milliliter; IgA anticardiolipin units per milliliter; IgA Phospholipid Units; millilitre; biologic activity of\",\"LOINC\",\"ACnc\",\"Clinical\",\"Units for an anti phospholipid syndrome test\",\"1\",\"1\",\"1\",1,false],[false,\"arbitrary unit per milliliter\",\"[arb\\'U]/mL\",\"[ARB\\'U]/ML\",\"arbitrary\",1000000,[-3,0,0,0,0,0,0],\"(arb. U)/mL\",\"chemical\",false,null,null,1,false,true,0,\"arb\\'U/mL; arbU/mL; arb U/mL; arbitrary units per milliliter; millilitre\",\"LOINC\",\"ACnc\",\"Clinical\",\"relative unit of measurement to show the ratio of test measurement to reference measurement\",\"1\",\"1\",\"1\",1,false],[false,\"colony forming units per liter\",\"[CFU]/L\",\"[CFU]/L\",\"amount of a proliferating organism\",1000,[-3,0,0,0,0,0,0],\"CFU/L\",\"chemical\",false,null,null,1,false,true,0,\"CFU per Liter; CFU/L\",\"LOINC\",\"NCnc\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"colony forming units per milliliter\",\"[CFU]/mL\",\"[CFU]/ML\",\"amount of a proliferating organism\",1000000,[-3,0,0,0,0,0,0],\"CFU/mL\",\"chemical\",false,null,null,1,false,true,0,\"CFU per mL; CFU/mL\",\"LOINC\",\"NCnc\",\"Clinical\",\"\",\"1\",\"1\",\"1\",1,false],[false,\"foot per foot - US\",\"[ft_us]/[ft_us]\",\"[FT_US]/[FT_US]\",\"length\",1,[0,0,0,0,0,0,0],\"(ftus)/(ftus)\",\"us-lengths\",false,null,null,1,false,false,0,\"ft/ft; ft per ft; feet per feet; visual acuity\",\"\",\"LenRto\",\"Clinical\",\"distance ratio to measure 20:20 vision\",\"m/3937\",\"M/3937\",\"1200\",1200,false],[false,\"GPL unit per milliliter\",\"[GPL\\'U]/mL\",\"[GPL\\'U]/ML\",\"biologic activity of anticardiolipin IgG\",1000000,[-3,0,0,0,0,0,0],\"/mL\",\"chemical\",false,null,null,1,false,true,0,\"GPL U/mL; GPL\\'U/mL; GPL/mL; GPL U per mL; IgG Phospholipid Units per milliliters; IgG anticardiolipin units; millilitres \",\"LOINC\",\"ACnc; AMass\",\"Clinical\",\"Units for an antiphospholipid test\",\"1\",\"1\",\"1\",1,false],[false,\"international unit per 2 hour\",\"[IU]/(2.h)\",\"[IU]/HR\",\"arbitrary\",0.0001388888888888889,[0,-1,0,0,0,0,0],\"(i.U.)/h\",\"chemical\",true,null,null,1,false,true,0,\"IU/2hrs; IU/2 hours; IU per 2 hrs; international units per 2 hours\",\"LOINC\",\"ARat\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per 24 hour\",\"[IU]/(24.h)\",\"[IU]/HR\",\"arbitrary\",0.000011574074074074073,[0,-1,0,0,0,0,0],\"(i.U.)/h\",\"chemical\",true,null,null,1,false,true,0,\"IU/24hr; IU/24 hours; IU per 24 hrs; international units per 24 hours\",\"LOINC\",\"ARat\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per day\",\"[IU]/d\",\"[IU]/D\",\"arbitrary\",0.000011574074074074073,[0,-1,0,0,0,0,0],\"(i.U.)/d\",\"chemical\",true,null,null,1,false,true,0,\"IU/dy; IU/days; IU per dys; international units per day\",\"LOINC\",\"ARat\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per deciliter\",\"[IU]/dL\",\"[IU]/DL\",\"arbitrary\",10000,[-3,0,0,0,0,0,0],\"(i.U.)/dL\",\"chemical\",true,null,null,1,false,true,0,\"IU/dL; IU per dL; international units per deciliters; decilitres\",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per gram\",\"[IU]/g\",\"[IU]/G\",\"arbitrary\",1,[0,0,-1,0,0,0,0],\"(i.U.)/g\",\"chemical\",true,null,null,1,false,true,0,\"IU/gm; IU/gram; IU per gm; IU per g; international units per gram\",\"LOINC\",\"ACnt\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per hour\",\"[IU]/h\",\"[IU]/HR\",\"arbitrary\",0.0002777777777777778,[0,-1,0,0,0,0,0],\"(i.U.)/h\",\"chemical\",true,null,null,1,false,true,0,\"IU/hrs; IU per hours; international units per hour\",\"LOINC\",\"ARat\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per kilogram\",\"[IU]/kg\",\"[IU]/KG\",\"arbitrary\",0.001,[0,0,-1,0,0,0,0],\"(i.U.)/kg\",\"chemical\",true,null,null,1,false,true,0,\"IU/kg; IU/kilogram; IU per kg; units\",\"LOINC\",\"ACnt\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per kilogram per day\",\"[IU]/kg/d\",\"([IU]/KG)/D\",\"arbitrary\",1.1574074074074074e-8,[0,-1,-1,0,0,0,0],\"((i.U.)/kg)/d\",\"chemical\",true,null,null,1,false,true,0,\"IU/kg/dy; IU/kg/day; IU/kilogram/day; IU per kg per day; units\",\"LOINC\",\"ACntRat\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per liter\",\"[IU]/L\",\"[IU]/L\",\"arbitrary\",1000,[-3,0,0,0,0,0,0],\"(i.U.)/L\",\"chemical\",true,null,null,1,false,true,0,\"IU/L; IU/liter; IU per liter; units; litre\",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per minute\",\"[IU]/min\",\"[IU]/MIN\",\"arbitrary\",0.016666666666666666,[0,-1,0,0,0,0,0],\"(i.U.)/min\",\"chemical\",true,null,null,1,false,true,0,\"IU/min; IU/minute; IU per minute; international units\",\"LOINC\",\"ARat\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"international unit per milliliter\",\"[IU]/mL\",\"[IU]/ML\",\"arbitrary\",1000000,[-3,0,0,0,0,0,0],\"(i.U.)/mL\",\"chemical\",true,null,null,1,false,true,0,\"IU/mL; IU per mL; international units per milliliter; millilitre\",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"MPL unit per milliliter\",\"[MPL\\'U]/mL\",\"[MPL\\'U]/ML\",\"biologic activity of anticardiolipin IgM\",1000000,[-3,0,0,0,0,0,0],\"/mL\",\"chemical\",false,null,null,1,false,true,0,\"MPL/mL; MPL U/mL; MPL\\'U/mL; IgM anticardiolipin units; IgM Phospholipid Units; millilitre \",\"LOINC\",\"ACnc\",\"Clinical\",\"units for antiphospholipid test\\\\n\",\"1\",\"1\",\"1\",1,false],[false,\"number per high power field\",\"{#}/[HPF]\",\"/[HPF]\",\"\",1,[0,0,0,0,0,0,0],\"/HPF\",null,false,null,null,1,false,false,0,\"#/HPF; # per HPF; number/HPF; numbers per high power field\",\"LOINC\",\"Naric\",\"Clinical\",\"\",null,null,null,null,false],[false,\"number per low power field\",\"{#}/[LPF]\",\"/[LPF]\",\"\",1,[0,0,0,0,0,0,0],\"/LPF\",null,false,null,null,1,false,false,0,\"#/LPF; # per LPF; number/LPF; numbers per low power field\",\"LOINC\",\"Naric\",\"Clinical\",\"\",null,null,null,null,false],[false,\"IgA antiphosphatidylserine unit \",\"{APS\\'U}\",\"\",\"\",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"APS Unit; Phosphatidylserine Antibody IgA Units\",\"LOINC\",\"ACnc\",\"Clinical\",\"unit for antiphospholipid test\",null,null,null,null,false],[false,\"EIA index\",\"{EIA_index}\",\"\",\"\",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"enzyme immunoassay index\",\"LOINC\",\"ACnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kaolin clotting time\",\"{KCT\\'U}\",\"\",\"\",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"KCT\",\"LOINC\",\"Time\",\"Clinical\",\"sensitive test to detect lupus anticoagulants; measured in seconds\",null,null,null,null,false],[false,\"IgM antiphosphatidylserine unit\",\"{MPS\\'U}\",\"\",\"\",1,[0,0,0,0,0,0,0],null,null,false,null,null,1,false,false,0,\"Phosphatidylserine Antibody IgM Measurement \",\"LOINC\",\"ACnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"trillion per liter\",\"10*12/L\",\"(10*12)/L\",\"number\",1000000000000000,[-3,0,0,0,0,0,0],\"(1012)/L\",\"dimless\",false,null,null,1,false,false,0,\"10^12/L; 10*12 per Liter; trillion per liter; litre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"10^3 (used for cell count)\",\"10*3\",\"10*3\",\"number\",1000,[0,0,0,0,0,0,0],\"103\",\"dimless\",false,null,null,1,false,false,0,\"10^3; thousand\",\"LOINC\",\"Num\",\"Clinical\",\"usually used for counting entities (e.g. blood cells) per volume\",\"1\",\"1\",\"10\",10,false],[false,\"thousand per liter\",\"10*3/L\",\"(10*3)/L\",\"number\",1000000,[-3,0,0,0,0,0,0],\"(103)/L\",\"dimless\",false,null,null,1,false,false,0,\"10^3/L; 10*3 per liter; litre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"thousand per milliliter\",\"10*3/mL\",\"(10*3)/ML\",\"number\",1000000000,[-3,0,0,0,0,0,0],\"(103)/mL\",\"dimless\",false,null,null,1,false,false,0,\"10^3/mL; 10*3 per mL; thousand per milliliter; millilitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"thousand per microliter\",\"10*3/uL\",\"(10*3)/UL\",\"number\",999999999999.9999,[-3,0,0,0,0,0,0],\"(103)/μL\",\"dimless\",false,null,null,1,false,false,0,\"10^3/uL; 10*3 per uL; thousand per microliter; microlitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"10 thousand per microliter\",\"10*4/uL\",\"(10*4)/UL\",\"number\",10000000000000,[-3,0,0,0,0,0,0],\"(104)/μL\",\"dimless\",false,null,null,1,false,false,0,\"10^4/uL; 10*4 per uL; microlitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"10^5 \",\"10*5\",\"10*5\",\"number\",100000,[0,0,0,0,0,0,0],\"105\",\"dimless\",false,null,null,1,false,false,0,\"one hundred thousand\",\"LOINC\",\"Num\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"10^6\",\"10*6\",\"10*6\",\"number\",1000000,[0,0,0,0,0,0,0],\"106\",\"dimless\",false,null,null,1,false,false,0,\"\",\"LOINC\",\"Num\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"million colony forming unit per liter\",\"10*6.[CFU]/L\",\"((10*6).[CFU])/L\",\"number\",1000000000,[-3,0,0,0,0,0,0],\"((106).CFU)/L\",\"dimless\",false,null,null,1,false,true,0,\"10*6 CFU/L; 10^6 CFU/L; 10^6CFU; 10^6 CFU per liter; million colony forming units; litre\",\"LOINC\",\"ACnc\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"million international unit\",\"10*6.[IU]\",\"(10*6).[IU]\",\"number\",1000000,[0,0,0,0,0,0,0],\"(106).(i.U.)\",\"dimless\",false,null,null,1,false,true,0,\"10*6 IU; 10^6 IU; international units\",\"LOINC\",\"arb\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"1\",\"1\",\"10\",10,false],[false,\"million per 24 hour\",\"10*6/(24.h)\",\"(10*6)/HR\",\"number\",11.574074074074074,[0,-1,0,0,0,0,0],\"(106)/h\",\"dimless\",false,null,null,1,false,false,0,\"10*6/24hrs; 10^6/24 hrs; 10*6 per 24 hrs; 10^6 per 24 hours\",\"LOINC\",\"NRat\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"million per kilogram\",\"10*6/kg\",\"(10*6)/KG\",\"number\",1000,[0,0,-1,0,0,0,0],\"(106)/kg\",\"dimless\",false,null,null,1,false,false,0,\"10^6/kg; 10*6 per kg; 10*6 per kilogram; millions\",\"LOINC\",\"NCnt\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"million per liter\",\"10*6/L\",\"(10*6)/L\",\"number\",1000000000,[-3,0,0,0,0,0,0],\"(106)/L\",\"dimless\",false,null,null,1,false,false,0,\"10^6/L; 10*6 per Liter; 10^6 per Liter; litre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"million per milliliter\",\"10*6/mL\",\"(10*6)/ML\",\"number\",1000000000000,[-3,0,0,0,0,0,0],\"(106)/mL\",\"dimless\",false,null,null,1,false,false,0,\"10^6/mL; 10*6 per mL; 10*6 per milliliter; millilitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"million per microliter\",\"10*6/uL\",\"(10*6)/UL\",\"number\",1000000000000000,[-3,0,0,0,0,0,0],\"(106)/μL\",\"dimless\",false,null,null,1,false,false,0,\"10^6/uL; 10^6 per uL; 10^6/mcl; 10^6 per mcl; 10^6 per microliter; microlitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"10^8\",\"10*8\",\"10*8\",\"number\",100000000,[0,0,0,0,0,0,0],\"108\",\"dimless\",false,null,null,1,false,false,0,\"100 million; one hundred million; 10^8\",\"LOINC\",\"Num\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"billion per liter\",\"10*9/L\",\"(10*9)/L\",\"number\",1000000000000,[-3,0,0,0,0,0,0],\"(109)/L\",\"dimless\",false,null,null,1,false,false,0,\"10^9/L; 10*9 per Liter; litre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"billion per milliliter\",\"10*9/mL\",\"(10*9)/ML\",\"number\",1000000000000000,[-3,0,0,0,0,0,0],\"(109)/mL\",\"dimless\",false,null,null,1,false,false,0,\"10^9/mL; 10*9 per mL; 10^9 per mL; 10*9 per milliliter; millilitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"billion per microliter\",\"10*9/uL\",\"(10*9)/UL\",\"number\",1000000000000000000,[-3,0,0,0,0,0,0],\"(109)/μL\",\"dimless\",false,null,null,1,false,false,0,\"10^9/uL; 10^9 per uL; 10^9/mcl; 10^9 per mcl; 10*9 per uL; 10*9 per mcl; 10*9/mcl; 10^9 per microliter; microlitre\",\"LOINC\",\"NCncn\",\"Clinical\",\"\",\"1\",\"1\",\"10\",10,false],[false,\"10 liter per minute per square meter\",\"10.L/(min.m2)\",\"L/(MIN.M2)\",\"\",0.00016666666666666666,[1,-1,0,0,0,0,0],\"L/(min.(m2))\",null,false,null,null,1,false,false,0,\"10 liters per minutes per square meter; 10 L per min per m2; m^2; 10 L/(min*m2); 10L/(min*m^2); litres; sq. meter; metre; meters squared\",\"LOINC\",\"ArVRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"10 liter per minute\",\"10.L/min\",\"L/MIN\",\"\",0.00016666666666666666,[3,-1,0,0,0,0,0],\"L/min\",null,false,null,null,1,false,false,0,\"10 liters per minute; 10 L per min; 10L; 10 L/min; litre\",\"LOINC\",\"VRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"10 micronewton second per centimeter to the fifth power per square meter\",\"10.uN.s/(cm5.m2)\",\"(UN.S)/(CM5.M2)\",\"\",100000000,[-6,-1,1,0,0,0,0],\"(μN.s)/(cm5).(m2)\",null,false,null,null,1,false,false,0,\"dyne seconds per centimeter5 and square meter; dyn.s/(cm5.m2); dyn.s/cm5/m2; cm^5; m^2\",\"LOINC\",\"\",\"Clinical\",\"unit to measure systemic vascular resistance per body surface area\",null,null,null,null,false],[false,\"24 hour\",\"24.h\",\"HR\",\"\",86400,[0,1,0,0,0,0,0],\"h\",null,false,null,null,1,false,false,0,\"24hrs; 24 hrs; 24 hours; days; dy\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"ampere per meter\",\"A/m\",\"A/M\",\"electric current\",1,[-1,-1,0,0,0,1,0],\"A/m\",\"si\",true,null,null,1,false,false,0,\"A/m; amp/meter; magnetic field strength; H; B; amperes per meter; metre\",\"LOINC\",\"\",\"Clinical\",\"unit of magnetic field strength\",\"C/s\",\"C/S\",\"1\",1,false],[false,\"centigram\",\"cg\",\"CG\",\"mass\",0.01,[0,0,1,0,0,0,0],\"cg\",null,false,\"M\",null,1,false,false,0,\"centigrams; cg; cgm\",\"LOINC\",\"Mass\",\"Clinical\",\"\",null,null,null,null,false],[false,\"centiliter\",\"cL\",\"CL\",\"volume\",0.00001,[3,0,0,0,0,0,0],\"cL\",\"iso1000\",true,null,null,1,false,false,0,\"centiliters; centilitres\",\"LOINC\",\"Vol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"centimeter\",\"cm\",\"CM\",\"length\",0.01,[1,0,0,0,0,0,0],\"cm\",null,false,\"L\",null,1,false,false,0,\"centimeters; centimetres\",\"LOINC\",\"Len\",\"Clinical\",\"\",null,null,null,null,false],[false,\"centimeter of water\",\"cm[H2O]\",\"CM[H2O]\",\"pressure\",98066.5,[-1,-2,1,0,0,0,0],\"cm HO2\",\"clinical\",true,null,null,1,false,false,0,\"cm H2O; cmH2O; centimetres; pressure\",\"LOINC\",\"Pres\",\"Clinical\",\"unit of pressure mostly applies to blood pressure\",\"kPa\",\"KPAL\",\"980665e-5\",9.80665,false],[false,\"centimeter of water per liter per second\",\"cm[H2O]/L/s\",\"(CM[H2O]/L)/S\",\"pressure\",98066500,[-4,-3,1,0,0,0,0],\"((cm HO2)/L)/s\",\"clinical\",true,null,null,1,false,false,0,\"cm[H2O]/(L/s); cm[H2O].s/L; cm H2O/L/sec; cmH2O/L/sec; cmH2O/Liter; cmH2O per L per secs; centimeters of water per liters per second; centimetres; litres; cm[H2O]/(L/s)\",\"LOINC\",\"PresRat\",\"Clinical\",\"unit used to measure mean pulmonary resistance\",\"kPa\",\"KPAL\",\"980665e-5\",9.80665,false],[false,\"centimeter of water per second per meter\",\"cm[H2O]/s/m\",\"(CM[H2O]/S)/M\",\"pressure\",98066.5,[-2,-3,1,0,0,0,0],\"((cm HO2)/s)/m\",\"clinical\",true,null,null,1,false,false,0,\"cm[H2O]/(s.m); cm H2O/s/m; cmH2O; cmH2O/sec/m; cmH2O per secs per meters; centimeters of water per seconds per meter; centimetres; metre\",\"LOINC\",\"PresRat\",\"Clinical\",\"unit used to measure pulmonary pressure time product\",\"kPa\",\"KPAL\",\"980665e-5\",9.80665,false],[false,\"centimeter of mercury\",\"cm[Hg]\",\"CM[HG]\",\"pressure\",1333220,[-1,-2,1,0,0,0,0],\"cm Hg\",\"clinical\",true,null,null,1,false,false,0,\"centimeters of mercury; centimetres; cmHg; cm Hg\",\"LOINC\",\"Pres\",\"Clinical\",\"unit of pressure where 1 cmHg = 10 torr\",\"kPa\",\"KPAL\",\"133.3220\",133.322,false],[false,\"square centimeter\",\"cm2\",\"CM2\",\"length\",0.0001,[2,0,0,0,0,0,0],\"cm2\",null,false,\"L\",null,1,false,false,0,\"cm^2; sq cm; centimeters squared; square centimeters; centimetre; area\",\"LOINC\",\"Area\",\"Clinical\",\"\",null,null,null,null,false],[false,\"square centimeter per second\",\"cm2/s\",\"CM2/S\",\"length\",0.0001,[2,-1,0,0,0,0,0],\"(cm2)/s\",null,false,\"L\",null,1,false,false,0,\"cm^2/sec; square centimeters per second; sq cm per sec; cm2; centimeters squared; centimetres\",\"LOINC\",\"AreaRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"centipoise\",\"cP\",\"CP\",\"dynamic viscosity\",1,[-1,-1,1,0,0,0,0],\"cP\",\"cgs\",true,null,null,1,false,false,0,\"cps; centiposes\",\"LOINC\",\"Visc\",\"Clinical\",\"unit of dynamic viscosity in the CGS system with base units: 10^−3 Pa.s = 1 mPa·.s (1 millipascal second)\",\"dyn.s/cm2\",\"DYN.S/CM2\",\"1\",1,false],[false,\"centistoke\",\"cSt\",\"CST\",\"kinematic viscosity\",0.0000010000000000000002,[2,-1,0,0,0,0,0],\"cSt\",\"cgs\",true,null,null,1,false,false,0,\"centistokes\",\"LOINC\",\"Visc\",\"Clinical\",\"unit for kinematic viscosity with base units of mm^2/s (square millimeter per second)\",\"cm2/s\",\"CM2/S\",\"1\",1,false],[false,\"dekaliter per minute\",\"daL/min\",\"DAL/MIN\",\"volume\",0.00016666666666666666,[3,-1,0,0,0,0,0],\"daL/min\",\"iso1000\",true,null,null,1,false,false,0,\"dekalitres; dekaliters per minute; per min\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"dekaliter per minute per square meter\",\"daL/min/m2\",\"(DAL/MIN)/M2\",\"volume\",0.00016666666666666666,[1,-1,0,0,0,0,0],\"(daL/min)/(m2)\",\"iso1000\",true,null,null,1,false,false,0,\"daL/min/m^2; daL/minute/m2; sq. meter; dekaliters per minutes per square meter; meter squared; dekalitres; metre\",\"LOINC\",\"ArVRat\",\"Clinical\",\"The area usually is the body surface area used to normalize cardiovascular measures for patient\\'s size\",\"l\",null,\"1\",1,false],[false,\"decibel\",\"dB\",\"DB\",\"level\",1,[0,0,0,0,0,0,0],\"dB\",\"levels\",true,null,\"lg\",0.1,true,false,0,\"decibels\",\"LOINC\",\"LogRto\",\"Clinical\",\"unit most commonly used in acoustics as unit of sound pressure level. (also see B[SPL] or bel sound pressure level). \",\"1\",null,null,1,false],[false,\"degree per second\",\"deg/s\",\"DEG/S\",\"plane angle\",0.017453292519943295,[0,-1,0,1,0,0,0],\"°/s\",\"iso1000\",false,null,null,1,false,false,0,\"deg/sec; deg per sec; °/sec; twist rate; angular speed; rotational speed\",\"LOINC\",\"ARat\",\"Clinical\",\"unit of angular (rotational) speed used to express turning rate\",\"[pi].rad/360\",\"[PI].RAD/360\",\"2\",2,false],[false,\"decigram\",\"dg\",\"DG\",\"mass\",0.1,[0,0,1,0,0,0,0],\"dg\",null,false,\"M\",null,1,false,false,0,\"decigrams; dgm; 0.1 grams; 1/10 gm\",\"LOINC\",\"Mass\",\"Clinical\",\"equal to 1/10 gram\",null,null,null,null,false],[false,\"deciliter\",\"dL\",\"DL\",\"volume\",0.0001,[3,0,0,0,0,0,0],\"dL\",\"iso1000\",true,null,null,1,false,false,0,\"deciliters; decilitres; 0.1 liters; 1/10 L\",\"LOINC\",\"Vol\",\"Clinical\",\"equal to 1/10 liter\",\"l\",null,\"1\",1,false],[false,\"decimeter\",\"dm\",\"DM\",\"length\",0.1,[1,0,0,0,0,0,0],\"dm\",null,false,\"L\",null,1,false,false,0,\"decimeters; decimetres; 0.1 meters; 1/10 m; 10 cm; centimeters\",\"LOINC\",\"Len\",\"Clinical\",\"equal to 1/10 meter or 10 centimeters\",null,null,null,null,false],[false,\"square decimeter per square second\",\"dm2/s2\",\"DM2/S2\",\"length\",0.010000000000000002,[2,-2,0,0,0,0,0],\"(dm2)/(s2)\",null,false,\"L\",null,1,false,false,0,\"dm2 per s2; dm^2/s^2; decimeters squared per second squared; sq dm; sq sec\",\"LOINC\",\"EngMass (massic energy)\",\"Clinical\",\"units for energy per unit mass or Joules per kilogram (J/kg = kg.m2/s2/kg = m2/s2) \",null,null,null,null,false],[false,\"dyne second per centimeter per square meter\",\"dyn.s/(cm.m2)\",\"(DYN.S)/(CM.M2)\",\"force\",1,[-2,-1,1,0,0,0,0],\"(dyn.s)/(cm.(m2))\",\"cgs\",true,null,null,1,false,false,0,\"(dyn*s)/(cm*m2); (dyn*s)/(cm*m^2); dyn s per cm per m2; m^2; dyne seconds per centimeters per square meter; centimetres; sq. meter; squared\",\"LOINC\",\"\",\"Clinical\",\"\",\"g.cm/s2\",\"G.CM/S2\",\"1\",1,false],[false,\"dyne second per centimeter\",\"dyn.s/cm\",\"(DYN.S)/CM\",\"force\",1,[0,-1,1,0,0,0,0],\"(dyn.s)/cm\",\"cgs\",true,null,null,1,false,false,0,\"(dyn*s)/cm; dyn sec per cm; seconds; centimetre; dyne seconds\",\"LOINC\",\"\",\"Clinical\",\"\",\"g.cm/s2\",\"G.CM/S2\",\"1\",1,false],[false,\"equivalent per liter\",\"eq/L\",\"EQ/L\",\"amount of substance\",6.0221366999999994e+26,[-3,0,0,0,0,0,0],\"eq/L\",\"chemical\",true,null,null,1,false,false,1,\"eq/liter; eq/litre; eqs; equivalents per liter; litre\",\"LOINC\",\"SCnc\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"equivalent per milliliter\",\"eq/mL\",\"EQ/ML\",\"amount of substance\",6.0221367e+29,[-3,0,0,0,0,0,0],\"eq/mL\",\"chemical\",true,null,null,1,false,false,1,\"equivalent/milliliter; equivalents per milliliter; eq per mL; millilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"equivalent per millimole\",\"eq/mmol\",\"EQ/MMOL\",\"amount of substance\",1000,[0,0,0,0,0,0,0],\"eq/mmol\",\"chemical\",true,null,null,1,false,false,0,\"equivalent/millimole; equivalents per millimole; eq per mmol\",\"LOINC\",\"SRto\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"equivalent per micromole\",\"eq/umol\",\"EQ/UMOL\",\"amount of substance\",1000000,[0,0,0,0,0,0,0],\"eq/μmol\",\"chemical\",true,null,null,1,false,false,0,\"equivalent/micromole; equivalents per micromole; eq per umol\",\"LOINC\",\"SRto\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"femtogram\",\"fg\",\"FG\",\"mass\",1e-15,[0,0,1,0,0,0,0],\"fg\",null,false,\"M\",null,1,false,false,0,\"fg; fgm; femtograms; weight\",\"LOINC\",\"Mass\",\"Clinical\",\"equal to 10^-15 grams\",null,null,null,null,false],[false,\"femtoliter\",\"fL\",\"FL\",\"volume\",1e-18,[3,0,0,0,0,0,0],\"fL\",\"iso1000\",true,null,null,1,false,false,0,\"femtolitres; femtoliters\",\"LOINC\",\"Vol; EntVol\",\"Clinical\",\"equal to 10^-15 liters\",\"l\",null,\"1\",1,false],[false,\"femtometer\",\"fm\",\"FM\",\"length\",1e-15,[1,0,0,0,0,0,0],\"fm\",null,false,\"L\",null,1,false,false,0,\"femtometres; femtometers\",\"LOINC\",\"Len\",\"Clinical\",\"equal to 10^-15 meters\",null,null,null,null,false],[false,\"femtomole\",\"fmol\",\"FMOL\",\"amount of substance\",602213670,[0,0,0,0,0,0,0],\"fmol\",\"si\",true,null,null,1,false,false,1,\"femtomoles\",\"LOINC\",\"EntSub\",\"Clinical\",\"equal to 10^-15 moles\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"femtomole per gram\",\"fmol/g\",\"FMOL/G\",\"amount of substance\",602213670,[0,0,-1,0,0,0,0],\"fmol/g\",\"si\",true,null,null,1,false,false,1,\"femtomoles; fmol/gm; fmol per gm\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"femtomole per liter\",\"fmol/L\",\"FMOL/L\",\"amount of substance\",602213670000,[-3,0,0,0,0,0,0],\"fmol/L\",\"si\",true,null,null,1,false,false,1,\"femtomoles; fmol per liter; litre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"femtomole per milligram\",\"fmol/mg\",\"FMOL/MG\",\"amount of substance\",602213670000,[0,0,-1,0,0,0,0],\"fmol/mg\",\"si\",true,null,null,1,false,false,1,\"fmol per mg; femtomoles\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"femtomole per milliliter\",\"fmol/mL\",\"FMOL/ML\",\"amount of substance\",602213670000000,[-3,0,0,0,0,0,0],\"fmol/mL\",\"si\",true,null,null,1,false,false,1,\"femtomoles; millilitre; fmol per mL; fmol per milliliter\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"gram meter\",\"g.m\",\"G.M\",\"mass\",1,[1,0,1,0,0,0,0],\"g.m\",null,false,\"M\",null,1,false,false,0,\"g*m; gxm; meters; metres\",\"LOINC\",\"Enrg\",\"Clinical\",\"Unit for measuring stroke work (heart work)\",null,null,null,null,false],[false,\"gram per 100 gram\",\"g/(100.g)\",\"G/G\",\"mass\",0.01,[0,0,0,0,0,0,0],\"g/g\",null,false,\"M\",null,1,false,false,0,\"g/100 gm; 100gm; grams per 100 grams; gm per 100 gm\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per 12 hour\",\"g/(12.h)\",\"G/HR\",\"mass\",0.000023148148148148147,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/12hrs; 12 hrs; gm per 12 hrs; 12hrs; grams per 12 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per 24 hour\",\"g/(24.h)\",\"G/HR\",\"mass\",0.000011574074074074073,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/24hrs; gm/24 hrs; gm per 24 hrs; 24hrs; grams per 24 hours; gm/dy; gm per dy; grams per day\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per 3 days\",\"g/(3.d)\",\"G/D\",\"mass\",0.000003858024691358025,[0,-1,1,0,0,0,0],\"g/d\",null,false,\"M\",null,1,false,false,0,\"gm/3dy; gm/3 dy; gm per 3 days; grams\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per 4 hour\",\"g/(4.h)\",\"G/HR\",\"mass\",0.00006944444444444444,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/4hrs; gm/4 hrs; gm per 4 hrs; 4hrs; grams per 4 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per 48 hour\",\"g/(48.h)\",\"G/HR\",\"mass\",0.000005787037037037037,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/48hrs; gm/48 hrs; gm per 48 hrs; 48hrs; grams per 48 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per 5 hour\",\"g/(5.h)\",\"G/HR\",\"mass\",0.00005555555555555556,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/5hrs; gm/5 hrs; gm per 5 hrs; 5hrs; grams per 5 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per 6 hour\",\"g/(6.h)\",\"G/HR\",\"mass\",0.000046296296296296294,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/6hrs; gm/6 hrs; gm per 6 hrs; 6hrs; grams per 6 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per 72 hour\",\"g/(72.h)\",\"G/HR\",\"mass\",0.000003858024691358025,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/72hrs; gm/72 hrs; gm per 72 hrs; 72hrs; grams per 72 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per cubic centimeter\",\"g/cm3\",\"G/CM3\",\"mass\",999999.9999999999,[-3,0,1,0,0,0,0],\"g/(cm3)\",null,false,\"M\",null,1,false,false,0,\"g/cm^3; gm per cm3; g per cm^3; grams per centimeter cubed; cu. cm; centimetre; g/mL; gram per milliliter; millilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"g/cm3 = g/mL\",null,null,null,null,false],[false,\"gram per day\",\"g/d\",\"G/D\",\"mass\",0.000011574074074074073,[0,-1,1,0,0,0,0],\"g/d\",null,false,\"M\",null,1,false,false,0,\"gm/dy; gm per dy; grams per day; gm/24hrs; gm/24 hrs; gm per 24 hrs; 24hrs; grams per 24 hours; serving\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per deciliter\",\"g/dL\",\"G/DL\",\"mass\",10000,[-3,0,1,0,0,0,0],\"g/dL\",null,false,\"M\",null,1,false,false,0,\"gm/dL; gm per dL; grams per deciliter; decilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per gram\",\"g/g\",\"G/G\",\"mass\",1,[0,0,0,0,0,0,0],\"g/g\",null,false,\"M\",null,1,false,false,0,\"gm; grams\",\"LOINC\",\"MRto \",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per hour\",\"g/h\",\"G/HR\",\"mass\",0.0002777777777777778,[0,-1,1,0,0,0,0],\"g/h\",null,false,\"M\",null,1,false,false,0,\"gm/hr; gm per hr; grams; intake; output\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per hour per square meter\",\"g/h/m2\",\"(G/HR)/M2\",\"mass\",0.0002777777777777778,[-2,-1,1,0,0,0,0],\"(g/h)/(m2)\",null,false,\"M\",null,1,false,false,0,\"gm/hr/m2; gm/h/m2; /m^2; sq. m; g per hr per m2; grams per hours per square meter; meter squared; metre\",\"LOINC\",\"ArMRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per kilogram\",\"g/kg \",\"G/KG\",\"mass\",0.001,[0,0,0,0,0,0,0],\"g/kg\",null,false,\"M\",null,1,false,false,0,\"g per kg; gram per kilograms\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per kilogram per 8 hour \",\"g/kg/(8.h)\",\"(G/KG)/HR\",\"mass\",3.472222222222222e-8,[0,-1,0,0,0,0,0],\"(g/kg)/h\",null,false,\"M\",null,1,false,false,0,\"g/(8.kg.h); gm/kg/8hrs; 8 hrs; g per kg per 8 hrs; 8hrs; grams per kilograms per 8 hours; shift\",\"LOINC\",\"MCntRat; RelMRat\",\"Clinical\",\"unit often used to describe mass in grams of protein consumed in a 8 hours, divided by the subject\\'s body weight in kilograms. Also used to measure mass dose rate per body mass\",null,null,null,null,false],[false,\"gram per kilogram per day\",\"g/kg/d\",\"(G/KG)/D\",\"mass\",1.1574074074074074e-8,[0,-1,0,0,0,0,0],\"(g/kg)/d\",null,false,\"M\",null,1,false,false,0,\"g/(kg.d); gm/kg/dy; gm per kg per dy; grams per kilograms per day\",\"LOINC\",\"RelMRat\",\"Clinical\",\"unit often used to describe mass in grams of protein consumed in a day, divided by the subject\\'s body weight in kilograms. Also used to measure mass dose rate per body mass\",null,null,null,null,false],[false,\"gram per kilogram per hour\",\"g/kg/h\",\"(G/KG)/HR\",\"mass\",2.7777777777777776e-7,[0,-1,0,0,0,0,0],\"(g/kg)/h\",null,false,\"M\",null,1,false,false,0,\"g/(kg.h); g/kg/hr; g per kg per hrs; grams per kilograms per hour\",\"LOINC\",\"MCntRat; RelMRat\",\"Clinical\",\"unit used to measure mass dose rate per body mass\",null,null,null,null,false],[false,\"gram per kilogram per minute\",\"g/kg/min\",\"(G/KG)/MIN\",\"mass\",0.000016666666666666667,[0,-1,0,0,0,0,0],\"(g/kg)/min\",null,false,\"M\",null,1,false,false,0,\"g/(kg.min); g/kg/min; g per kg per min; grams per kilograms per minute\",\"LOINC\",\"MCntRat; RelMRat\",\"Clinical\",\"unit used to measure mass dose rate per body mass\",null,null,null,null,false],[false,\"gram per liter\",\"g/L\",\"G/L\",\"mass\",1000,[-3,0,1,0,0,0,0],\"g/L\",null,false,\"M\",null,1,false,false,0,\"gm per liter; g/liter; grams per liter; litre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per square meter\",\"g/m2\",\"G/M2\",\"mass\",1,[-2,0,1,0,0,0,0],\"g/(m2)\",null,false,\"M\",null,1,false,false,0,\"g/m^2; gram/square meter; g/sq m; g per m2; g per m^2; grams per square meter; meters squared; metre\",\"LOINC\",\"ArMass\",\"Clinical\",\"Tests measure myocardial mass (heart ventricle system) per body surface area; unit used to measure mass dose per body surface area\",null,null,null,null,false],[false,\"gram per milligram\",\"g/mg\",\"G/MG\",\"mass\",1000,[0,0,0,0,0,0,0],\"g/mg\",null,false,\"M\",null,1,false,false,0,\"g per mg; grams per milligram\",\"LOINC\",\"MCnt; MRto\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per minute\",\"g/min\",\"G/MIN\",\"mass\",0.016666666666666666,[0,-1,1,0,0,0,0],\"g/min\",null,false,\"M\",null,1,false,false,0,\"g per min; grams per minute; gram/minute\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per milliliter\",\"g/mL\",\"G/ML\",\"mass\",1000000,[-3,0,1,0,0,0,0],\"g/mL\",null,false,\"M\",null,1,false,false,0,\"g per mL; grams per milliliter; millilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"gram per millimole\",\"g/mmol\",\"G/MMOL\",\"mass\",1.6605401866749388e-21,[0,0,1,0,0,0,0],\"g/mmol\",null,false,\"M\",null,1,false,false,-1,\"grams per millimole; g per mmol\",\"LOINC\",\"Ratio\",\"Clinical\",\"\",null,null,null,null,false],[false,\"joule per liter\",\"J/L\",\"J/L\",\"energy\",1000000,[-1,-2,1,0,0,0,0],\"J/L\",\"si\",true,null,null,1,false,false,0,\"joules per liter; litre; J per L\",\"LOINC\",\"EngCnc\",\"Clinical\",\"\",\"N.m\",\"N.M\",\"1\",1,false],[false,\"degree Kelvin per Watt\",\"K/W\",\"K/W\",\"temperature\",0.001,[-2,3,-1,0,1,0,0],\"K/W\",null,false,\"C\",null,1,false,false,0,\"degree Kelvin/Watt; K per W; thermal ohm; thermal resistance; degrees\",\"LOINC\",\"TempEngRat\",\"Clinical\",\"unit for absolute thermal resistance equal to the reciprocal of thermal conductance. Unit used for tests to measure work of breathing\",null,null,null,null,false],[false,\"kilo international unit per liter\",\"k[IU]/L\",\"K[IU]/L\",\"arbitrary\",1000000,[-3,0,0,0,0,0,0],\"(ki.U.)/L\",\"chemical\",true,null,null,1,false,true,0,\"kIU/L; kIU per L; kIU per liter; kilo international units; litre; allergens; allergy units\",\"LOINC\",\"ACnc\",\"Clinical\",\"IgE has an WHO reference standard so IgE allergen testing can be reported as k[IU]/L\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"kilo international unit per milliliter\",\"k[IU]/mL\",\"K[IU]/ML\",\"arbitrary\",1000000000,[-3,0,0,0,0,0,0],\"(ki.U.)/mL\",\"chemical\",true,null,null,1,false,true,0,\"kIU/mL; kIU per mL; kIU per milliliter; kilo international units; millilitre; allergens; allergy units\",\"LOINC\",\"ACnc\",\"Clinical\",\"IgE has an WHO reference standard so IgE allergen testing can be reported as k[IU]/mL\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"katal per kilogram\",\"kat/kg\",\"KAT/KG\",\"catalytic activity\",602213670000000000000,[0,-1,-1,0,0,0,0],\"kat/kg\",\"chemical\",true,null,null,1,false,false,1,\"kat per kg; katals per kilogram; mol/s/kg; moles per seconds per kilogram\",\"LOINC\",\"CCnt\",\"Clinical\",\"kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.\",\"mol/s\",\"MOL/S\",\"1\",1,false],[false,\"katal per liter\",\"kat/L\",\"KAT/L\",\"catalytic activity\",6.0221366999999994e+26,[-3,-1,0,0,0,0,0],\"kat/L\",\"chemical\",true,null,null,1,false,false,1,\"kat per L; katals per liter; litre; mol/s/L; moles per seconds per liter\",\"LOINC\",\"CCnc\",\"Clinical\",\"kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.\",\"mol/s\",\"MOL/S\",\"1\",1,false],[false,\"kilocalorie\",\"kcal\",\"KCAL\",\"energy\",4184000,[2,-2,1,0,0,0,0],\"kcal\",\"heat\",true,null,null,1,false,false,0,\"kilogram calories; large calories; food calories; kcals\",\"LOINC\",\"EngRat\",\"Clinical\",\"It is equal to 1000 calories (equal to 4.184 kJ). But in practical usage, kcal refers to food calories which excludes caloric content in fiber and other constitutes that is not digestible by humans. Also see nutrition label Calories ([Cal])\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"kilocalorie per 24 hour\",\"kcal/(24.h)\",\"KCAL/HR\",\"energy\",48.425925925925924,[2,-3,1,0,0,0,0],\"kcal/h\",\"heat\",true,null,null,1,false,false,0,\"kcal/24hrs; kcal/24 hrs; kcal per 24hrs; kilocalories per 24 hours; kilojoules; kJ/24hr; kJ/(24.h); kJ/dy; kilojoules per days; intake; calories burned; metabolic rate; food calories\",\"\",\"EngRat\",\"Clinical\",\"\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"kilocalorie per ounce\",\"kcal/[oz_av]\",\"KCAL/[OZ_AV]\",\"energy\",147586.25679704445,[2,-2,0,0,0,0,0],\"kcal/oz\",\"heat\",true,null,null,1,false,false,0,\"kcal/oz; kcal per ozs; large calories per ounces; food calories; servings; international\",\"LOINC\",\"EngCnt\",\"Clinical\",\"used in nutrition to represent calorie of food\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"kilocalorie per day\",\"kcal/d\",\"KCAL/D\",\"energy\",48.425925925925924,[2,-3,1,0,0,0,0],\"kcal/d\",\"heat\",true,null,null,1,false,false,0,\"kcal/dy; kcal per day; kilocalories per days; kilojoules; kJ/dy; kilojoules per days; intake; calories burned; metabolic rate; food calories\",\"LOINC\",\"EngRat\",\"Clinical\",\"unit in nutrition for food intake (measured in calories) in a day\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"kilocalorie per hour\",\"kcal/h\",\"KCAL/HR\",\"energy\",1162.2222222222222,[2,-3,1,0,0,0,0],\"kcal/h\",\"heat\",true,null,null,1,false,false,0,\"kcal/hrs; kcals per hr; intake; kilocalories per hours; kilojoules\",\"LOINC\",\"EngRat\",\"Clinical\",\"used in nutrition to represent caloric requirement or consumption\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"kilocalorie per kilogram per 24 hour\",\"kcal/kg/(24.h)\",\"(KCAL/KG)/HR\",\"energy\",0.04842592592592593,[2,-3,0,0,0,0,0],\"(kcal/kg)/h\",\"heat\",true,null,null,1,false,false,0,\"kcal/kg/24hrs; 24 hrs; kcal per kg per 24hrs; kilocalories per kilograms per 24 hours; kilojoules\",\"LOINC\",\"EngCntRat\",\"Clinical\",\"used in nutrition to represent caloric requirement per day based on subject\\'s body weight in kilograms\",\"cal_th\",\"CAL_TH\",\"1\",1,false],[false,\"kilogram\",\"kg\",\"KG\",\"mass\",1000,[0,0,1,0,0,0,0],\"kg\",null,false,\"M\",null,1,false,false,0,\"kilograms; kgs\",\"LOINC\",\"Mass\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kilogram meter per second\",\"kg.m/s\",\"(KG.M)/S\",\"mass\",1000,[1,-1,1,0,0,0,0],\"(kg.m)/s\",null,false,\"M\",null,1,false,false,0,\"kg*m/s; kg.m per sec; kg*m per sec; p; momentum\",\"LOINC\",\"\",\"Clinical\",\"unit for momentum = mass times velocity\",null,null,null,null,false],[false,\"kilogram per second per square meter\",\"kg/(s.m2)\",\"KG/(S.M2)\",\"mass\",1000,[-2,-1,1,0,0,0,0],\"kg/(s.(m2))\",null,false,\"M\",null,1,false,false,0,\"kg/(s*m2); kg/(s*m^2); kg per s per m2; per sec; per m^2; kilograms per seconds per square meter; meter squared; metre\",\"LOINC\",\"ArMRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kilogram per hour\",\"kg/h\",\"KG/HR\",\"mass\",0.2777777777777778,[0,-1,1,0,0,0,0],\"kg/h\",null,false,\"M\",null,1,false,false,0,\"kg/hr; kg per hr; kilograms per hour\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kilogram per liter\",\"kg/L\",\"KG/L\",\"mass\",1000000,[-3,0,1,0,0,0,0],\"kg/L\",null,false,\"M\",null,1,false,false,0,\"kg per liter; litre; kilograms\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kilogram per square meter\",\"kg/m2\",\"KG/M2\",\"mass\",1000,[-2,0,1,0,0,0,0],\"kg/(m2)\",null,false,\"M\",null,1,false,false,0,\"kg/m^2; kg/sq. m; kg per m2; per m^2; per sq. m; kilograms; meter squared; metre; BMI\",\"LOINC\",\"Ratio\",\"Clinical\",\"units for body mass index (BMI)\",null,null,null,null,false],[false,\"kilogram per cubic meter\",\"kg/m3\",\"KG/M3\",\"mass\",1000,[-3,0,1,0,0,0,0],\"kg/(m3)\",null,false,\"M\",null,1,false,false,0,\"kg/m^3; kg/cu. m; kg per m3; per m^3; per cu. m; kilograms; meters cubed; metre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kilogram per minute\",\"kg/min\",\"KG/MIN\",\"mass\",16.666666666666668,[0,-1,1,0,0,0,0],\"kg/min\",null,false,\"M\",null,1,false,false,0,\"kilogram/minute; kg per min; kilograms per minute\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kilogram per mole\",\"kg/mol\",\"KG/MOL\",\"mass\",1.6605401866749388e-21,[0,0,1,0,0,0,0],\"kg/mol\",null,false,\"M\",null,1,false,false,-1,\"kilogram/mole; kg per mol; kilograms per mole\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kilogram per second\",\"kg/s\",\"KG/S\",\"mass\",1000,[0,-1,1,0,0,0,0],\"kg/s\",null,false,\"M\",null,1,false,false,0,\"kg/sec; kilogram/second; kg per sec; kilograms; second\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kiloliter\",\"kL\",\"KL\",\"volume\",1,[3,0,0,0,0,0,0],\"kL\",\"iso1000\",true,null,null,1,false,false,0,\"kiloliters; kilolitres; m3; m^3; meters cubed; metre\",\"LOINC\",\"Vol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"kilometer\",\"km\",\"KM\",\"length\",1000,[1,0,0,0,0,0,0],\"km\",null,false,\"L\",null,1,false,false,0,\"kilometers; kilometres; distance\",\"LOINC\",\"Len\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kilopascal\",\"kPa\",\"KPAL\",\"pressure\",1000000,[-1,-2,1,0,0,0,0],\"kPa\",\"si\",true,null,null,1,false,false,0,\"kilopascals; pressure\",\"LOINC\",\"Pres; PPresDiff\",\"Clinical\",\"\",\"N/m2\",\"N/M2\",\"1\",1,false],[false,\"kilosecond\",\"ks\",\"KS\",\"time\",1000,[0,1,0,0,0,0,0],\"ks\",null,false,\"T\",null,1,false,false,0,\"kiloseconds; ksec\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"kilo enzyme unit\",\"kU\",\"KU\",\"catalytic activity\",10036894500000000000,[0,-1,0,0,0,0,0],\"kU\",\"chemical\",true,null,null,1,false,false,1,\"units; mmol/min; millimoles per minute\",\"LOINC\",\"CAct\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"kilo enzyme unit per gram\",\"kU/g\",\"KU/G\",\"catalytic activity\",10036894500000000000,[0,-1,-1,0,0,0,0],\"kU/g\",\"chemical\",true,null,null,1,false,false,1,\"units per grams; kU per gm\",\"LOINC\",\"CCnt\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"kilo enzyme unit per liter\",\"kU/L\",\"KU/L\",\"catalytic activity\",1.00368945e+22,[-3,-1,0,0,0,0,0],\"kU/L\",\"chemical\",true,null,null,1,false,false,1,\"units per liter; litre; enzymatic activity; enzyme activity per volume; activities\",\"LOINC\",\"ACnc; CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"kilo enzyme unit per milliliter\",\"kU/mL\",\"KU/ML\",\"catalytic activity\",1.00368945e+25,[-3,-1,0,0,0,0,0],\"kU/mL\",\"chemical\",true,null,null,1,false,false,1,\"kU per mL; units per milliliter; millilitre; enzymatic activity per volume; enzyme activities\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 kU = 1 mmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"Liters per 24 hour\",\"L/(24.h)\",\"L/HR\",\"volume\",1.1574074074074074e-8,[3,-1,0,0,0,0,0],\"L/h\",\"iso1000\",true,null,null,1,false,false,0,\"L/24hrs; L/24 hrs; L per 24hrs; liters per 24 hours; day; dy; litres; volume flow rate\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per 8 hour\",\"L/(8.h)\",\"L/HR\",\"volume\",3.472222222222222e-8,[3,-1,0,0,0,0,0],\"L/h\",\"iso1000\",true,null,null,1,false,false,0,\"L/8hrs; L/8 hrs; L per 8hrs; liters per 8 hours; litres; volume flow rate; shift\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per minute per square meter\",\"L/(min.m2) \",\"L/(MIN.M2)\",\"volume\",0.000016666666666666667,[1,-1,0,0,0,0,0],\"L/(min.(m2))\",\"iso1000\",true,null,null,1,false,false,0,\"L/(min.m2); L/min/m^2; L/min/sq. meter; L per min per m2; m^2; liters per minutes per square meter; meter squared; litres; metre \",\"LOINC\",\"ArVRat\",\"Clinical\",\"unit for tests that measure cardiac output per body surface area (cardiac index)\",\"l\",null,\"1\",1,false],[false,\"Liters per day\",\"L/d\",\"L/D\",\"volume\",1.1574074074074074e-8,[3,-1,0,0,0,0,0],\"L/d\",\"iso1000\",true,null,null,1,false,false,0,\"L/dy; L per day; 24hrs; 24 hrs; 24 hours; liters; litres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per hour\",\"L/h\",\"L/HR\",\"volume\",2.7777777777777776e-7,[3,-1,0,0,0,0,0],\"L/h\",\"iso1000\",true,null,null,1,false,false,0,\"L/hr; L per hr; litres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per kilogram\",\"L/kg\",\"L/KG\",\"volume\",0.000001,[3,0,-1,0,0,0,0],\"L/kg\",\"iso1000\",true,null,null,1,false,false,0,\"L per kg; litre\",\"LOINC\",\"VCnt\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per liter\",\"L/L\",\"L/L\",\"volume\",1,[0,0,0,0,0,0,0],\"L/L\",\"iso1000\",true,null,null,1,false,false,0,\"L per L; liter/liter; litre\",\"LOINC\",\"VFr\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per minute\",\"L/min\",\"L/MIN\",\"volume\",0.000016666666666666667,[3,-1,0,0,0,0,0],\"L/min\",\"iso1000\",true,null,null,1,false,false,0,\"liters per minute; litre\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"Liters per minute per square meter\",\"L/min/m2\",\"(L/MIN)/M2\",\"volume\",0.000016666666666666667,[1,-1,0,0,0,0,0],\"(L/min)/(m2)\",\"iso1000\",true,null,null,1,false,false,0,\"L/(min.m2); L/min/m^2; L/min/sq. meter; L per min per m2; m^2; liters per minutes per square meter; meter squared; litres; metre \",\"\",\"ArVRat\",\"Clinical\",\"unit for tests that measure cardiac output per body surface area (cardiac index)\",\"l\",null,\"1\",1,false],[false,\"Liters per second\",\"L/s\",\"L/S\",\"volume\",0.001,[3,-1,0,0,0,0,0],\"L/s\",\"iso1000\",true,null,null,1,false,false,0,\"L per sec; litres\",\"LOINC\",\"VRat\",\"Clinical\",\"unit used often to measure gas flow and peak expiratory flow\",\"l\",null,\"1\",1,false],[false,\"Liters per second per square second\",\"L/s/s2\",\"(L/S)/S2\",\"volume\",0.001,[3,-3,0,0,0,0,0],\"(L/s)/(s2)\",\"iso1000\",true,null,null,1,false,false,0,\"L/s/s^2; L/sec/sec2; L/sec/sec^2; L/sec/sq. sec; L per s per s2; L per sec per sec2; s^2; sec^2; liters per seconds per square second; second squared; litres \",\"LOINC\",\"ArVRat\",\"Clinical\",\"unit for tests that measure cardiac output/body surface area\",\"l\",null,\"1\",1,false],[false,\"lumen square meter\",\"lm.m2\",\"LM.M2\",\"luminous flux\",1,[2,0,0,2,0,0,1],\"lm.(m2)\",\"si\",true,null,null,1,false,false,0,\"lm*m2; lm*m^2; lumen meters squared; lumen sq. meters; metres\",\"LOINC\",\"\",\"Clinical\",\"\",\"cd.sr\",\"CD.SR\",\"1\",1,false],[false,\"meter per second\",\"m/s\",\"M/S\",\"length\",1,[1,-1,0,0,0,0,0],\"m/s\",null,false,\"L\",null,1,false,false,0,\"meter/second; m per sec; meters per second; metres; velocity; speed\",\"LOINC\",\"Vel\",\"Clinical\",\"unit of velocity\",null,null,null,null,false],[false,\"meter per square second\",\"m/s2\",\"M/S2\",\"length\",1,[1,-2,0,0,0,0,0],\"m/(s2)\",null,false,\"L\",null,1,false,false,0,\"m/s^2; m/sq. sec; m per s2; per s^2; meters per square second; second squared; sq second; metres; acceleration\",\"LOINC\",\"Accel\",\"Clinical\",\"unit of acceleration\",null,null,null,null,false],[false,\"milli international unit per liter\",\"m[IU]/L\",\"M[IU]/L\",\"arbitrary\",1,[-3,0,0,0,0,0,0],\"(mi.U.)/L\",\"chemical\",true,null,null,1,false,true,0,\"mIU/L; m IU/L; mIU per liter; units; litre\",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"milli international unit per milliliter\",\"m[IU]/mL\",\"M[IU]/ML\",\"arbitrary\",1000.0000000000001,[-3,0,0,0,0,0,0],\"(mi.U.)/mL\",\"chemical\",true,null,null,1,false,true,0,\"mIU/mL; m IU/mL; mIU per mL; milli international units per milliliter; millilitre\",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"square meter\",\"m2\",\"M2\",\"length\",1,[2,0,0,0,0,0,0],\"m2\",null,false,\"L\",null,1,false,false,0,\"m^2; sq m; square meters; meters squared; metres\",\"LOINC\",\"Area\",\"Clinical\",\"unit often used to represent body surface area\",null,null,null,null,false],[false,\"square meter per second\",\"m2/s\",\"M2/S\",\"length\",1,[2,-1,0,0,0,0,0],\"(m2)/s\",null,false,\"L\",null,1,false,false,0,\"m^2/sec; m2 per sec; m^2 per sec; sq m/sec; meters squared/seconds; sq m per sec; meters squared; metres\",\"LOINC\",\"ArRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"cubic meter per second\",\"m3/s\",\"M3/S\",\"length\",1,[3,-1,0,0,0,0,0],\"(m3)/s\",null,false,\"L\",null,1,false,false,0,\"m^3/sec; m3 per sec; m^3 per sec; cu m/sec; cubic meters per seconds; meters cubed; metres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milliampere\",\"mA\",\"MA\",\"electric current\",0.001,[0,-1,0,0,0,1,0],\"mA\",\"si\",true,null,null,1,false,false,0,\"mamp; milliamperes\",\"LOINC\",\"ElpotRat\",\"Clinical\",\"unit of electric current\",\"C/s\",\"C/S\",\"1\",1,false],[false,\"millibar\",\"mbar\",\"MBAR\",\"pressure\",100000,[-1,-2,1,0,0,0,0],\"mbar\",\"iso1000\",true,null,null,1,false,false,0,\"millibars\",\"LOINC\",\"Pres\",\"Clinical\",\"unit of pressure\",\"Pa\",\"PAL\",\"1e5\",100000,false],[false,\"millibar second per liter\",\"mbar.s/L\",\"(MBAR.S)/L\",\"pressure\",100000000,[-4,-1,1,0,0,0,0],\"(mbar.s)/L\",\"iso1000\",true,null,null,1,false,false,0,\"mbar*s/L; mbar.s per L; mbar*s per L; millibar seconds per liter; millibar second per litre\",\"LOINC\",\"\",\"Clinical\",\"unit to measure expiratory resistance\",\"Pa\",\"PAL\",\"1e5\",100000,false],[false,\"millibar per liter per second\",\"mbar/L/s\",\"(MBAR/L)/S\",\"pressure\",100000000,[-4,-3,1,0,0,0,0],\"(mbar/L)/s\",\"iso1000\",true,null,null,1,false,false,0,\"mbar/(L.s); mbar/L/sec; mbar/liter/second; mbar per L per sec; mbar per liter per second; millibars per liters per seconds; litres\",\"LOINC\",\"PresCncRat\",\"Clinical\",\"unit to measure expiratory resistance\",\"Pa\",\"PAL\",\"1e5\",100000,false],[false,\"milliequivalent\",\"meq\",\"MEQ\",\"amount of substance\",602213670000000000000,[0,0,0,0,0,0,0],\"meq\",\"chemical\",true,null,null,1,false,false,1,\"milliequivalents; meqs\",\"LOINC\",\"Sub\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per 2 hour\",\"meq/(2.h)\",\"MEQ/HR\",\"amount of substance\",83640787500000000,[0,-1,0,0,0,0,0],\"meq/h\",\"chemical\",true,null,null,1,false,false,1,\"meq/2hrs; meq/2 hrs; meq per 2 hrs; milliequivalents per 2 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per 24 hour\",\"meq/(24.h)\",\"MEQ/HR\",\"amount of substance\",6970065625000000,[0,-1,0,0,0,0,0],\"meq/h\",\"chemical\",true,null,null,1,false,false,1,\"meq/24hrs; meq/24 hrs; meq per 24 hrs; milliequivalents per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per 8 hour\",\"meq/(8.h)\",\"MEQ/HR\",\"amount of substance\",20910196875000000,[0,-1,0,0,0,0,0],\"meq/h\",\"chemical\",true,null,null,1,false,false,1,\"meq/8hrs; meq/8 hrs; meq per 8 hrs; milliequivalents per 8 hours; shift\",\"LOINC\",\"SRat\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per day\",\"meq/d\",\"MEQ/D\",\"amount of substance\",6970065625000000,[0,-1,0,0,0,0,0],\"meq/d\",\"chemical\",true,null,null,1,false,false,1,\"meq/dy; meq per day; milliquivalents per days; meq/24hrs; meq/24 hrs; meq per 24 hrs; milliequivalents per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per deciliter\",\"meq/dL\",\"MEQ/DL\",\"amount of substance\",6.022136699999999e+24,[-3,0,0,0,0,0,0],\"meq/dL\",\"chemical\",true,null,null,1,false,false,1,\"meq per dL; milliequivalents per deciliter; decilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per gram\",\"meq/g\",\"MEQ/G\",\"amount of substance\",602213670000000000000,[0,0,-1,0,0,0,0],\"meq/g\",\"chemical\",true,null,null,1,false,false,1,\"mgq/gm; meq per gm; milliequivalents per gram\",\"LOINC\",\"MCnt\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per hour\",\"meq/h\",\"MEQ/HR\",\"amount of substance\",167281575000000000,[0,-1,0,0,0,0,0],\"meq/h\",\"chemical\",true,null,null,1,false,false,1,\"meq/hrs; meq per hrs; milliequivalents per hour\",\"LOINC\",\"SRat\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per kilogram\",\"meq/kg\",\"MEQ/KG\",\"amount of substance\",602213670000000000,[0,0,-1,0,0,0,0],\"meq/kg\",\"chemical\",true,null,null,1,false,false,1,\"meq per kg; milliequivalents per kilogram\",\"LOINC\",\"SCnt\",\"Clinical\",\"equivalence equals moles per valence; used to measure dose per patient body mass\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per kilogram per hour\",\"meq/kg/h\",\"(MEQ/KG)/HR\",\"amount of substance\",167281575000000,[0,-1,-1,0,0,0,0],\"(meq/kg)/h\",\"chemical\",true,null,null,1,false,false,1,\"meq/(kg.h); meq/kg/hr; meq per kg per hr; milliequivalents per kilograms per hour\",\"LOINC\",\"SCntRat\",\"Clinical\",\"equivalence equals moles per valence; unit used to measure dose rate per patient body mass\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per liter\",\"meq/L\",\"MEQ/L\",\"amount of substance\",6.0221367e+23,[-3,0,0,0,0,0,0],\"meq/L\",\"chemical\",true,null,null,1,false,false,1,\"milliequivalents per liter; litre; meq per l; acidity\",\"LOINC\",\"SCnc\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per square meter\",\"meq/m2\",\"MEQ/M2\",\"amount of substance\",602213670000000000000,[-2,0,0,0,0,0,0],\"meq/(m2)\",\"chemical\",true,null,null,1,false,false,1,\"meq/m^2; meq/sq. m; milliequivalents per square meter; meter squared; metre\",\"LOINC\",\"ArSub\",\"Clinical\",\"equivalence equals moles per valence; note that the use of m2 in clinical units ofter refers to body surface area\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per minute\",\"meq/min\",\"MEQ/MIN\",\"amount of substance\",10036894500000000000,[0,-1,0,0,0,0,0],\"meq/min\",\"chemical\",true,null,null,1,false,false,1,\"meq per min; milliequivalents per minute\",\"LOINC\",\"SRat\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliequivalent per milliliter\",\"meq/mL\",\"MEQ/ML\",\"amount of substance\",6.0221367e+26,[-3,0,0,0,0,0,0],\"meq/mL\",\"chemical\",true,null,null,1,false,false,1,\"meq per mL; milliequivalents per milliliter; millilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"equivalence equals moles per valence\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milligram\",\"mg\",\"MG\",\"mass\",0.001,[0,0,1,0,0,0,0],\"mg\",null,false,\"M\",null,1,false,false,0,\"milligrams\",\"LOINC\",\"Mass\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per 10 hour\",\"mg/(10.h)\",\"MG/HR\",\"mass\",2.7777777777777777e-8,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/10hrs; mg/10 hrs; mg per 10 hrs; milligrams per 10 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per 12 hour\",\"mg/(12.h)\",\"MG/HR\",\"mass\",2.3148148148148148e-8,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/12hrs; mg/12 hrs; per 12 hrs; 12hrs; milligrams per 12 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"units used for tests in urine\",null,null,null,null,false],[false,\"milligram per 2 hour\",\"mg/(2.h)\",\"MG/HR\",\"mass\",1.3888888888888888e-7,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/2hrs; mg/2 hrs; mg per 2 hrs; 2hrs; milligrams per 2 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"units used for tests in urine\",null,null,null,null,false],[false,\"milligram per 24 hour\",\"mg/(24.h)\",\"MG/HR\",\"mass\",1.1574074074074074e-8,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/24hrs; mg/24 hrs; milligrams per 24 hours; mg/kg/dy; mg per kg per day; milligrams per kilograms per days\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per 6 hour\",\"mg/(6.h)\",\"MG/HR\",\"mass\",4.6296296296296295e-8,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/6hrs; mg/6 hrs; mg per 6 hrs; 6hrs; milligrams per 6 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per 72 hour\",\"mg/(72.h)\",\"MG/HR\",\"mass\",3.858024691358025e-9,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/72hrs; mg/72 hrs; 72 hrs; 72hrs; milligrams per 72 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per 8 hour\",\"mg/(8.h)\",\"MG/HR\",\"mass\",3.472222222222222e-8,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/8hrs; mg/8 hrs; milligrams per 8 hours; shift\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per day\",\"mg/d\",\"MG/D\",\"mass\",1.1574074074074074e-8,[0,-1,1,0,0,0,0],\"mg/d\",null,false,\"M\",null,1,false,false,0,\"mg/24hrs; mg/24 hrs; milligrams per 24 hours; mg/dy; mg per day; milligrams\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per deciliter\",\"mg/dL\",\"MG/DL\",\"mass\",10,[-3,0,1,0,0,0,0],\"mg/dL\",null,false,\"M\",null,1,false,false,0,\"mg per dL; milligrams per deciliter; decilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per gram\",\"mg/g\",\"MG/G\",\"mass\",0.001,[0,0,0,0,0,0,0],\"mg/g\",null,false,\"M\",null,1,false,false,0,\"mg per gm; milligrams per gram\",\"LOINC\",\"MCnt; MRto\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per hour\",\"mg/h\",\"MG/HR\",\"mass\",2.7777777777777776e-7,[0,-1,1,0,0,0,0],\"mg/h\",null,false,\"M\",null,1,false,false,0,\"mg/hr; mg per hr; milligrams\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per kilogram\",\"mg/kg\",\"MG/KG\",\"mass\",0.000001,[0,0,0,0,0,0,0],\"mg/kg\",null,false,\"M\",null,1,false,false,0,\"mg per kg; milligrams per kilograms\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per kilogram per 8 hour\",\"mg/kg/(8.h)\",\"(MG/KG)/HR\",\"mass\",3.472222222222222e-11,[0,-1,0,0,0,0,0],\"(mg/kg)/h\",null,false,\"M\",null,1,false,false,0,\"mg/(8.h.kg); mg/kg/8hrs; mg/kg/8 hrs; mg per kg per 8hrs; 8 hrs; milligrams per kilograms per 8 hours; shift\",\"LOINC\",\"RelMRat; MCntRat\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[false,\"milligram per kilogram per day\",\"mg/kg/d\",\"(MG/KG)/D\",\"mass\",1.1574074074074074e-11,[0,-1,0,0,0,0,0],\"(mg/kg)/d\",null,false,\"M\",null,1,false,false,0,\"mg/(kg.d); mg/(kg.24.h)mg/kg/dy; mg per kg per day; milligrams per kilograms per days; mg/kg/(24.h); mg/kg/24hrs; 24 hrs; 24 hours\",\"LOINC\",\"RelMRat \",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[false,\"milligram per kilogram per hour\",\"mg/kg/h\",\"(MG/KG)/HR\",\"mass\",2.7777777777777777e-10,[0,-1,0,0,0,0,0],\"(mg/kg)/h\",null,false,\"M\",null,1,false,false,0,\"mg/(kg.h); mg/kg/hr; mg per kg per hr; milligrams per kilograms per hour\",\"LOINC\",\"RelMRat; MCntRat\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[false,\"milligram per kilogram per minute\",\"mg/kg/min\",\"(MG/KG)/MIN\",\"mass\",1.6666666666666667e-8,[0,-1,0,0,0,0,0],\"(mg/kg)/min\",null,false,\"M\",null,1,false,false,0,\"mg/(kg.min); mg per kg per min; milligrams per kilograms per minute\",\"LOINC\",\"RelMRat; MCntRat\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[false,\"milligram per liter\",\"mg/L\",\"MG/L\",\"mass\",1,[-3,0,1,0,0,0,0],\"mg/L\",null,false,\"M\",null,1,false,false,0,\"mg per l; milligrams per liter; litre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per square meter\",\"mg/m2\",\"MG/M2\",\"mass\",0.001,[-2,0,1,0,0,0,0],\"mg/(m2)\",null,false,\"M\",null,1,false,false,0,\"mg/m^2; mg/sq. m; mg per m2; mg per m^2; mg per sq. milligrams; meter squared; metre\",\"LOINC\",\"ArMass\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per cubic meter\",\"mg/m3\",\"MG/M3\",\"mass\",0.001,[-3,0,1,0,0,0,0],\"mg/(m3)\",null,false,\"M\",null,1,false,false,0,\"mg/m^3; mg/cu. m; mg per m3; milligrams per cubic meter; meter cubed; metre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per milligram\",\"mg/mg\",\"MG/MG\",\"mass\",1,[0,0,0,0,0,0,0],\"mg/mg\",null,false,\"M\",null,1,false,false,0,\"mg per mg; milligrams; milligram/milligram\",\"LOINC\",\"MRto\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per minute\",\"mg/min\",\"MG/MIN\",\"mass\",0.000016666666666666667,[0,-1,1,0,0,0,0],\"mg/min\",null,false,\"M\",null,1,false,false,0,\"mg per min; milligrams per minutes; milligram/minute\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per milliliter\",\"mg/mL\",\"MG/ML\",\"mass\",1000.0000000000001,[-3,0,1,0,0,0,0],\"mg/mL\",null,false,\"M\",null,1,false,false,0,\"mg per mL; milligrams per milliliters; millilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per millimole\",\"mg/mmol\",\"MG/MMOL\",\"mass\",1.660540186674939e-24,[0,0,1,0,0,0,0],\"mg/mmol\",null,false,\"M\",null,1,false,false,-1,\"mg per mmol; milligrams per millimole; \",\"LOINC\",\"Ratio\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milligram per week\",\"mg/wk\",\"MG/WK\",\"mass\",1.6534391534391535e-9,[0,-1,1,0,0,0,0],\"mg/wk\",null,false,\"M\",null,1,false,false,0,\"mg/week; mg per wk; milligrams per weeks; milligram/week\",\"LOINC\",\"Mrat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milliliter\",\"mL\",\"ML\",\"volume\",0.000001,[3,0,0,0,0,0,0],\"mL\",\"iso1000\",true,null,null,1,false,false,0,\"milliliters; millilitres\",\"LOINC\",\"Vol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 10 hour\",\"mL/(10.h)\",\"ML/HR\",\"volume\",2.7777777777777777e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/10hrs; ml/10 hrs; mL per 10hrs; 10 hrs; milliliters per 10 hours; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 12 hour\",\"mL/(12.h)\",\"ML/HR\",\"volume\",2.3148148148148147e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/12hrs; ml/12 hrs; mL per 12hrs; 12 hrs; milliliters per 12 hours; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 2 hour\",\"mL/(2.h)\",\"ML/HR\",\"volume\",1.3888888888888888e-10,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/2hrs; ml/2 hrs; mL per 2hrs; 2 hrs; milliliters per 2 hours; millilitres \",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 24 hour\",\"mL/(24.h)\",\"ML/HR\",\"volume\",1.1574074074074074e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/24hrs; ml/24 hrs; mL per 24hrs; 24 hrs; milliliters per 24 hours; millilitres; ml/dy; /day; ml per dy; days; fluid outputs; fluid inputs; flow rate\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 4 hour\",\"mL/(4.h)\",\"ML/HR\",\"volume\",6.944444444444444e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/4hrs; ml/4 hrs; mL per 4hrs; 4 hrs; milliliters per 4 hours; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 5 hour\",\"mL/(5.h)\",\"ML/HR\",\"volume\",5.5555555555555553e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/5hrs; ml/5 hrs; mL per 5hrs; 5 hrs; milliliters per 5 hours; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 6 hour\",\"mL/(6.h)\",\"ML/HR\",\"volume\",4.6296296296296294e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/6hrs; ml/6 hrs; mL per 6hrs; 6 hrs; milliliters per 6 hours; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 72 hour\",\"mL/(72.h)\",\"ML/HR\",\"volume\",3.8580246913580245e-12,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/72hrs; ml/72 hrs; mL per 72hrs; 72 hrs; milliliters per 72 hours; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 8 hour\",\"mL/(8.h)\",\"ML/HR\",\"volume\",3.472222222222222e-11,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"ml/8hrs; ml/8 hrs; mL per 8hrs; 8 hrs; milliliters per 8 hours; millilitres; shift\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per 8 hour per kilogram\",\"mL/(8.h)/kg\",\"(ML/HR)/KG\",\"volume\",3.472222222222222e-14,[3,-1,-1,0,0,0,0],\"(mL/h)/kg\",\"iso1000\",true,null,null,1,false,false,0,\"mL/kg/(8.h); ml/8h/kg; ml/8 h/kg; ml/8hr/kg; ml/8 hr/kgr; mL per 8h per kg; 8 h; 8hr; 8 hr; milliliters per 8 hours per kilogram; millilitres; shift\",\"LOINC\",\"VRatCnt\",\"Clinical\",\"unit used to measure renal excretion volume rate per body mass\",\"l\",null,\"1\",1,false],[false,\"milliliter per square inch (international)\",\"mL/[sin_i]\",\"ML/[SIN_I]\",\"volume\",0.0015500031000061998,[1,0,0,0,0,0,0],\"mL\",\"iso1000\",true,null,null,1,false,false,0,\"mL/sin; mL/in2; mL/in^2; mL per sin; in2; in^2; sq. in; milliliters per square inch; inch squared\",\"LOINC\",\"ArVol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per centimeter of water\",\"mL/cm[H2O]\",\"ML/CM[H2O]\",\"volume\",1.0197162129779282e-11,[4,2,-1,0,0,0,0],\"mL/(cm HO2)\",\"iso1000\",true,null,null,1,false,false,0,\"milliliters per centimeter of water; millilitre per centimetre of water; millilitres per centimetre of water; mL/cmH2O; mL/cm H2O; mL per cmH2O; mL per cm H2O\",\"LOINC\",\"Compli\",\"Clinical\",\"unit used to measure dynamic lung compliance\",\"l\",null,\"1\",1,false],[false,\"milliliter per day\",\"mL/d\",\"ML/D\",\"volume\",1.1574074074074074e-11,[3,-1,0,0,0,0,0],\"mL/d\",\"iso1000\",true,null,null,1,false,false,0,\"ml/day; ml per day; milliliters per day; 24 hours; 24hrs; millilitre;\",\"LOINC\",\"VRat\",\"Clinical\",\"usually used to measure fluid output or input; flow rate\",\"l\",null,\"1\",1,false],[false,\"milliliter per deciliter\",\"mL/dL\",\"ML/DL\",\"volume\",0.009999999999999998,[0,0,0,0,0,0,0],\"mL/dL\",\"iso1000\",true,null,null,1,false,false,0,\"mL per dL; millilitres; decilitre; milliliters\",\"LOINC\",\"VFr; VFrDiff\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per hour\",\"mL/h\",\"ML/HR\",\"volume\",2.7777777777777777e-10,[3,-1,0,0,0,0,0],\"mL/h\",\"iso1000\",true,null,null,1,false,false,0,\"mL/hr; mL per hr; milliliters per hour; millilitres; fluid intake; fluid output\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per kilogram\",\"mL/kg\",\"ML/KG\",\"volume\",9.999999999999999e-10,[3,0,-1,0,0,0,0],\"mL/kg\",\"iso1000\",true,null,null,1,false,false,0,\"mL per kg; milliliters per kilogram; millilitres\",\"LOINC\",\"VCnt\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per kilogram per 8 hour\",\"mL/kg/(8.h)\",\"(ML/KG)/HR\",\"volume\",3.472222222222222e-14,[3,-1,-1,0,0,0,0],\"(mL/kg)/h\",\"iso1000\",true,null,null,1,false,false,0,\"mL/(8.h.kg); mL/kg/8hrs; mL/kg/8 hrs; mL per kg per 8hrs; 8 hrs; milliliters per kilograms per 8 hours; millilitres; shift\",\"LOINC\",\"VCntRat; RelEngRat\",\"Clinical\",\"unit used to measure renal excretion volume rate per body mass\",\"l\",null,\"1\",1,false],[false,\"milliliter per kilogram per day\",\"mL/kg/d\",\"(ML/KG)/D\",\"volume\",1.1574074074074072e-14,[3,-1,-1,0,0,0,0],\"(mL/kg)/d\",\"iso1000\",true,null,null,1,false,false,0,\"mL/(kg.d); mL/kg/dy; mL per kg per day; milliliters per kilograms per day; mg/kg/24hrs; 24 hrs; per 24 hours millilitres\",\"LOINC\",\"VCntRat; RelEngRat\",\"Clinical\",\"unit used to measure renal excretion volume rate per body mass\",\"l\",null,\"1\",1,false],[false,\"milliliter per kilogram per hour\",\"mL/kg/h\",\"(ML/KG)/HR\",\"volume\",2.7777777777777774e-13,[3,-1,-1,0,0,0,0],\"(mL/kg)/h\",\"iso1000\",true,null,null,1,false,false,0,\"mL/(kg.h); mL/kg/hr; mL per kg per hr; milliliters per kilograms per hour; millilitres\",\"LOINC\",\"VCntRat; RelEngRat\",\"Clinical\",\"unit used to measure renal excretion volume rate per body mass\",\"l\",null,\"1\",1,false],[false,\"milliliter per kilogram per minute\",\"mL/kg/min\",\"(ML/KG)/MIN\",\"volume\",1.6666666666666664e-11,[3,-1,-1,0,0,0,0],\"(mL/kg)/min\",\"iso1000\",true,null,null,1,false,false,0,\"mL/(kg.min); mL/kg/dy; mL per kg per day; milliliters per kilograms per day; millilitres\",\"LOINC\",\"RelEngRat\",\"Clinical\",\"used for tests that measure activity metabolic rate compared to standard resting metabolic rate \",\"l\",null,\"1\",1,false],[false,\"milliliter per square meter\",\"mL/m2\",\"ML/M2\",\"volume\",0.000001,[1,0,0,0,0,0,0],\"mL/(m2)\",\"iso1000\",true,null,null,1,false,false,0,\"mL/m^2; mL/sq. meter; mL per m2; m^2; sq. meter; milliliters per square meter; millilitres; meter squared\",\"LOINC\",\"ArVol\",\"Clinical\",\"used for tests that relate to heart work - e.g. ventricular stroke volume; atrial volume per body surface area\",\"l\",null,\"1\",1,false],[false,\"milliliter per millibar\",\"mL/mbar\",\"ML/MBAR\",\"volume\",1e-11,[4,2,-1,0,0,0,0],\"mL/mbar\",\"iso1000\",true,null,null,1,false,false,0,\"mL per mbar; milliliters per millibar; millilitres\",\"LOINC\",\"\",\"Clinical\",\"unit used to measure dynamic lung compliance\",\"l\",null,\"1\",1,false],[false,\"milliliter per minute\",\"mL/min\",\"ML/MIN\",\"volume\",1.6666666666666667e-8,[3,-1,0,0,0,0,0],\"mL/min\",\"iso1000\",true,null,null,1,false,false,0,\"mL per min; milliliters; millilitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per minute per square meter\",\"mL/min/m2\",\"(ML/MIN)/M2\",\"volume\",1.6666666666666667e-8,[1,-1,0,0,0,0,0],\"(mL/min)/(m2)\",\"iso1000\",true,null,null,1,false,false,0,\"ml/min/m^2; ml/min/sq. meter; mL per min per m2; m^2; sq. meter; milliliters per minutes per square meter; millilitres; metre; meter squared\",\"LOINC\",\"ArVRat\",\"Clinical\",\"unit used to measure volume per body surface area; oxygen consumption index\",\"l\",null,\"1\",1,false],[false,\"milliliter per millimeter\",\"mL/mm\",\"ML/MM\",\"volume\",0.001,[2,0,0,0,0,0,0],\"mL/mm\",\"iso1000\",true,null,null,1,false,false,0,\"mL per mm; milliliters per millimeter; millilitres; millimetre\",\"LOINC\",\"Lineic Volume\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"milliliter per second\",\"mL/s\",\"ML/S\",\"volume\",0.000001,[3,-1,0,0,0,0,0],\"mL/s\",\"iso1000\",true,null,null,1,false,false,0,\"ml/sec; mL per sec; milliliters per second; millilitres\",\"LOINC\",\"Vel; VelRat; VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"millimeter\",\"mm\",\"MM\",\"length\",0.001,[1,0,0,0,0,0,0],\"mm\",null,false,\"L\",null,1,false,false,0,\"millimeters; millimetres; height; length; diameter; thickness; axis; curvature; size\",\"LOINC\",\"Len\",\"Clinical\",\"\",null,null,null,null,false],[false,\"millimeter per hour\",\"mm/h\",\"MM/HR\",\"length\",2.7777777777777776e-7,[1,-1,0,0,0,0,0],\"mm/h\",null,false,\"L\",null,1,false,false,0,\"mm/hr; mm per hr; millimeters per hour; millimetres\",\"LOINC\",\"Vel\",\"Clinical\",\"unit to measure sedimentation rate\",null,null,null,null,false],[false,\"millimeter per minute\",\"mm/min\",\"MM/MIN\",\"length\",0.000016666666666666667,[1,-1,0,0,0,0,0],\"mm/min\",null,false,\"L\",null,1,false,false,0,\"mm per min; millimeters per minute; millimetres\",\"LOINC\",\"Vel\",\"Clinical\",\"\",null,null,null,null,false],[false,\"millimeter of water\",\"mm[H2O]\",\"MM[H2O]\",\"pressure\",9806.65,[-1,-2,1,0,0,0,0],\"mm HO2\",\"clinical\",true,null,null,1,false,false,0,\"mmH2O; mm H2O; millimeters of water; millimetres\",\"LOINC\",\"Pres\",\"Clinical\",\"\",\"kPa\",\"KPAL\",\"980665e-5\",9.80665,false],[false,\"millimeter of mercury\",\"mm[Hg]\",\"MM[HG]\",\"pressure\",133322,[-1,-2,1,0,0,0,0],\"mm Hg\",\"clinical\",true,null,null,1,false,false,0,\"mmHg; mm Hg; millimeters of mercury; millimetres\",\"LOINC\",\"Pres; PPres; Ratio\",\"Clinical\",\"1 mm[Hg] = 1 torr; unit to measure blood pressure\",\"kPa\",\"KPAL\",\"133.3220\",133.322,false],[false,\"square millimeter\",\"mm2\",\"MM2\",\"length\",0.000001,[2,0,0,0,0,0,0],\"mm2\",null,false,\"L\",null,1,false,false,0,\"mm^2; sq. mm.; sq. millimeters; millimeters squared; millimetres\",\"LOINC\",\"Area\",\"Clinical\",\"\",null,null,null,null,false],[false,\"millimole\",\"mmol\",\"MMOL\",\"amount of substance\",602213670000000000000,[0,0,0,0,0,0,0],\"mmol\",\"si\",true,null,null,1,false,false,1,\"millimoles\",\"LOINC\",\"Sub\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per 12 hour\",\"mmol/(12.h)\",\"MMOL/HR\",\"amount of substance\",13940131250000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/12hrs; mmol/12 hrs; mmol per 12 hrs; 12hrs; millimoles per 12 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"unit for tests related to urine\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per 2 hour\",\"mmol/(2.h)\",\"MMOL/HR\",\"amount of substance\",83640787500000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/2hrs; mmol/2 hrs; mmol per 2 hrs; 2hrs; millimoles per 2 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"unit for tests related to urine\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per 24 hour\",\"mmol/(24.h)\",\"MMOL/HR\",\"amount of substance\",6970065625000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/24hrs; mmol/24 hrs; mmol per 24 hrs; 24hrs; millimoles per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per 5 hour\",\"mmol/(5.h)\",\"MMOL/HR\",\"amount of substance\",33456315000000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/5hrs; mmol/5 hrs; mmol per 5 hrs; 5hrs; millimoles per 5 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"unit for tests related to doses\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per 6 hour\",\"mmol/(6.h)\",\"MMOL/HR\",\"amount of substance\",27880262500000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/6hrs; mmol/6 hrs; mmol per 6 hrs; 6hrs; millimoles per 6 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"unit for tests related to urine\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per 8 hour\",\"mmol/(8.h)\",\"MMOL/HR\",\"amount of substance\",20910196875000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/8hrs; mmol/8 hrs; mmol per 8 hrs; 8hrs; millimoles per 8 hours; shift\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per day\",\"mmol/d\",\"MMOL/D\",\"amount of substance\",6970065625000000,[0,-1,0,0,0,0,0],\"mmol/d\",\"si\",true,null,null,1,false,false,1,\"mmol/24hrs; mmol/24 hrs; mmol per 24 hrs; 24hrs; millimoles per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per deciliter\",\"mmol/dL\",\"MMOL/DL\",\"amount of substance\",6.022136699999999e+24,[-3,0,0,0,0,0,0],\"mmol/dL\",\"si\",true,null,null,1,false,false,1,\"mmol per dL; millimoles; decilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per gram\",\"mmol/g\",\"MMOL/G\",\"amount of substance\",602213670000000000000,[0,0,-1,0,0,0,0],\"mmol/g\",\"si\",true,null,null,1,false,false,1,\"mmol per gram; millimoles\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per hour\",\"mmol/h\",\"MMOL/HR\",\"amount of substance\",167281575000000000,[0,-1,0,0,0,0,0],\"mmol/h\",\"si\",true,null,null,1,false,false,1,\"mmol/hr; mmol per hr; millimoles per hour\",\"LOINC\",\"SRat\",\"Clinical\",\"unit for tests related to urine\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per kilogram\",\"mmol/kg\",\"MMOL/KG\",\"amount of substance\",602213670000000000,[0,0,-1,0,0,0,0],\"mmol/kg\",\"si\",true,null,null,1,false,false,1,\"mmol per kg; millimoles per kilogram\",\"LOINC\",\"SCnt\",\"Clinical\",\"unit for tests related to stool\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per kilogram per 8 hour\",\"mmol/kg/(8.h)\",\"(MMOL/KG)/HR\",\"amount of substance\",20910196875000,[0,-1,-1,0,0,0,0],\"(mmol/kg)/h\",\"si\",true,null,null,1,false,false,1,\"mmol/(8.h.kg); mmol/kg/8hrs; mmol/kg/8 hrs; mmol per kg per 8hrs; 8 hrs; millimoles per kilograms per 8 hours; shift\",\"LOINC\",\"CCnt\",\"Clinical\",\"unit used to measure molar dose rate per patient body mass\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per kilogram per day\",\"mmol/kg/d\",\"(MMOL/KG)/D\",\"amount of substance\",6970065625000,[0,-1,-1,0,0,0,0],\"(mmol/kg)/d\",\"si\",true,null,null,1,false,false,1,\"mmol/kg/dy; mmol/kg/day; mmol per kg per dy; millimoles per kilograms per day\",\"LOINC\",\"RelSRat\",\"Clinical\",\"unit used to measure molar dose rate per patient body mass\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per kilogram per hour\",\"mmol/kg/h\",\"(MMOL/KG)/HR\",\"amount of substance\",167281575000000,[0,-1,-1,0,0,0,0],\"(mmol/kg)/h\",\"si\",true,null,null,1,false,false,1,\"mmol/kg/hr; mmol per kg per hr; millimoles per kilograms per hour\",\"LOINC\",\"CCnt\",\"Clinical\",\"unit used to measure molar dose rate per patient body mass\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per kilogram per minute\",\"mmol/kg/min\",\"(MMOL/KG)/MIN\",\"amount of substance\",10036894500000000,[0,-1,-1,0,0,0,0],\"(mmol/kg)/min\",\"si\",true,null,null,1,false,false,1,\"mmol/(kg.min); mmol/kg/min; mmol per kg per min; millimoles per kilograms per minute\",\"LOINC\",\"CCnt\",\"Clinical\",\"unit used to measure molar dose rate per patient body mass; note that the unit for the enzyme unit U = umol/min. mmol/kg/min = kU/kg; \",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per liter\",\"mmol/L\",\"MMOL/L\",\"amount of substance\",6.0221367e+23,[-3,0,0,0,0,0,0],\"mmol/L\",\"si\",true,null,null,1,false,false,1,\"mmol per L; millimoles per liter; litre\",\"LOINC\",\"SCnc\",\"Clinical\",\"unit for tests related to doses\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per square meter\",\"mmol/m2\",\"MMOL/M2\",\"amount of substance\",602213670000000000000,[-2,0,0,0,0,0,0],\"mmol/(m2)\",\"si\",true,null,null,1,false,false,1,\"mmol/m^2; mmol/sq. meter; mmol per m2; m^2; sq. meter; millimoles; meter squared; metre\",\"LOINC\",\"ArSub\",\"Clinical\",\"unit used to measure molar dose per patient body surface area\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per minute\",\"mmol/min\",\"MMOL/MIN\",\"amount of substance\",10036894500000000000,[0,-1,0,0,0,0,0],\"mmol/min\",\"si\",true,null,null,1,false,false,1,\"mmol per min; millimoles per minute\",\"LOINC\",\"Srat; CAct\",\"Clinical\",\"unit for the enzyme unit U = umol/min. mmol/min = kU\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per millimole\",\"mmol/mmol\",\"MMOL/MMOL\",\"amount of substance\",1,[0,0,0,0,0,0,0],\"mmol/mmol\",\"si\",true,null,null,1,false,false,0,\"mmol per mmol; millimoles per millimole\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per mole\",\"mmol/mol\",\"MMOL/MOL\",\"amount of substance\",0.001,[0,0,0,0,0,0,0],\"mmol/mol\",\"si\",true,null,null,1,false,false,0,\"mmol per mol; millimoles per mole\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"millimole per second per liter\",\"mmol/s/L\",\"(MMOL/S)/L\",\"amount of substance\",6.0221367e+23,[-3,-1,0,0,0,0,0],\"(mmol/s)/L\",\"si\",true,null,null,1,false,false,1,\"mmol/sec/L; mmol per s per L; per sec; millimoles per seconds per liter; litre\",\"LOINC\",\"CCnc \",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per kilogram\",\"mol/kg\",\"MOL/KG\",\"amount of substance\",602213670000000000000,[0,0,-1,0,0,0,0],\"mol/kg\",\"si\",true,null,null,1,false,false,1,\"mol per kg; moles; mols\",\"LOINC\",\"SCnt\",\"Clinical\",\"unit for tests related to stool\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per kilogram per second\",\"mol/kg/s\",\"(MOL/KG)/S\",\"amount of substance\",602213670000000000000,[0,-1,-1,0,0,0,0],\"(mol/kg)/s\",\"si\",true,null,null,1,false,false,1,\"mol/kg/sec; mol per kg per sec; moles per kilograms per second; mols\",\"LOINC\",\"CCnt\",\"Clinical\",\"unit of catalytic activity (mol/s) per mass (kg)\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per liter\",\"mol/L\",\"MOL/L\",\"amount of substance\",6.0221366999999994e+26,[-3,0,0,0,0,0,0],\"mol/L\",\"si\",true,null,null,1,false,false,1,\"mol per L; moles per liter; litre; moles; mols\",\"LOINC\",\"SCnc\",\"Clinical\",\"unit often used in tests measuring oxygen content\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per cubic meter\",\"mol/m3\",\"MOL/M3\",\"amount of substance\",6.0221367e+23,[-3,0,0,0,0,0,0],\"mol/(m3)\",\"si\",true,null,null,1,false,false,1,\"mol/m^3; mol/cu. m; mol per m3; m^3; cu. meter; mols; moles; meters cubed; metre; mole per kiloliter; kilolitre; mol/kL\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per milliliter\",\"mol/mL\",\"MOL/ML\",\"amount of substance\",6.0221367e+29,[-3,0,0,0,0,0,0],\"mol/mL\",\"si\",true,null,null,1,false,false,1,\"mol per mL; moles; millilitre; mols\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per mole\",\"mol/mol\",\"MOL/MOL\",\"amount of substance\",1,[0,0,0,0,0,0,0],\"mol/mol\",\"si\",true,null,null,1,false,false,0,\"mol per mol; moles per mol; mols\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"mole per second\",\"mol/s\",\"MOL/S\",\"amount of substance\",6.0221367e+23,[0,-1,0,0,0,0,0],\"mol/s\",\"si\",true,null,null,1,false,false,1,\"mol per sec; moles per second; mols\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"milliosmole\",\"mosm\",\"MOSM\",\"amount of substance (dissolved particles)\",602213670000000000000,[0,0,0,0,0,0,0],\"mosm\",\"chemical\",true,null,null,1,false,false,1,\"milliosmoles\",\"LOINC\",\"Osmol\",\"Clinical\",\"equal to 1/1000 of an osmole\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliosmole per kilogram\",\"mosm/kg\",\"MOSM/KG\",\"amount of substance (dissolved particles)\",602213670000000000,[0,0,-1,0,0,0,0],\"mosm/kg\",\"chemical\",true,null,null,1,false,false,1,\"mosm per kg; milliosmoles per kilogram\",\"LOINC\",\"Osmol\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"milliosmole per liter\",\"mosm/L\",\"MOSM/L\",\"amount of substance (dissolved particles)\",6.0221367e+23,[-3,0,0,0,0,0,0],\"mosm/L\",\"chemical\",true,null,null,1,false,false,1,\"mosm per liter; litre; milliosmoles\",\"LOINC\",\"Osmol\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"millipascal\",\"mPa\",\"MPAL\",\"pressure\",1,[-1,-2,1,0,0,0,0],\"mPa\",\"si\",true,null,null,1,false,false,0,\"millipascals\",\"LOINC\",\"Pres\",\"Clinical\",\"unit of pressure\",\"N/m2\",\"N/M2\",\"1\",1,false],[false,\"millipascal second\",\"mPa.s\",\"MPAL.S\",\"pressure\",1,[-1,-1,1,0,0,0,0],\"mPa.s\",\"si\",true,null,null,1,false,false,0,\"mPa*s; millipoise; mP; dynamic viscosity\",\"LOINC\",\"Visc\",\"Clinical\",\"base units for millipoise, a measurement of dynamic viscosity\",\"N/m2\",\"N/M2\",\"1\",1,false],[false,\"megasecond\",\"Ms\",\"MAS\",\"time\",1000000,[0,1,0,0,0,0,0],\"Ms\",null,false,\"T\",null,1,false,false,0,\"megaseconds\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"millisecond\",\"ms\",\"MS\",\"time\",0.001,[0,1,0,0,0,0,0],\"ms\",null,false,\"T\",null,1,false,false,0,\"milliseconds; duration\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"milli enzyme unit per gram\",\"mU/g\",\"MU/G\",\"catalytic activity\",10036894500000,[0,-1,-1,0,0,0,0],\"mU/g\",\"chemical\",true,null,null,1,false,false,1,\"mU per gm; milli enzyme units per gram; enzyme activity; enzymatic activity per mass\",\"LOINC\",\"CCnt\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"milli enzyme unit per liter\",\"mU/L\",\"MU/L\",\"catalytic activity\",10036894500000000,[-3,-1,0,0,0,0,0],\"mU/L\",\"chemical\",true,null,null,1,false,false,1,\"mU per liter; litre; milli enzyme units enzymatic activity per volume; enzyme activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"milli enzyme unit per milligram\",\"mU/mg\",\"MU/MG\",\"catalytic activity\",10036894500000000,[0,-1,-1,0,0,0,0],\"mU/mg\",\"chemical\",true,null,null,1,false,false,1,\"mU per mg; milli enzyme units per milligram\",\"LOINC\",\"CCnt\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"milli enzyme unit per milliliter\",\"mU/mL\",\"MU/ML\",\"catalytic activity\",10036894500000000000,[-3,-1,0,0,0,0,0],\"mU/mL\",\"chemical\",true,null,null,1,false,false,1,\"mU per mL; milli enzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"milli enzyme unit per milliliter per minute\",\"mU/mL/min\",\"(MU/ML)/MIN\",\"catalytic activity\",167281575000000000,[-3,-2,0,0,0,0,0],\"(mU/mL)/min\",\"chemical\",true,null,null,1,false,false,1,\"mU per mL per min; mU per milliliters per minute; millilitres; milli enzyme units; enzymatic activity; enzyme activity\",\"LOINC\",\"CCncRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 mU = 1 nmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"millivolt\",\"mV\",\"MV\",\"electric potential\",1,[2,-2,1,0,0,-1,0],\"mV\",\"si\",true,null,null,1,false,false,0,\"millivolts\",\"LOINC\",\"Elpot\",\"Clinical\",\"unit of electric potential (voltage)\",\"J/C\",\"J/C\",\"1\",1,false],[false,\"Newton centimeter\",\"N.cm\",\"N.CM\",\"force\",10,[2,-2,1,0,0,0,0],\"N.cm\",\"si\",true,null,null,1,false,false,0,\"N*cm; Ncm; N cm; Newton*centimeters; Newton* centimetres; torque; work\",\"LOINC\",\"\",\"Clinical\",\"as a measurement of work, N.cm = 1/100 Joules;\\\\nnote that N.m is the standard unit of measurement for torque (although dimensionally equivalent to Joule), and N.cm can also be thought of as a torqe unit\",\"kg.m/s2\",\"KG.M/S2\",\"1\",1,false],[false,\"Newton second\",\"N.s\",\"N.S\",\"force\",1000,[1,-1,1,0,0,0,0],\"N.s\",\"si\",true,null,null,1,false,false,0,\"Newton*seconds; N*s; N s; Ns; impulse; imp\",\"LOINC\",\"\",\"Clinical\",\"standard unit of impulse\",\"kg.m/s2\",\"KG.M/S2\",\"1\",1,false],[false,\"nanogram\",\"ng\",\"NG\",\"mass\",1e-9,[0,0,1,0,0,0,0],\"ng\",null,false,\"M\",null,1,false,false,0,\"nanograms\",\"LOINC\",\"Mass\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per 24 hour\",\"ng/(24.h)\",\"NG/HR\",\"mass\",1.1574074074074075e-14,[0,-1,1,0,0,0,0],\"ng/h\",null,false,\"M\",null,1,false,false,0,\"ng/24hrs; ng/24 hrs; nanograms per 24 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per 8 hour\",\"ng/(8.h)\",\"NG/HR\",\"mass\",3.4722222222222224e-14,[0,-1,1,0,0,0,0],\"ng/h\",null,false,\"M\",null,1,false,false,0,\"ng/8hrs; ng/8 hrs; nanograms per 8 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per million\",\"ng/10*6\",\"NG/(10*6)\",\"mass\",1e-15,[0,0,1,0,0,0,0],\"ng/(106)\",null,false,\"M\",null,1,false,false,0,\"ng/10^6; ng per 10*6; 10^6; nanograms\",\"LOINC\",\"MNum\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per day\",\"ng/d\",\"NG/D\",\"mass\",1.1574074074074075e-14,[0,-1,1,0,0,0,0],\"ng/d\",null,false,\"M\",null,1,false,false,0,\"ng/dy; ng per day; nanograms \",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per deciliter\",\"ng/dL\",\"NG/DL\",\"mass\",0.00001,[-3,0,1,0,0,0,0],\"ng/dL\",null,false,\"M\",null,1,false,false,0,\"ng per dL; nanograms per deciliter; decilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per gram\",\"ng/g\",\"NG/G\",\"mass\",1e-9,[0,0,0,0,0,0,0],\"ng/g\",null,false,\"M\",null,1,false,false,0,\"ng/gm; ng per gm; nanograms per gram\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per hour\",\"ng/h\",\"NG/HR\",\"mass\",2.777777777777778e-13,[0,-1,1,0,0,0,0],\"ng/h\",null,false,\"M\",null,1,false,false,0,\"ng/hr; ng per hr; nanograms per hour\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per kilogram\",\"ng/kg\",\"NG/KG\",\"mass\",1e-12,[0,0,0,0,0,0,0],\"ng/kg\",null,false,\"M\",null,1,false,false,0,\"ng per kg; nanograms per kilogram\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per kilogram per 8 hour\",\"ng/kg/(8.h)\",\"(NG/KG)/HR\",\"mass\",3.472222222222222e-17,[0,-1,0,0,0,0,0],\"(ng/kg)/h\",null,false,\"M\",null,1,false,false,0,\"ng/(8.h.kg); ng/kg/8hrs; ng/kg/8 hrs; ng per kg per 8hrs; 8 hrs; nanograms per kilograms per 8 hours; shift\",\"LOINC\",\"MRtoRat \",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[false,\"nanogram per kilogram per hour\",\"ng/kg/h\",\"(NG/KG)/HR\",\"mass\",2.7777777777777775e-16,[0,-1,0,0,0,0,0],\"(ng/kg)/h\",null,false,\"M\",null,1,false,false,0,\"ng/(kg.h); ng/kg/hr; ng per kg per hr; nanograms per kilograms per hour\",\"LOINC\",\"MRtoRat \",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[false,\"nanogram per kilogram per minute\",\"ng/kg/min\",\"(NG/KG)/MIN\",\"mass\",1.6666666666666667e-14,[0,-1,0,0,0,0,0],\"(ng/kg)/min\",null,false,\"M\",null,1,false,false,0,\"ng/(kg.min); ng per kg per min; nanograms per kilograms per minute\",\"LOINC\",\"MRtoRat \",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[false,\"nanogram per liter\",\"ng/L\",\"NG/L\",\"mass\",0.000001,[-3,0,1,0,0,0,0],\"ng/L\",null,false,\"M\",null,1,false,false,0,\"ng per L; nanograms per liter; litre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per square meter\",\"ng/m2\",\"NG/M2\",\"mass\",1e-9,[-2,0,1,0,0,0,0],\"ng/(m2)\",null,false,\"M\",null,1,false,false,0,\"ng/m^2; ng/sq. m; ng per m2; m^2; sq. meter; nanograms; meter squared; metre\",\"LOINC\",\"ArMass\",\"Clinical\",\"unit used to measure mass dose per patient body surface area\",null,null,null,null,false],[false,\"nanogram per milligram\",\"ng/mg\",\"NG/MG\",\"mass\",0.000001,[0,0,0,0,0,0,0],\"ng/mg\",null,false,\"M\",null,1,false,false,0,\"ng per mg; nanograms\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per milligram per hour\",\"ng/mg/h\",\"(NG/MG)/HR\",\"mass\",2.7777777777777777e-10,[0,-1,0,0,0,0,0],\"(ng/mg)/h\",null,false,\"M\",null,1,false,false,0,\"ng/mg/hr; ng per mg per hr; nanograms per milligrams per hour\",\"LOINC\",\"MRtoRat \",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per minute\",\"ng/min\",\"NG/MIN\",\"mass\",1.6666666666666667e-11,[0,-1,1,0,0,0,0],\"ng/min\",null,false,\"M\",null,1,false,false,0,\"ng per min; nanograms\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per millliiter\",\"ng/mL\",\"NG/ML\",\"mass\",0.001,[-3,0,1,0,0,0,0],\"ng/mL\",null,false,\"M\",null,1,false,false,0,\"ng per mL; nanograms; millilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per milliliter per hour\",\"ng/mL/h\",\"(NG/ML)/HR\",\"mass\",2.7777777777777776e-7,[-3,-1,1,0,0,0,0],\"(ng/mL)/h\",null,false,\"M\",null,1,false,false,0,\"ng/mL/hr; ng per mL per mL; nanograms per milliliter per hour; nanogram per millilitre per hour; nanograms per millilitre per hour; enzymatic activity per volume; enzyme activity per milliliters\",\"LOINC\",\"CCnc\",\"Clinical\",\"tests that measure enzymatic activity\",null,null,null,null,false],[false,\"nanogram per second\",\"ng/s\",\"NG/S\",\"mass\",1e-9,[0,-1,1,0,0,0,0],\"ng/s\",null,false,\"M\",null,1,false,false,0,\"ng/sec; ng per sec; nanograms per second\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanogram per enzyme unit\",\"ng/U\",\"NG/U\",\"mass\",9.963241120049634e-26,[0,1,1,0,0,0,0],\"ng/U\",null,false,\"M\",null,1,false,false,-1,\"ng per U; nanograms per enzyme unit\",\"LOINC\",\"CMass\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",null,null,null,null,false],[false,\"nanokatal\",\"nkat\",\"NKAT\",\"catalytic activity\",602213670000000,[0,-1,0,0,0,0,0],\"nkat\",\"chemical\",true,null,null,1,false,false,1,\"nanokatals\",\"LOINC\",\"CAct\",\"Clinical\",\"kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.\",\"mol/s\",\"MOL/S\",\"1\",1,false],[false,\"nanoliter\",\"nL\",\"NL\",\"volume\",1.0000000000000002e-12,[3,0,0,0,0,0,0],\"nL\",\"iso1000\",true,null,null,1,false,false,0,\"nanoliters; nanolitres\",\"LOINC\",\"Vol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"nanometer\",\"nm\",\"NM\",\"length\",1e-9,[1,0,0,0,0,0,0],\"nm\",null,false,\"L\",null,1,false,false,0,\"nanometers; nanometres\",\"LOINC\",\"Len\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanometer per second per liter\",\"nm/s/L\",\"(NM/S)/L\",\"length\",0.000001,[-2,-1,0,0,0,0,0],\"(nm/s)/L\",null,false,\"L\",null,1,false,false,0,\"nm/sec/liter; nm/sec/litre; nm per s per l; nm per sec per l; nanometers per second per liter; nanometre per second per litre; nanometres per second per litre\",\"LOINC\",\"VelCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanomole\",\"nmol\",\"NMOL\",\"amount of substance\",602213670000000,[0,0,0,0,0,0,0],\"nmol\",\"si\",true,null,null,1,false,false,1,\"nanomoles\",\"LOINC\",\"Sub\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per 24 hour\",\"nmol/(24.h)\",\"NMOL/HR\",\"amount of substance\",6970065625,[0,-1,0,0,0,0,0],\"nmol/h\",\"si\",true,null,null,1,false,false,1,\"nmol/24hr; nmol/24 hr; nanomoles per 24 hours; nmol/day; nanomoles per day; nmol per day; nanomole/day; nanomol/day\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per day\",\"nmol/d\",\"NMOL/D\",\"amount of substance\",6970065625,[0,-1,0,0,0,0,0],\"nmol/d\",\"si\",true,null,null,1,false,false,1,\"nmol/day; nanomoles per day; nmol per day; nanomole/day; nanomol/day; nmol/24hr; nmol/24 hr; nanomoles per 24 hours; \",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per deciliter\",\"nmol/dL\",\"NMOL/DL\",\"amount of substance\",6022136700000000000,[-3,0,0,0,0,0,0],\"nmol/dL\",\"si\",true,null,null,1,false,false,1,\"nmol per dL; nanomoles per deciliter; nanomole per decilitre; nanomoles per decilitre; nanomole/deciliter; nanomole/decilitre; nanomol/deciliter; nanomol/decilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per gram\",\"nmol/g\",\"NMOL/G\",\"amount of substance\",602213670000000,[0,0,-1,0,0,0,0],\"nmol/g\",\"si\",true,null,null,1,false,false,1,\"nmol per gram; nanomoles per gram; nanomole/gram\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per hour per liter\",\"nmol/h/L\",\"(NMOL/HR)/L\",\"amount of substance\",167281575000000,[-3,-1,0,0,0,0,0],\"(nmol/h)/L\",\"si\",true,null,null,1,false,false,1,\"nmol/hrs/L; nmol per hrs per L; nanomoles per hours per liter; litre; enzymatic activity per volume; enzyme activities\",\"LOINC\",\"CCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per liter\",\"nmol/L\",\"NMOL/L\",\"amount of substance\",602213670000000000,[-3,0,0,0,0,0,0],\"nmol/L\",\"si\",true,null,null,1,false,false,1,\"nmol per L; nanomoles per liter; litre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per milligram\",\"nmol/mg\",\"NMOL/MG\",\"amount of substance\",602213670000000000,[0,0,-1,0,0,0,0],\"nmol/mg\",\"si\",true,null,null,1,false,false,1,\"nmol per mg; nanomoles per milligram\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per milligram per hour\",\"nmol/mg/h\",\"(NMOL/MG)/HR\",\"amount of substance\",167281575000000,[0,-1,-1,0,0,0,0],\"(nmol/mg)/h\",\"si\",true,null,null,1,false,false,1,\"nmol/mg/hr; nmol per mg per hr; nanomoles per milligrams per hour\",\"LOINC\",\"SCntRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per milligram of protein\",\"nmol/mg{prot}\",\"NMOL/MG\",\"amount of substance\",602213670000000000,[0,0,-1,0,0,0,0],\"nmol/mg\",\"si\",true,null,null,1,false,false,1,\"nanomoles; nmol/mg prot; nmol per mg prot\",\"LOINC\",\"Ratio; CCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per minute\",\"nmol/min\",\"NMOL/MIN\",\"amount of substance\",10036894500000,[0,-1,0,0,0,0,0],\"nmol/min\",\"si\",true,null,null,1,false,false,1,\"nmol per min; nanomoles per minute; milli enzyme units; enzyme activity per volume; enzymatic activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. nmol/min = mU (milli enzyme unit)\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per minute per milliliter\",\"nmol/min/mL\",\"(NMOL/MIN)/ML\",\"amount of substance\",10036894500000000000,[-3,-1,0,0,0,0,0],\"(nmol/min)/mL\",\"si\",true,null,null,1,false,false,1,\"nmol per min per mL; nanomoles per minutes per milliliter; millilitre; milli enzyme units per volume; enzyme activity; enzymatic activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. nmol/mL/min = mU/mL\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per milliliter\",\"nmol/mL\",\"NMOL/ML\",\"amount of substance\",602213670000000000000,[-3,0,0,0,0,0,0],\"nmol/mL\",\"si\",true,null,null,1,false,false,1,\"nmol per mL; nanomoles per milliliter; millilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per milliliter per hour\",\"nmol/mL/h\",\"(NMOL/ML)/HR\",\"amount of substance\",167281575000000000,[-3,-1,0,0,0,0,0],\"(nmol/mL)/h\",\"si\",true,null,null,1,false,false,1,\"nmol/mL/hr; nmol per mL per hr; nanomoles per milliliters per hour; millilitres; milli enzyme units per volume; enzyme activity; enzymatic activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min.\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per milliliter per minute\",\"nmol/mL/min\",\"(NMOL/ML)/MIN\",\"amount of substance\",10036894500000000000,[-3,-1,0,0,0,0,0],\"(nmol/mL)/min\",\"si\",true,null,null,1,false,false,1,\"nmol per mL per min; nanomoles per milliliters per min; millilitres; milli enzyme units per volume; enzyme activity; enzymatic activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. nmol/mL/min = mU/mL\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per millimole\",\"nmol/mmol\",\"NMOL/MMOL\",\"amount of substance\",0.000001,[0,0,0,0,0,0,0],\"nmol/mmol\",\"si\",true,null,null,1,false,false,0,\"nmol per mmol; nanomoles per millimole\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per millimole of creatinine\",\"nmol/mmol{creat}\",\"NMOL/MMOL\",\"amount of substance\",0.000001,[0,0,0,0,0,0,0],\"nmol/mmol\",\"si\",true,null,null,1,false,false,0,\"nanomoles\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per mole\",\"nmol/mol\",\"NMOL/MOL\",\"amount of substance\",1e-9,[0,0,0,0,0,0,0],\"nmol/mol\",\"si\",true,null,null,1,false,false,0,\"nmol per mole; nanomoles\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per nanomole\",\"nmol/nmol\",\"NMOL/NMOL\",\"amount of substance\",1,[0,0,0,0,0,0,0],\"nmol/nmol\",\"si\",true,null,null,1,false,false,0,\"nmol per nmol; nanomoles\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per second\",\"nmol/s\",\"NMOL/S\",\"amount of substance\",602213670000000,[0,-1,0,0,0,0,0],\"nmol/s\",\"si\",true,null,null,1,false,false,1,\"nmol/sec; nmol per sec; nanomoles per sercond; milli enzyme units; enzyme activity; enzymatic activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min.\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanomole per second per liter\",\"nmol/s/L\",\"(NMOL/S)/L\",\"amount of substance\",602213670000000000,[-3,-1,0,0,0,0,0],\"(nmol/s)/L\",\"si\",true,null,null,1,false,false,1,\"nmol/sec/L; nmol per s per L; nmol per sec per L; nanomoles per seconds per liter; litre; milli enzyme units per volume; enzyme activity; enzymatic activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min.\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"nanosecond\",\"ns\",\"NS\",\"time\",1e-9,[0,1,0,0,0,0,0],\"ns\",null,false,\"T\",null,1,false,false,0,\"nanoseconds\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"nanoenzyme unit per milliliter\",\"nU/mL\",\"NU/ML\",\"catalytic activity\",10036894500000,[-3,-1,0,0,0,0,0],\"nU/mL\",\"chemical\",true,null,null,1,false,false,1,\"nU per mL; nanoenzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 fU = pmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"Ohm meter\",\"Ohm.m\",\"OHM.M\",\"electric resistance\",1000,[3,-1,1,0,0,-2,0],\"Ω.m\",\"si\",true,null,null,1,false,false,0,\"electric resistivity; meters; metres\",\"LOINC\",\"\",\"Clinical\",\"unit of electric resistivity\",\"V/A\",\"V/A\",\"1\",1,false],[false,\"osmole per kilogram\",\"osm/kg\",\"OSM/KG\",\"amount of substance (dissolved particles)\",602213670000000000000,[0,0,-1,0,0,0,0],\"osm/kg\",\"chemical\",true,null,null,1,false,false,1,\"osm per kg; osmoles per kilogram; osmols\",\"LOINC\",\"Osmol\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"osmole per liter\",\"osm/L\",\"OSM/L\",\"amount of substance (dissolved particles)\",6.0221366999999994e+26,[-3,0,0,0,0,0,0],\"osm/L\",\"chemical\",true,null,null,1,false,false,1,\"osm per L; osmoles per liter; litre; osmols\",\"LOINC\",\"Osmol\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"picoampere\",\"pA\",\"PA\",\"electric current\",1e-12,[0,-1,0,0,0,1,0],\"pA\",\"si\",true,null,null,1,false,false,0,\"picoamperes\",\"LOINC\",\"\",\"Clinical\",\"equal to 10^-12 amperes\",\"C/s\",\"C/S\",\"1\",1,false],[false,\"picogram\",\"pg\",\"PG\",\"mass\",1e-12,[0,0,1,0,0,0,0],\"pg\",null,false,\"M\",null,1,false,false,0,\"picograms\",\"LOINC\",\"Mass; EntMass\",\"Clinical\",\"\",null,null,null,null,false],[false,\"picogram per deciliter\",\"pg/dL\",\"PG/DL\",\"mass\",9.999999999999999e-9,[-3,0,1,0,0,0,0],\"pg/dL\",null,false,\"M\",null,1,false,false,0,\"pg per dL; picograms; decilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"picogram per liter\",\"pg/L\",\"PG/L\",\"mass\",1e-9,[-3,0,1,0,0,0,0],\"pg/L\",null,false,\"M\",null,1,false,false,0,\"pg per L; picograms; litre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"picogram per milligram\",\"pg/mg\",\"PG/MG\",\"mass\",1e-9,[0,0,0,0,0,0,0],\"pg/mg\",null,false,\"M\",null,1,false,false,0,\"pg per mg; picograms\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"picogram per milliliter\",\"pg/mL\",\"PG/ML\",\"mass\",0.000001,[-3,0,1,0,0,0,0],\"pg/mL\",null,false,\"M\",null,1,false,false,0,\"pg per mL; picograms per milliliter; millilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"picogram per millimeter\",\"pg/mm\",\"PG/MM\",\"mass\",1e-9,[-1,0,1,0,0,0,0],\"pg/mm\",null,false,\"M\",null,1,false,false,0,\"pg per mm; picogram/millimeter; picogram/millimetre; picograms per millimeter; millimetre\",\"LOINC\",\"Lineic Mass\",\"Clinical\",\"\",null,null,null,null,false],[false,\"picokatal\",\"pkat\",\"PKAT\",\"catalytic activity\",602213670000,[0,-1,0,0,0,0,0],\"pkat\",\"chemical\",true,null,null,1,false,false,1,\"pkats; picokatals\",\"LOINC\",\"CAct\",\"Clinical\",\"kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.\",\"mol/s\",\"MOL/S\",\"1\",1,false],[false,\"picoliter\",\"pL\",\"PL\",\"volume\",1e-15,[3,0,0,0,0,0,0],\"pL\",\"iso1000\",true,null,null,1,false,false,0,\"picoliters; picolitres\",\"LOINC\",\"Vol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"picometer\",\"pm\",\"PM\",\"length\",1e-12,[1,0,0,0,0,0,0],\"pm\",null,false,\"L\",null,1,false,false,0,\"picometers; picometres\",\"LOINC\",\"Len\",\"Clinical\",\"\",null,null,null,null,false],[false,\"picomole\",\"pmol\",\"PMOL\",\"amount of substance\",602213670000,[0,0,0,0,0,0,0],\"pmol\",\"si\",true,null,null,1,false,false,1,\"picomoles; pmols\",\"LOINC\",\"Sub\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per 24 hour\",\"pmol/(24.h)\",\"PMOL/HR\",\"amount of substance\",6970065.625,[0,-1,0,0,0,0,0],\"pmol/h\",\"si\",true,null,null,1,false,false,1,\"pmol/24hrs; pmol/24 hrs; pmol per 24 hrs; 24hrs; days; dy; picomoles per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per day\",\"pmol/d\",\"PMOL/D\",\"amount of substance\",6970065.625,[0,-1,0,0,0,0,0],\"pmol/d\",\"si\",true,null,null,1,false,false,1,\"pmol/dy; pmol per day; 24 hours; 24hrs; 24 hrs; picomoles\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per deciliter\",\"pmol/dL\",\"PMOL/DL\",\"amount of substance\",6022136700000000,[-3,0,0,0,0,0,0],\"pmol/dL\",\"si\",true,null,null,1,false,false,1,\"pmol per dL; picomoles per deciliter; decilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per gram\",\"pmol/g\",\"PMOL/G\",\"amount of substance\",602213670000,[0,0,-1,0,0,0,0],\"pmol/g\",\"si\",true,null,null,1,false,false,1,\"pmol per gm; picomoles per gram; picomole/gram\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per hour per milliliter \",\"pmol/h/mL\",\"(PMOL/HR)/ML\",\"amount of substance\",167281575000000,[-3,-1,0,0,0,0,0],\"(pmol/h)/mL\",\"si\",true,null,null,1,false,false,1,\"pmol/hrs/mL; pmol per hrs per mL; picomoles per hour per milliliter; millilitre; micro enzyme units per volume; enzymatic activity; enzyme activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. \",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per liter\",\"pmol/L\",\"PMOL/L\",\"amount of substance\",602213670000000,[-3,0,0,0,0,0,0],\"pmol/L\",\"si\",true,null,null,1,false,false,1,\"picomole/liter; pmol per L; picomoles; litre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per minute\",\"pmol/min\",\"PMOL/MIN\",\"amount of substance\",10036894500,[0,-1,0,0,0,0,0],\"pmol/min\",\"si\",true,null,null,1,false,false,1,\"picomole/minute; pmol per min; picomoles per minute; micro enzyme units; enzymatic activity; enzyme activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. pmol/min = uU (micro enzyme unit)\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per milliliter\",\"pmol/mL\",\"PMOL/ML\",\"amount of substance\",602213670000000000,[-3,0,0,0,0,0,0],\"pmol/mL\",\"si\",true,null,null,1,false,false,1,\"picomole/milliliter; picomole/millilitre; pmol per mL; picomoles; millilitre; picomols; pmols\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picomole per micromole\",\"pmol/umol\",\"PMOL/UMOL\",\"amount of substance\",0.000001,[0,0,0,0,0,0,0],\"pmol/μmol\",\"si\",true,null,null,1,false,false,0,\"pmol/mcgmol; picomole/micromole; pmol per umol; pmol per mcgmol; picomoles \",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"picosecond\",\"ps\",\"PS\",\"time\",1e-12,[0,1,0,0,0,0,0],\"ps\",null,false,\"T\",null,1,false,false,0,\"picoseconds; psec\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"picotesla\",\"pT\",\"PT\",\"magnetic flux density\",1e-9,[0,-1,1,0,0,-1,0],\"pT\",\"si\",true,null,null,1,false,false,0,\"picoteslas\",\"LOINC\",\"\",\"Clinical\",\"SI unit of magnetic field strength for magnetic field B\",\"Wb/m2\",\"WB/M2\",\"1\",1,false],[false,\"enzyme unit per 12 hour\",\"U/(12.h)\",\"U/HR\",\"catalytic activity\",232335520833.33334,[0,-2,0,0,0,0,0],\"U/h\",\"chemical\",true,null,null,1,false,false,1,\"U/12hrs; U/ 12hrs; U per 12 hrs; 12hrs; enzyme units per 12 hours; enzyme activity; enzymatic activity per time; umol per min per 12 hours; micromoles per minute per 12 hours; umol/min/12hr\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per 2 hour\",\"U/(2.h)\",\"U/HR\",\"catalytic activity\",1394013125000,[0,-2,0,0,0,0,0],\"U/h\",\"chemical\",true,null,null,1,false,false,1,\"U/2hrs; U/ 2hrs; U per 2 hrs; 2hrs; enzyme units per 2 hours; enzyme activity; enzymatic activity per time; umol per minute per 2 hours; micromoles per minute; umol/min/2hr; umol per min per 2hr\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per 24 hour\",\"U/(24.h)\",\"U/HR\",\"catalytic activity\",116167760416.66667,[0,-2,0,0,0,0,0],\"U/h\",\"chemical\",true,null,null,1,false,false,1,\"U/24hrs; U/ 24hrs; U per 24 hrs; 24hrs; enzyme units per 24 hours; enzyme activity; enzymatic activity per time; micromoles per minute per 24 hours; umol/min/24hr; umol per min per 24hr\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per 10\",\"U/10\",\"U\",\"catalytic activity\",1003689450000000,[0,-1,0,0,0,0,0],\"U\",\"chemical\",true,null,null,1,false,false,1,\"enzyme unit/10; U per 10; enzyme units per 10; enzymatic activity; enzyme activity; micromoles per minute; umol/min/10\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per 10 billion\",\"U/10*10\",\"U/(10*10)\",\"catalytic activity\",1003689.45,[0,-1,0,0,0,0,0],\"U/(1010)\",\"chemical\",true,null,null,1,false,false,1,\"U per 10*10; enzyme units per 10*10; U per 10 billion; enzyme units; enzymatic activity; micromoles per minute per 10 billion; umol/min/10*10\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per trillion\",\"U/10*12\",\"U/(10*12)\",\"catalytic activity\",10036.8945,[0,-1,0,0,0,0,0],\"U/(1012)\",\"chemical\",true,null,null,1,false,false,1,\"enzyme unit/10*12; U per 10*12; enzyme units per 10*12; enzyme units per trillion; enzymatic activity; micromoles per minute per trillion; umol/min/10*12; umol per min per 10*12\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per million\",\"U/10*6\",\"U/(10*6)\",\"catalytic activity\",10036894500,[0,-1,0,0,0,0,0],\"U/(106)\",\"chemical\",true,null,null,1,false,false,1,\"enzyme unit/10*6; U per 10*6; enzyme units per 10*6; enzyme units; enzymatic activity per volume; micromoles per minute per million; umol/min/10*6; umol per min per 10*6\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per billion\",\"U/10*9\",\"U/(10*9)\",\"catalytic activity\",10036894.5,[0,-1,0,0,0,0,0],\"U/(109)\",\"chemical\",true,null,null,1,false,false,1,\"enzyme unit/10*9; U per 10*9; enzyme units per 10*9; enzymatic activity per volume; micromoles per minute per billion; umol/min/10*9; umol per min per 10*9\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per day\",\"U/d\",\"U/D\",\"catalytic activity\",116167760416.66667,[0,-2,0,0,0,0,0],\"U/d\",\"chemical\",true,null,null,1,false,false,1,\"U/dy; enzyme units per day; enzyme units; enzyme activity; enzymatic activity per time; micromoles per minute per day; umol/min/day; umol per min per day\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per deciliter\",\"U/dL\",\"U/DL\",\"catalytic activity\",100368945000000000000,[-3,-1,0,0,0,0,0],\"U/dL\",\"chemical\",true,null,null,1,false,false,1,\"U per dL; enzyme units per deciliter; decilitre; micromoles per minute per deciliter; umol/min/dL; umol per min per dL\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per gram\",\"U/g\",\"U/G\",\"catalytic activity\",10036894500000000,[0,-1,-1,0,0,0,0],\"U/g\",\"chemical\",true,null,null,1,false,false,1,\"U/gm; U per gm; enzyme units per gram; micromoles per minute per gram; umol/min/g; umol per min per g\",\"LOINC\",\"CCnt\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per hour\",\"U/h\",\"U/HR\",\"catalytic activity\",2788026250000,[0,-2,0,0,0,0,0],\"U/h\",\"chemical\",true,null,null,1,false,false,1,\"U/hr; U per hr; enzyme units per hour; micromoles per minute per hour; umol/min/hr; umol per min per hr\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per liter\",\"U/L\",\"U/L\",\"catalytic activity\",10036894500000000000,[-3,-1,0,0,0,0,0],\"U/L\",\"chemical\",true,null,null,1,false,false,1,\"enzyme unit/liter; enzyme unit/litre; U per L; enzyme units per liter; enzyme unit per litre; micromoles per minute per liter; umol/min/L; umol per min per L\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per minute\",\"U/min\",\"U/MIN\",\"catalytic activity\",167281575000000,[0,-2,0,0,0,0,0],\"U/min\",\"chemical\",true,null,null,1,false,false,1,\"enzyme unit/minute; U per min; enzyme units; umol/min/min; micromoles per minute per minute; micromoles per min per min; umol\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per milliliter\",\"U/mL\",\"U/ML\",\"catalytic activity\",1.00368945e+22,[-3,-1,0,0,0,0,0],\"U/mL\",\"chemical\",true,null,null,1,false,false,1,\"U per mL; enzyme units per milliliter; millilitre; micromoles per minute per milliliter; umol/min/mL; umol per min per mL\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"enzyme unit per second\",\"U/s\",\"U/S\",\"catalytic activity\",10036894500000000,[0,-2,0,0,0,0,0],\"U/s\",\"chemical\",true,null,null,1,false,false,1,\"U/sec; U per second; enzyme units per second; micromoles per minute per second; umol/min/sec; umol per min per sec\",\"LOINC\",\"CRat\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min)\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"micro international unit\",\"u[IU]\",\"U[IU]\",\"arbitrary\",0.000001,[0,0,0,0,0,0,0],\"μi.U.\",\"chemical\",true,null,null,1,false,true,0,\"uIU; u IU; microinternational units\",\"LOINC\",\"Arb\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"micro international unit per liter\",\"u[IU]/L\",\"U[IU]/L\",\"arbitrary\",0.001,[-3,0,0,0,0,0,0],\"(μi.U.)/L\",\"chemical\",true,null,null,1,false,true,0,\"uIU/L; u IU/L; uIU per L; microinternational units per liter; litre; \",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"micro international unit per milliliter\",\"u[IU]/mL\",\"U[IU]/ML\",\"arbitrary\",1,[-3,0,0,0,0,0,0],\"(μi.U.)/mL\",\"chemical\",true,null,null,1,false,true,0,\"uIU/mL; u IU/mL; uIU per mL; microinternational units per milliliter; millilitre\",\"LOINC\",\"ACnc\",\"Clinical\",\"International units (IU) are analyte and reference specimen specific arbitrary units (held at WHO)\",\"[iU]\",\"[IU]\",\"1\",1,false],[false,\"microequivalent\",\"ueq\",\"UEQ\",\"amount of substance\",602213670000000000,[0,0,0,0,0,0,0],\"μeq\",\"chemical\",true,null,null,1,false,false,1,\"microequivalents; 10^-6 equivalents; 10-6 equivalents\",\"LOINC\",\"Sub\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"microequivalent per liter\",\"ueq/L\",\"UEQ/L\",\"amount of substance\",602213670000000000000,[-3,0,0,0,0,0,0],\"μeq/L\",\"chemical\",true,null,null,1,false,false,1,\"ueq per liter; litre; microequivalents\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"microequivalent per milliliter\",\"ueq/mL\",\"UEQ/ML\",\"amount of substance\",6.0221367000000003e+23,[-3,0,0,0,0,0,0],\"μeq/mL\",\"chemical\",true,null,null,1,false,false,1,\"ueq per milliliter; millilitre; microequivalents\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",\"mol\",\"MOL\",\"1\",1,false],[false,\"microgram\",\"ug\",\"UG\",\"mass\",0.000001,[0,0,1,0,0,0,0],\"μg\",null,false,\"M\",null,1,false,false,0,\"mcg; micrograms; 10^-6 grams; 10-6 grams\",\"LOINC\",\"Mass\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per 100 gram\",\"ug/(100.g)\",\"UG/G\",\"mass\",1e-8,[0,0,0,0,0,0,0],\"μg/g\",null,false,\"M\",null,1,false,false,0,\"ug/100gm; ug/100 gm; mcg; ug per 100g; 100 gm; mcg per 100g; micrograms per 100 grams\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per 24 hour\",\"ug/(24.h)\",\"UG/HR\",\"mass\",1.1574074074074074e-11,[0,-1,1,0,0,0,0],\"μg/h\",null,false,\"M\",null,1,false,false,0,\"ug/24hrs; ug/24 hrs; mcg/24hrs; ug per 24hrs; mcg per 24hrs; 24 hrs; micrograms per 24 hours\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per 8 hour\",\"ug/(8.h)\",\"UG/HR\",\"mass\",3.472222222222222e-11,[0,-1,1,0,0,0,0],\"μg/h\",null,false,\"M\",null,1,false,false,0,\"ug/8hrs; ug/8 hrs; mcg/8hrs; ug per 8hrs; mcg per 8hrs; 8 hrs; micrograms per 8 hours; shift\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per square foot (international)\",\"ug/[sft_i]\",\"UG/[SFT_I]\",\"mass\",0.000010763910416709721,[-2,0,1,0,0,0,0],\"μg\",null,false,\"M\",null,1,false,false,0,\"ug/sft; ug/ft2; ug/ft^2; ug/sq. ft; micrograms; sq. foot; foot squared\",\"LOINC\",\"ArMass\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per day\",\"ug/d\",\"UG/D\",\"mass\",1.1574074074074074e-11,[0,-1,1,0,0,0,0],\"μg/d\",null,false,\"M\",null,1,false,false,0,\"ug/dy; mcg/dy; ug per day; mcg; micrograms per day\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per deciliter\",\"ug/dL\",\"UG/DL\",\"mass\",0.009999999999999998,[-3,0,1,0,0,0,0],\"μg/dL\",null,false,\"M\",null,1,false,false,0,\"ug per dL; mcg/dl; mcg per dl; micrograms per deciliter; decilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per gram\",\"ug/g\",\"UG/G\",\"mass\",0.000001,[0,0,0,0,0,0,0],\"μg/g\",null,false,\"M\",null,1,false,false,0,\"ug per gm; mcg/gm; mcg per g; micrograms per gram\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per hour\",\"ug/h\",\"UG/HR\",\"mass\",2.7777777777777777e-10,[0,-1,1,0,0,0,0],\"μg/h\",null,false,\"M\",null,1,false,false,0,\"ug/hr; mcg/hr; mcg per hr; ug per hr; ug per hour; micrograms\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per kilogram\",\"ug/kg\",\"UG/KG\",\"mass\",9.999999999999999e-10,[0,0,0,0,0,0,0],\"μg/kg\",null,false,\"M\",null,1,false,false,0,\"ug per kg; mcg/kg; mcg per kg; micrograms per kilogram\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per kilogram per 8 hour\",\"ug/kg/(8.h)\",\"(UG/KG)/HR\",\"mass\",3.472222222222222e-14,[0,-1,0,0,0,0,0],\"(μg/kg)/h\",null,false,\"M\",null,1,false,false,0,\"ug/kg/8hrs; mcg/kg/8hrs; ug/kg/8 hrs; mcg/kg/8 hrs; ug per kg per 8hrs; 8 hrs; mcg per kg per 8hrs; micrograms per kilograms per 8 hours; shift\",\"LOINC\",\"\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[false,\"microgram per kilogram per day\",\"ug/kg/d\",\"(UG/KG)/D\",\"mass\",1.1574074074074072e-14,[0,-1,0,0,0,0,0],\"(μg/kg)/d\",null,false,\"M\",null,1,false,false,0,\"ug/(kg.d); ug/kg/dy; mcg/kg/day; ug per kg per dy; 24 hours; 24hrs; mcg; kilograms; microgram per kilogram and day\",\"LOINC\",\"\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[false,\"microgram per kilogram per hour\",\"ug/kg/h\",\"(UG/KG)/HR\",\"mass\",2.7777777777777774e-13,[0,-1,0,0,0,0,0],\"(μg/kg)/h\",null,false,\"M\",null,1,false,false,0,\"ug/(kg.h); ug/kg/hr; mcg/kg/hr; ug per kg per hr; mcg per kg per hr; kilograms\",\"LOINC\",\"\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[false,\"microgram per kilogram per minute\",\"ug/kg/min\",\"(UG/KG)/MIN\",\"mass\",1.6666666666666664e-11,[0,-1,0,0,0,0,0],\"(μg/kg)/min\",null,false,\"M\",null,1,false,false,0,\"ug/kg/min; ug/kg/min; mcg/kg/min; ug per kg per min; mcg; micrograms per kilograms per minute \",\"LOINC\",\"\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[false,\"microgram per liter\",\"ug/L\",\"UG/L\",\"mass\",0.001,[-3,0,1,0,0,0,0],\"μg/L\",null,false,\"M\",null,1,false,false,0,\"mcg/L; ug per L; mcg; micrograms per liter; litre \",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per liter per 24 hour\",\"ug/L/(24.h)\",\"(UG/L)/HR\",\"mass\",1.1574074074074074e-8,[-3,-1,1,0,0,0,0],\"(μg/L)/h\",null,false,\"M\",null,1,false,false,0,\"ug/L/24hrs; ug/L/24 hrs; mcg/L/24hrs; ug per L per 24hrs; 24 hrs; day; dy mcg; micrograms per liters per 24 hours; litres\",\"LOINC\",\"\",\"Clinical\",\"unit used to measure mass dose rate per patient body mass\",null,null,null,null,false],[false,\"microgram per square meter\",\"ug/m2\",\"UG/M2\",\"mass\",0.000001,[-2,0,1,0,0,0,0],\"μg/(m2)\",null,false,\"M\",null,1,false,false,0,\"ug/m^2; ug/sq. m; mcg/m2; mcg/m^2; mcg/sq. m; ug per m2; m^2; sq. meter; mcg; micrograms per square meter; meter squared; metre\",\"LOINC\",\"ArMass\",\"Clinical\",\"unit used to measure mass dose per patient body surface area\",null,null,null,null,false],[false,\"microgram per cubic meter\",\"ug/m3\",\"UG/M3\",\"mass\",0.000001,[-3,0,1,0,0,0,0],\"μg/(m3)\",null,false,\"M\",null,1,false,false,0,\"ug/m^3; ug/cu. m; mcg/m3; mcg/m^3; mcg/cu. m; ug per m3; ug per m^3; ug per cu. m; mcg; micrograms per cubic meter; meter cubed; metre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per milligram\",\"ug/mg\",\"UG/MG\",\"mass\",0.001,[0,0,0,0,0,0,0],\"μg/mg\",null,false,\"M\",null,1,false,false,0,\"ug per mg; mcg/mg; mcg per mg; micromilligrams per milligram\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per minute\",\"ug/min\",\"UG/MIN\",\"mass\",1.6666666666666667e-8,[0,-1,1,0,0,0,0],\"μg/min\",null,false,\"M\",null,1,false,false,0,\"ug per min; mcg/min; mcg per min; microminutes per minute\",\"LOINC\",\"MRat\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per milliliter\",\"ug/mL\",\"UG/ML\",\"mass\",1,[-3,0,1,0,0,0,0],\"μg/mL\",null,false,\"M\",null,1,false,false,0,\"ug per mL; mcg/mL; mcg per mL; micrograms per milliliter; millilitre\",\"LOINC\",\"MCnc\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per millimole\",\"ug/mmol\",\"UG/MMOL\",\"mass\",1.660540186674939e-27,[0,0,1,0,0,0,0],\"μg/mmol\",null,false,\"M\",null,1,false,false,-1,\"ug per mmol; mcg/mmol; mcg per mmol; micrograms per millimole\",\"LOINC\",\"Ratio\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microgram per nanogram\",\"ug/ng\",\"UG/NG\",\"mass\",999.9999999999999,[0,0,0,0,0,0,0],\"μg/ng\",null,false,\"M\",null,1,false,false,0,\"ug per ng; mcg/ng; mcg per ng; micrograms per nanogram\",\"LOINC\",\"MCnt\",\"Clinical\",\"\",null,null,null,null,false],[false,\"microkatal\",\"ukat\",\"UKAT\",\"catalytic activity\",602213670000000000,[0,-1,0,0,0,0,0],\"μkat\",\"chemical\",true,null,null,1,false,false,1,\"microkatals; ukats\",\"LOINC\",\"CAct\",\"Clinical\",\"kat is a unit of catalytic activity with base units = mol/s. Rarely used because its units are too large to practically express catalytic activity. See enzyme unit [U] which is the standard unit for catalytic activity.\",\"mol/s\",\"MOL/S\",\"1\",1,false],[false,\"microliter\",\"uL\",\"UL\",\"volume\",1e-9,[3,0,0,0,0,0,0],\"μL\",\"iso1000\",true,null,null,1,false,false,0,\"microliters; microlitres; mcl\",\"LOINC\",\"Vol\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"microliter per 2 hour\",\"uL/(2.h)\",\"UL/HR\",\"volume\",1.388888888888889e-13,[3,-1,0,0,0,0,0],\"μL/h\",\"iso1000\",true,null,null,1,false,false,0,\"uL/2hrs; uL/2 hrs; mcg/2hr; mcg per 2hr; uL per 2hr; uL per 2 hrs; microliters per 2 hours; microlitres \",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"microliter per hour\",\"uL/h\",\"UL/HR\",\"volume\",2.777777777777778e-13,[3,-1,0,0,0,0,0],\"μL/h\",\"iso1000\",true,null,null,1,false,false,0,\"uL/hr; mcg/hr; mcg per hr; uL per hr; microliters per hour; microlitres\",\"LOINC\",\"VRat\",\"Clinical\",\"\",\"l\",null,\"1\",1,false],[false,\"micrometer\",\"um\",\"UM\",\"length\",0.000001,[1,0,0,0,0,0,0],\"μm\",null,false,\"L\",null,1,false,false,0,\"micrometers; micrometres; μm; microns\",\"LOINC\",\"Len\",\"Clinical\",\"Unit of length that is usually used in tests related to the eye\",null,null,null,null,false],[false,\"microns per second\",\"um/s\",\"UM/S\",\"length\",0.000001,[1,-1,0,0,0,0,0],\"μm/s\",null,false,\"L\",null,1,false,false,0,\"um/sec; micron/second; microns/second; um per sec; micrometers per second; micrometres\",\"LOINC\",\"Vel\",\"Clinical\",\"\",null,null,null,null,false],[false,\"micromole\",\"umol\",\"UMOL\",\"amount of substance\",602213670000000000,[0,0,0,0,0,0,0],\"μmol\",\"si\",true,null,null,1,false,false,1,\"micromoles; umols\",\"LOINC\",\"Sub\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per 2 hour\",\"umol/(2.h)\",\"UMOL/HR\",\"amount of substance\",83640787500000,[0,-1,0,0,0,0,0],\"μmol/h\",\"si\",true,null,null,1,false,false,1,\"umol/2hrs; umol/2 hrs; umol per 2 hrs; 2hrs; micromoles per 2 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per 24 hour\",\"umol/(24.h)\",\"UMOL/HR\",\"amount of substance\",6970065625000,[0,-1,0,0,0,0,0],\"μmol/h\",\"si\",true,null,null,1,false,false,1,\"umol/24hrs; umol/24 hrs; umol per 24 hrs; per 24hrs; micromoles per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per 8 hour\",\"umol/(8.h)\",\"UMOL/HR\",\"amount of substance\",20910196875000,[0,-1,0,0,0,0,0],\"μmol/h\",\"si\",true,null,null,1,false,false,1,\"umol/8hr; umol/8 hr; umol per 8 hr; umol per 8hr; umols per 8hr; umol per 8 hours; micromoles per 8 hours; shift\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per day\",\"umol/d\",\"UMOL/D\",\"amount of substance\",6970065625000,[0,-1,0,0,0,0,0],\"μmol/d\",\"si\",true,null,null,1,false,false,1,\"umol/day; umol per day; umols per day; umol per days; micromoles per days; umol/24hr; umol/24 hr; umol per 24 hr; umol per 24hr; umols per 24hr; umol per 24 hours; micromoles per 24 hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per deciliter\",\"umol/dL\",\"UMOL/DL\",\"amount of substance\",6.0221367e+21,[-3,0,0,0,0,0,0],\"μmol/dL\",\"si\",true,null,null,1,false,false,1,\"micromole/deciliter; micromole/decilitre; umol per dL; micromoles per deciliters; micromole per decilitres\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per gram\",\"umol/g\",\"UMOL/G\",\"amount of substance\",602213670000000000,[0,0,-1,0,0,0,0],\"μmol/g\",\"si\",true,null,null,1,false,false,1,\"micromole/gram; umol per g; micromoles per gram\",\"LOINC\",\"SCnt; Ratio\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per hour\",\"umol/h\",\"UMOL/HR\",\"amount of substance\",167281575000000,[0,-1,0,0,0,0,0],\"μmol/h\",\"si\",true,null,null,1,false,false,1,\"umol/hr; umol per hr; umol per hour; micromoles per hours\",\"LOINC\",\"SRat\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per kilogram\",\"umol/kg\",\"UMOL/KG\",\"amount of substance\",602213670000000,[0,0,-1,0,0,0,0],\"μmol/kg\",\"si\",true,null,null,1,false,false,1,\"umol per kg; micromoles per kilogram\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per liter\",\"umol/L\",\"UMOL/L\",\"amount of substance\",602213670000000000000,[-3,0,0,0,0,0,0],\"μmol/L\",\"si\",true,null,null,1,false,false,1,\"micromole/liter; micromole/litre; umol per liter; micromoles per liter; litre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per liter per hour\",\"umol/L/h\",\"(UMOL/L)/HR\",\"amount of substance\",167281575000000000,[-3,-1,0,0,0,0,0],\"(μmol/L)/h\",\"si\",true,null,null,1,false,false,1,\"umol/liter/hr; umol/litre/hr; umol per L per hr; umol per liter per hour; micromoles per liters per hour; litre\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min; umol/L/h is a derived unit of enzyme units\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per milligram\",\"umol/mg\",\"UMOL/MG\",\"amount of substance\",602213670000000000000,[0,0,-1,0,0,0,0],\"μmol/mg\",\"si\",true,null,null,1,false,false,1,\"micromole/milligram; umol per mg; micromoles per milligram\",\"LOINC\",\"SCnt\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per minute\",\"umol/min\",\"UMOL/MIN\",\"amount of substance\",10036894500000000,[0,-1,0,0,0,0,0],\"μmol/min\",\"si\",true,null,null,1,false,false,1,\"micromole/minute; umol per min; micromoles per minute; enzyme units\",\"LOINC\",\"CAct\",\"Clinical\",\"unit for the enzyme unit U = umol/min\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per minute per gram\",\"umol/min/g\",\"(UMOL/MIN)/G\",\"amount of substance\",10036894500000000,[0,-1,-1,0,0,0,0],\"(μmol/min)/g\",\"si\",true,null,null,1,false,false,1,\"umol/min/gm; umol per min per gm; micromoles per minutes per gram; U/g; enzyme units\",\"LOINC\",\"CCnt\",\"Clinical\",\"unit for the enzyme unit U = umol/min. umol/min/g = U/g\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per minute per liter\",\"umol/min/L\",\"(UMOL/MIN)/L\",\"amount of substance\",10036894500000000000,[-3,-1,0,0,0,0,0],\"(μmol/min)/L\",\"si\",true,null,null,1,false,false,1,\"umol/min/liter; umol/minute/liter; micromoles per minutes per liter; litre; enzyme units; U/L\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. umol/min/L = U/L\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per milliliter\",\"umol/mL\",\"UMOL/ML\",\"amount of substance\",6.0221367000000003e+23,[-3,0,0,0,0,0,0],\"μmol/mL\",\"si\",true,null,null,1,false,false,1,\"umol per mL; micromoles per milliliter; millilitre\",\"LOINC\",\"SCnc\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per milliliter per minute\",\"umol/mL/min\",\"(UMOL/ML)/MIN\",\"amount of substance\",1.00368945e+22,[-3,-1,0,0,0,0,0],\"(μmol/mL)/min\",\"si\",true,null,null,1,false,false,1,\"umol per mL per min; micromoles per milliliters per minute; millilitres\",\"LOINC\",\"CCnc\",\"Clinical\",\"unit for the enzyme unit U = umol/min. umol/mL/min = U/mL\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per millimole\",\"umol/mmol\",\"UMOL/MMOL\",\"amount of substance\",0.001,[0,0,0,0,0,0,0],\"μmol/mmol\",\"si\",true,null,null,1,false,false,0,\"umol per mmol; micromoles per millimole\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per mole\",\"umol/mol\",\"UMOL/MOL\",\"amount of substance\",0.000001,[0,0,0,0,0,0,0],\"μmol/mol\",\"si\",true,null,null,1,false,false,0,\"umol per mol; micromoles per mole\",\"LOINC\",\"SRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"micromole per micromole\",\"umol/umol\",\"UMOL/UMOL\",\"amount of substance\",1,[0,0,0,0,0,0,0],\"μmol/μmol\",\"si\",true,null,null,1,false,false,0,\"umol per umol; micromoles per micromole\",\"LOINC\",\"Srto; SFr; EntSRto\",\"Clinical\",\"\",\"10*23\",\"10*23\",\"6.0221367\",6.0221367,false],[false,\"microOhm\",\"uOhm\",\"UOHM\",\"electric resistance\",0.001,[2,-1,1,0,0,-2,0],\"μΩ\",\"si\",true,null,null,1,false,false,0,\"microOhms; µΩ\",\"LOINC\",\"\",\"Clinical\",\"unit of electric resistance\",\"V/A\",\"V/A\",\"1\",1,false],[false,\"microsecond\",\"us\",\"US\",\"time\",0.000001,[0,1,0,0,0,0,0],\"μs\",null,false,\"T\",null,1,false,false,0,\"microseconds\",\"LOINC\",\"Time\",\"Clinical\",\"\",null,null,null,null,false],[false,\"micro enzyme unit per gram\",\"uU/g\",\"UU/G\",\"catalytic activity\",10036894500,[0,-1,-1,0,0,0,0],\"μU/g\",\"chemical\",true,null,null,1,false,false,1,\"uU per gm; micro enzyme units per gram; micro enzymatic activity per mass; enzyme activity\",\"LOINC\",\"CCnt\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"micro enzyme unit per liter\",\"uU/L\",\"UU/L\",\"catalytic activity\",10036894500000,[-3,-1,0,0,0,0,0],\"μU/L\",\"chemical\",true,null,null,1,false,false,1,\"uU per L; micro enzyme units per liter; litre; enzymatic activity per volume; enzyme activity \",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"micro enzyme unit per milliliter\",\"uU/mL\",\"UU/ML\",\"catalytic activity\",10036894500000000,[-3,-1,0,0,0,0,0],\"μU/mL\",\"chemical\",true,null,null,1,false,false,1,\"uU per mL; micro enzyme units per milliliter; millilitre; enzymatic activity per volume; enzyme activity\",\"LOINC\",\"CCnc\",\"Clinical\",\"1 U is the standard enzyme unit which equals 1 micromole substrate catalyzed per minute (1 umol/min); 1 uU = 1pmol/min\",\"umol/min\",\"UMOL/MIN\",\"1\",1,false],[false,\"microvolt\",\"uV\",\"UV\",\"electric potential\",0.001,[2,-2,1,0,0,-1,0],\"μV\",\"si\",true,null,null,1,false,false,0,\"microvolts\",\"LOINC\",\"Elpot\",\"Clinical\",\"unit of electric potential (voltage)\",\"J/C\",\"J/C\",\"1\",1,false]]}}')}},t={};function n(r){var l=t[r];if(void 0!==l)return l.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}();var r=n(9159);window.fhirpath=r}();\n//# sourceMappingURL=fhirpath.min.js.map","!function(){var e={9:function(e,i,t){var n={choiceTypePaths:t(824),pathsDefinedElsewhere:t(151),type2Parent:t(905),path2Type:t(752)};n.availableTypes=new Set,Object.keys(n.type2Parent).forEach((function(e){return n.availableTypes.add(e)})),Object.values(n.type2Parent).forEach((function(e){return n.availableTypes.add(e)})),e.exports=n},824:function(e){\"use strict\";e.exports=JSON.parse('{\"ActivityDefinition.product\":[\"Reference\",\"CodeableConcept\"],\"ActivityDefinition.subject\":[\"CodeableConcept\",\"Reference\"],\"ActivityDefinition.timing\":[\"Timing\",\"DateTime\",\"Age\",\"Period\",\"Range\",\"Duration\"],\"AllergyIntolerance.onset\":[\"DateTime\",\"Age\",\"Period\",\"Range\",\"String\"],\"Annotation.author\":[\"Reference\",\"String\"],\"AuditEvent.entity.detail.value\":[\"String\",\"Base64Binary\"],\"BiologicallyDerivedProduct.collection.collected\":[\"DateTime\",\"Period\"],\"BiologicallyDerivedProduct.manipulation.time\":[\"DateTime\",\"Period\"],\"BiologicallyDerivedProduct.processing.time\":[\"DateTime\",\"Period\"],\"CarePlan.activity.detail.product\":[\"CodeableConcept\",\"Reference\"],\"CarePlan.activity.detail.scheduled\":[\"Timing\",\"Period\",\"String\"],\"ChargeItem.occurrence\":[\"DateTime\",\"Period\",\"Timing\"],\"ChargeItem.product\":[\"Reference\",\"CodeableConcept\"],\"Claim.accident.location\":[\"Address\",\"Reference\"],\"Claim.diagnosis.diagnosis\":[\"CodeableConcept\",\"Reference\"],\"Claim.item.location\":[\"CodeableConcept\",\"Address\",\"Reference\"],\"Claim.item.serviced\":[\"Date\",\"Period\"],\"Claim.procedure.procedure\":[\"CodeableConcept\",\"Reference\"],\"Claim.supportingInfo.timing\":[\"Date\",\"Period\"],\"Claim.supportingInfo.value\":[\"Boolean\",\"String\",\"Quantity\",\"Attachment\",\"Reference\"],\"ClaimResponse.addItem.location\":[\"CodeableConcept\",\"Address\",\"Reference\"],\"ClaimResponse.addItem.serviced\":[\"Date\",\"Period\"],\"ClinicalImpression.effective\":[\"DateTime\",\"Period\"],\"CodeSystem.concept.property.value\":[\"Code\",\"Coding\",\"String\",\"Integer\",\"Boolean\",\"DateTime\",\"Decimal\"],\"Communication.payload.content\":[\"String\",\"Attachment\",\"Reference\"],\"CommunicationRequest.occurrence\":[\"DateTime\",\"Period\"],\"CommunicationRequest.payload.content\":[\"String\",\"Attachment\",\"Reference\"],\"Composition.relatesTo.target\":[\"Identifier\",\"Reference\"],\"ConceptMap.source\":[\"Uri\",\"Canonical\"],\"ConceptMap.target\":[\"Uri\",\"Canonical\"],\"Condition.abatement\":[\"DateTime\",\"Age\",\"Period\",\"Range\",\"String\"],\"Condition.onset\":[\"DateTime\",\"Age\",\"Period\",\"Range\",\"String\"],\"Consent.source\":[\"Attachment\",\"Reference\"],\"Contract.friendly.content\":[\"Attachment\",\"Reference\"],\"Contract.legal.content\":[\"Attachment\",\"Reference\"],\"Contract.legallyBinding\":[\"Attachment\",\"Reference\"],\"Contract.rule.content\":[\"Attachment\",\"Reference\"],\"Contract.term.action.occurrence\":[\"DateTime\",\"Period\",\"Timing\"],\"Contract.term.asset.valuedItem.entity\":[\"CodeableConcept\",\"Reference\"],\"Contract.term.offer.answer.value\":[\"Boolean\",\"Decimal\",\"Integer\",\"Date\",\"DateTime\",\"Time\",\"String\",\"Uri\",\"Attachment\",\"Coding\",\"Quantity\",\"Reference\"],\"Contract.term.topic\":[\"CodeableConcept\",\"Reference\"],\"Contract.topic\":[\"CodeableConcept\",\"Reference\"],\"Coverage.costToBeneficiary.value\":[\"Quantity\",\"Money\"],\"CoverageEligibilityRequest.item.diagnosis.diagnosis\":[\"CodeableConcept\",\"Reference\"],\"CoverageEligibilityRequest.serviced\":[\"Date\",\"Period\"],\"CoverageEligibilityResponse.insurance.item.benefit.allowed\":[\"UnsignedInt\",\"String\",\"Money\"],\"CoverageEligibilityResponse.insurance.item.benefit.used\":[\"UnsignedInt\",\"String\",\"Money\"],\"CoverageEligibilityResponse.serviced\":[\"Date\",\"Period\"],\"DataRequirement.dateFilter.value\":[\"DateTime\",\"Period\",\"Duration\"],\"DataRequirement.subject\":[\"CodeableConcept\",\"Reference\"],\"DetectedIssue.identified\":[\"DateTime\",\"Period\"],\"DeviceDefinition.manufacturer\":[\"String\",\"Reference\"],\"DeviceRequest.code\":[\"Reference\",\"CodeableConcept\"],\"DeviceRequest.occurrence\":[\"DateTime\",\"Period\",\"Timing\"],\"DeviceRequest.parameter.value\":[\"CodeableConcept\",\"Quantity\",\"Range\",\"Boolean\"],\"DeviceUseStatement.timing\":[\"Timing\",\"Period\",\"DateTime\"],\"DiagnosticReport.effective\":[\"DateTime\",\"Period\"],\"Dosage.asNeeded\":[\"Boolean\",\"CodeableConcept\"],\"Dosage.doseAndRate.dose\":[\"Range\",\"Quantity\"],\"Dosage.doseAndRate.rate\":[\"Ratio\",\"Range\",\"Quantity\"],\"ElementDefinition.defaultValue\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"ElementDefinition.example.value\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"ElementDefinition.extension.value\":[\"CodeableConcept\",\"Canonical\"],\"ElementDefinition.fixed\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"ElementDefinition.maxValue\":[\"Date\",\"DateTime\",\"Instant\",\"Time\",\"Decimal\",\"Integer\",\"PositiveInt\",\"UnsignedInt\",\"Quantity\"],\"ElementDefinition.minValue\":[\"Date\",\"DateTime\",\"Instant\",\"Time\",\"Decimal\",\"Integer\",\"PositiveInt\",\"UnsignedInt\",\"Quantity\"],\"ElementDefinition.pattern\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"EventDefinition.subject\":[\"CodeableConcept\",\"Reference\"],\"EvidenceVariable.characteristic.definition\":[\"Reference\",\"Canonical\",\"CodeableConcept\",\"Expression\",\"DataRequirement\",\"TriggerDefinition\"],\"EvidenceVariable.characteristic.participantEffective\":[\"DateTime\",\"Period\",\"Duration\",\"Timing\"],\"ExplanationOfBenefit.accident.location\":[\"Address\",\"Reference\"],\"ExplanationOfBenefit.addItem.location\":[\"CodeableConcept\",\"Address\",\"Reference\"],\"ExplanationOfBenefit.addItem.serviced\":[\"Date\",\"Period\"],\"ExplanationOfBenefit.benefitBalance.financial.allowed\":[\"UnsignedInt\",\"String\",\"Money\"],\"ExplanationOfBenefit.benefitBalance.financial.used\":[\"UnsignedInt\",\"Money\"],\"ExplanationOfBenefit.diagnosis.diagnosis\":[\"CodeableConcept\",\"Reference\"],\"ExplanationOfBenefit.item.location\":[\"CodeableConcept\",\"Address\",\"Reference\"],\"ExplanationOfBenefit.item.serviced\":[\"Date\",\"Period\"],\"ExplanationOfBenefit.procedure.procedure\":[\"CodeableConcept\",\"Reference\"],\"ExplanationOfBenefit.supportingInfo.timing\":[\"Date\",\"Period\"],\"ExplanationOfBenefit.supportingInfo.value\":[\"Boolean\",\"String\",\"Quantity\",\"Attachment\",\"Reference\"],\"Extension.value\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"FamilyMemberHistory.age\":[\"Age\",\"Range\",\"String\"],\"FamilyMemberHistory.born\":[\"Period\",\"Date\",\"String\"],\"FamilyMemberHistory.condition.onset\":[\"Age\",\"Range\",\"Period\",\"String\"],\"FamilyMemberHistory.deceased\":[\"Boolean\",\"Age\",\"Range\",\"Date\",\"String\"],\"Goal.start\":[\"Date\",\"CodeableConcept\"],\"Goal.target.detail\":[\"Quantity\",\"Range\",\"CodeableConcept\",\"String\",\"Boolean\",\"Integer\",\"Ratio\"],\"Goal.target.due\":[\"Date\",\"Duration\"],\"Group.characteristic.value\":[\"CodeableConcept\",\"Boolean\",\"Quantity\",\"Range\",\"Reference\"],\"GuidanceResponse.module\":[\"Uri\",\"Canonical\",\"CodeableConcept\"],\"Immunization.occurrence\":[\"DateTime\",\"String\"],\"Immunization.protocolApplied.doseNumber\":[\"PositiveInt\",\"String\"],\"Immunization.protocolApplied.seriesDoses\":[\"PositiveInt\",\"String\"],\"ImmunizationEvaluation.doseNumber\":[\"PositiveInt\",\"String\"],\"ImmunizationEvaluation.seriesDoses\":[\"PositiveInt\",\"String\"],\"ImmunizationRecommendation.recommendation.doseNumber\":[\"PositiveInt\",\"String\"],\"ImmunizationRecommendation.recommendation.seriesDoses\":[\"PositiveInt\",\"String\"],\"ImplementationGuide.definition.page.name\":[\"Url\",\"Reference\"],\"ImplementationGuide.definition.resource.example\":[\"Boolean\",\"Canonical\"],\"ImplementationGuide.manifest.resource.example\":[\"Boolean\",\"Canonical\"],\"Invoice.lineItem.chargeItem\":[\"Reference\",\"CodeableConcept\"],\"Library.subject\":[\"CodeableConcept\",\"Reference\"],\"Measure.subject\":[\"CodeableConcept\",\"Reference\"],\"Media.created\":[\"DateTime\",\"Period\"],\"Medication.ingredient.item\":[\"CodeableConcept\",\"Reference\"],\"MedicationAdministration.dosage.rate\":[\"Ratio\",\"Quantity\"],\"MedicationAdministration.effective\":[\"DateTime\",\"Period\"],\"MedicationAdministration.medication\":[\"CodeableConcept\",\"Reference\"],\"MedicationDispense.medication\":[\"CodeableConcept\",\"Reference\"],\"MedicationDispense.statusReason\":[\"CodeableConcept\",\"Reference\"],\"MedicationKnowledge.administrationGuidelines.indication\":[\"CodeableConcept\",\"Reference\"],\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristic\":[\"CodeableConcept\",\"Quantity\"],\"MedicationKnowledge.drugCharacteristic.value\":[\"CodeableConcept\",\"String\",\"Quantity\",\"Base64Binary\"],\"MedicationKnowledge.ingredient.item\":[\"CodeableConcept\",\"Reference\"],\"MedicationRequest.medication\":[\"CodeableConcept\",\"Reference\"],\"MedicationRequest.reported\":[\"Boolean\",\"Reference\"],\"MedicationRequest.substitution.allowed\":[\"Boolean\",\"CodeableConcept\"],\"MedicationStatement.effective\":[\"DateTime\",\"Period\"],\"MedicationStatement.medication\":[\"CodeableConcept\",\"Reference\"],\"MedicinalProduct.specialDesignation.indication\":[\"CodeableConcept\",\"Reference\"],\"MedicinalProductAuthorization.procedure.date\":[\"Period\",\"DateTime\"],\"MedicinalProductContraindication.otherTherapy.medication\":[\"CodeableConcept\",\"Reference\"],\"MedicinalProductIndication.otherTherapy.medication\":[\"CodeableConcept\",\"Reference\"],\"MedicinalProductInteraction.interactant.item\":[\"Reference\",\"CodeableConcept\"],\"MessageDefinition.event\":[\"Coding\",\"Uri\"],\"MessageHeader.event\":[\"Coding\",\"Uri\"],\"NutritionOrder.enteralFormula.administration.rate\":[\"Quantity\",\"Ratio\"],\"Observation.component.value\":[\"Quantity\",\"CodeableConcept\",\"String\",\"Boolean\",\"Integer\",\"Range\",\"Ratio\",\"SampledData\",\"Time\",\"DateTime\",\"Period\"],\"Observation.effective\":[\"DateTime\",\"Period\",\"Timing\",\"Instant\"],\"Observation.value\":[\"Quantity\",\"CodeableConcept\",\"String\",\"Boolean\",\"Integer\",\"Range\",\"Ratio\",\"SampledData\",\"Time\",\"DateTime\",\"Period\"],\"Parameters.parameter.value\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"Patient.deceased\":[\"Boolean\",\"DateTime\"],\"Patient.multipleBirth\":[\"Boolean\",\"Integer\"],\"PlanDefinition.action.definition\":[\"Canonical\",\"Uri\"],\"PlanDefinition.action.relatedAction.offset\":[\"Duration\",\"Range\"],\"PlanDefinition.action.subject\":[\"CodeableConcept\",\"Reference\"],\"PlanDefinition.action.timing\":[\"DateTime\",\"Age\",\"Period\",\"Duration\",\"Range\",\"Timing\"],\"PlanDefinition.goal.target.detail\":[\"Quantity\",\"Range\",\"CodeableConcept\"],\"PlanDefinition.subject\":[\"CodeableConcept\",\"Reference\"],\"Population.age\":[\"Range\",\"CodeableConcept\"],\"Procedure.performed\":[\"DateTime\",\"Period\",\"String\",\"Age\",\"Range\"],\"Provenance.occurred\":[\"Period\",\"DateTime\"],\"Questionnaire.item.answerOption.value\":[\"Integer\",\"Date\",\"Time\",\"String\",\"Coding\",\"Reference\"],\"Questionnaire.item.enableWhen.answer\":[\"Boolean\",\"Decimal\",\"Integer\",\"Date\",\"DateTime\",\"Time\",\"String\",\"Coding\",\"Quantity\",\"Reference\"],\"Questionnaire.item.initial.value\":[\"Boolean\",\"Decimal\",\"Integer\",\"Date\",\"DateTime\",\"Time\",\"String\",\"Uri\",\"Attachment\",\"Coding\",\"Quantity\",\"Reference\"],\"QuestionnaireResponse.item.answer.value\":[\"Boolean\",\"Decimal\",\"Integer\",\"Date\",\"DateTime\",\"Time\",\"String\",\"Uri\",\"Attachment\",\"Coding\",\"Quantity\",\"Reference\"],\"RequestGroup.action.relatedAction.offset\":[\"Duration\",\"Range\"],\"RequestGroup.action.timing\":[\"DateTime\",\"Age\",\"Period\",\"Duration\",\"Range\",\"Timing\"],\"ResearchDefinition.subject\":[\"CodeableConcept\",\"Reference\"],\"ResearchElementDefinition.characteristic.definition\":[\"CodeableConcept\",\"Canonical\",\"Expression\",\"DataRequirement\"],\"ResearchElementDefinition.characteristic.participantEffective\":[\"DateTime\",\"Period\",\"Duration\",\"Timing\"],\"ResearchElementDefinition.characteristic.studyEffective\":[\"DateTime\",\"Period\",\"Duration\",\"Timing\"],\"ResearchElementDefinition.subject\":[\"CodeableConcept\",\"Reference\"],\"RiskAssessment.occurrence\":[\"DateTime\",\"Period\"],\"RiskAssessment.prediction.probability\":[\"Decimal\",\"Range\"],\"RiskAssessment.prediction.when\":[\"Period\",\"Range\"],\"ServiceRequest.asNeeded\":[\"Boolean\",\"CodeableConcept\"],\"ServiceRequest.occurrence\":[\"DateTime\",\"Period\",\"Timing\"],\"ServiceRequest.quantity\":[\"Quantity\",\"Ratio\",\"Range\"],\"Specimen.collection.collected\":[\"DateTime\",\"Period\"],\"Specimen.collection.fastingStatus\":[\"CodeableConcept\",\"Duration\"],\"Specimen.container.additive\":[\"CodeableConcept\",\"Reference\"],\"Specimen.processing.time\":[\"DateTime\",\"Period\"],\"SpecimenDefinition.typeTested.container.additive.additive\":[\"CodeableConcept\",\"Reference\"],\"SpecimenDefinition.typeTested.container.minimumVolume\":[\"Quantity\",\"String\"],\"StructureMap.group.rule.source.defaultValue\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"StructureMap.group.rule.target.parameter.value\":[\"Id\",\"String\",\"Boolean\",\"Integer\",\"Decimal\"],\"Substance.ingredient.substance\":[\"CodeableConcept\",\"Reference\"],\"SubstanceAmount.amount\":[\"Quantity\",\"Range\",\"String\"],\"SubstanceReferenceInformation.target.amount\":[\"Quantity\",\"Range\",\"String\"],\"SubstanceSpecification.moiety.amount\":[\"Quantity\",\"String\"],\"SubstanceSpecification.property.amount\":[\"Quantity\",\"String\"],\"SubstanceSpecification.property.definingSubstance\":[\"Reference\",\"CodeableConcept\"],\"SubstanceSpecification.relationship.amount\":[\"Quantity\",\"Range\",\"Ratio\",\"String\"],\"SubstanceSpecification.relationship.substance\":[\"Reference\",\"CodeableConcept\"],\"SupplyDelivery.occurrence\":[\"DateTime\",\"Period\",\"Timing\"],\"SupplyDelivery.suppliedItem.item\":[\"CodeableConcept\",\"Reference\"],\"SupplyRequest.item\":[\"CodeableConcept\",\"Reference\"],\"SupplyRequest.occurrence\":[\"DateTime\",\"Period\",\"Timing\"],\"SupplyRequest.parameter.value\":[\"CodeableConcept\",\"Quantity\",\"Range\",\"Boolean\"],\"Task.input.value\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"Task.output.value\":[\"Base64Binary\",\"Boolean\",\"Canonical\",\"Code\",\"Date\",\"DateTime\",\"Decimal\",\"Id\",\"Instant\",\"Integer\",\"Markdown\",\"Oid\",\"PositiveInt\",\"String\",\"Time\",\"UnsignedInt\",\"Uri\",\"Url\",\"Uuid\",\"Address\",\"Age\",\"Annotation\",\"Attachment\",\"CodeableConcept\",\"Coding\",\"ContactPoint\",\"Count\",\"Distance\",\"Duration\",\"HumanName\",\"Identifier\",\"Money\",\"Period\",\"Quantity\",\"Range\",\"Ratio\",\"Reference\",\"SampledData\",\"Signature\",\"Timing\",\"ContactDetail\",\"Contributor\",\"DataRequirement\",\"Expression\",\"ParameterDefinition\",\"RelatedArtifact\",\"TriggerDefinition\",\"UsageContext\",\"Dosage\",\"Meta\"],\"Timing.repeat.bounds\":[\"Duration\",\"Range\",\"Period\"],\"TriggerDefinition.timing\":[\"Timing\",\"Reference\",\"Date\",\"DateTime\"],\"UsageContext.value\":[\"CodeableConcept\",\"Quantity\",\"Range\",\"Reference\"],\"ValueSet.expansion.parameter.value\":[\"String\",\"Boolean\",\"Integer\",\"Decimal\",\"Uri\",\"Code\",\"DateTime\"]}')},752:function(e){\"use strict\";e.exports=JSON.parse('{\"Account.contained\":\"Resource\",\"Account.coverage\":\"BackboneElement\",\"Account.coverage.coverage\":\"Reference\",\"Account.coverage.extension\":\"Extension\",\"Account.coverage.id\":\"System.String\",\"Account.coverage.modifierExtension\":\"Extension\",\"Account.coverage.priority\":\"positiveInt\",\"Account.description\":\"string\",\"Account.extension\":\"Extension\",\"Account.guarantor\":\"BackboneElement\",\"Account.guarantor.extension\":\"Extension\",\"Account.guarantor.id\":\"System.String\",\"Account.guarantor.modifierExtension\":\"Extension\",\"Account.guarantor.onHold\":\"boolean\",\"Account.guarantor.party\":\"Reference\",\"Account.guarantor.period\":\"Period\",\"Account.id\":\"System.String\",\"Account.identifier\":\"Identifier\",\"Account.implicitRules\":\"uri\",\"Account.language\":\"code\",\"Account.meta\":\"Meta\",\"Account.modifierExtension\":\"Extension\",\"Account.name\":\"string\",\"Account.owner\":\"Reference\",\"Account.partOf\":\"Reference\",\"Account.servicePeriod\":\"Period\",\"Account.status\":\"code\",\"Account.subject\":\"Reference\",\"Account.text\":\"Narrative\",\"Account.type\":\"CodeableConcept\",\"ActivityDefinition.approvalDate\":\"date\",\"ActivityDefinition.author\":\"ContactDetail\",\"ActivityDefinition.bodySite\":\"CodeableConcept\",\"ActivityDefinition.code\":\"CodeableConcept\",\"ActivityDefinition.contact\":\"ContactDetail\",\"ActivityDefinition.contained\":\"Resource\",\"ActivityDefinition.copyright\":\"markdown\",\"ActivityDefinition.date\":\"dateTime\",\"ActivityDefinition.description\":\"markdown\",\"ActivityDefinition.doNotPerform\":\"boolean\",\"ActivityDefinition.dosage\":\"Dosage\",\"ActivityDefinition.dynamicValue\":\"BackboneElement\",\"ActivityDefinition.dynamicValue.expression\":\"Expression\",\"ActivityDefinition.dynamicValue.extension\":\"Extension\",\"ActivityDefinition.dynamicValue.id\":\"System.String\",\"ActivityDefinition.dynamicValue.modifierExtension\":\"Extension\",\"ActivityDefinition.dynamicValue.path\":\"string\",\"ActivityDefinition.editor\":\"ContactDetail\",\"ActivityDefinition.effectivePeriod\":\"Period\",\"ActivityDefinition.endorser\":\"ContactDetail\",\"ActivityDefinition.experimental\":\"boolean\",\"ActivityDefinition.extension\":\"Extension\",\"ActivityDefinition.id\":\"System.String\",\"ActivityDefinition.identifier\":\"Identifier\",\"ActivityDefinition.implicitRules\":\"uri\",\"ActivityDefinition.intent\":\"code\",\"ActivityDefinition.jurisdiction\":\"CodeableConcept\",\"ActivityDefinition.kind\":\"code\",\"ActivityDefinition.language\":\"code\",\"ActivityDefinition.lastReviewDate\":\"date\",\"ActivityDefinition.library\":\"canonical\",\"ActivityDefinition.location\":\"Reference\",\"ActivityDefinition.meta\":\"Meta\",\"ActivityDefinition.modifierExtension\":\"Extension\",\"ActivityDefinition.name\":\"string\",\"ActivityDefinition.observationRequirement\":\"Reference\",\"ActivityDefinition.observationResultRequirement\":\"Reference\",\"ActivityDefinition.participant\":\"BackboneElement\",\"ActivityDefinition.participant.extension\":\"Extension\",\"ActivityDefinition.participant.id\":\"System.String\",\"ActivityDefinition.participant.modifierExtension\":\"Extension\",\"ActivityDefinition.participant.role\":\"CodeableConcept\",\"ActivityDefinition.participant.type\":\"code\",\"ActivityDefinition.priority\":\"code\",\"ActivityDefinition.productCodeableConcept\":\"CodeableConcept\",\"ActivityDefinition.productReference\":\"Reference\",\"ActivityDefinition.profile\":\"canonical\",\"ActivityDefinition.publisher\":\"string\",\"ActivityDefinition.purpose\":\"markdown\",\"ActivityDefinition.quantity\":\"Quantity\",\"ActivityDefinition.relatedArtifact\":\"RelatedArtifact\",\"ActivityDefinition.reviewer\":\"ContactDetail\",\"ActivityDefinition.specimenRequirement\":\"Reference\",\"ActivityDefinition.status\":\"code\",\"ActivityDefinition.subjectCodeableConcept\":\"CodeableConcept\",\"ActivityDefinition.subjectReference\":\"Reference\",\"ActivityDefinition.subtitle\":\"string\",\"ActivityDefinition.text\":\"Narrative\",\"ActivityDefinition.timingAge\":\"Age\",\"ActivityDefinition.timingDateTime\":\"dateTime\",\"ActivityDefinition.timingDuration\":\"Duration\",\"ActivityDefinition.timingPeriod\":\"Period\",\"ActivityDefinition.timingRange\":\"Range\",\"ActivityDefinition.timingTiming\":\"Timing\",\"ActivityDefinition.title\":\"string\",\"ActivityDefinition.topic\":\"CodeableConcept\",\"ActivityDefinition.transform\":\"canonical\",\"ActivityDefinition.url\":\"uri\",\"ActivityDefinition.usage\":\"string\",\"ActivityDefinition.useContext\":\"UsageContext\",\"ActivityDefinition.version\":\"string\",\"Address.city\":\"string\",\"Address.country\":\"string\",\"Address.district\":\"string\",\"Address.extension\":\"Extension\",\"Address.id\":\"System.String\",\"Address.line\":\"string\",\"Address.period\":\"Period\",\"Address.postalCode\":\"string\",\"Address.state\":\"string\",\"Address.text\":\"string\",\"Address.type\":\"code\",\"Address.use\":\"code\",\"AdverseEvent.actuality\":\"code\",\"AdverseEvent.category\":\"CodeableConcept\",\"AdverseEvent.contained\":\"Resource\",\"AdverseEvent.contributor\":\"Reference\",\"AdverseEvent.date\":\"dateTime\",\"AdverseEvent.detected\":\"dateTime\",\"AdverseEvent.encounter\":\"Reference\",\"AdverseEvent.event\":\"CodeableConcept\",\"AdverseEvent.extension\":\"Extension\",\"AdverseEvent.id\":\"System.String\",\"AdverseEvent.identifier\":\"Identifier\",\"AdverseEvent.implicitRules\":\"uri\",\"AdverseEvent.language\":\"code\",\"AdverseEvent.location\":\"Reference\",\"AdverseEvent.meta\":\"Meta\",\"AdverseEvent.modifierExtension\":\"Extension\",\"AdverseEvent.outcome\":\"CodeableConcept\",\"AdverseEvent.recordedDate\":\"dateTime\",\"AdverseEvent.recorder\":\"Reference\",\"AdverseEvent.referenceDocument\":\"Reference\",\"AdverseEvent.resultingCondition\":\"Reference\",\"AdverseEvent.seriousness\":\"CodeableConcept\",\"AdverseEvent.severity\":\"CodeableConcept\",\"AdverseEvent.study\":\"Reference\",\"AdverseEvent.subject\":\"Reference\",\"AdverseEvent.subjectMedicalHistory\":\"Reference\",\"AdverseEvent.suspectEntity\":\"BackboneElement\",\"AdverseEvent.suspectEntity.causality\":\"BackboneElement\",\"AdverseEvent.suspectEntity.causality.assessment\":\"CodeableConcept\",\"AdverseEvent.suspectEntity.causality.author\":\"Reference\",\"AdverseEvent.suspectEntity.causality.extension\":\"Extension\",\"AdverseEvent.suspectEntity.causality.id\":\"System.String\",\"AdverseEvent.suspectEntity.causality.method\":\"CodeableConcept\",\"AdverseEvent.suspectEntity.causality.modifierExtension\":\"Extension\",\"AdverseEvent.suspectEntity.causality.productRelatedness\":\"string\",\"AdverseEvent.suspectEntity.extension\":\"Extension\",\"AdverseEvent.suspectEntity.id\":\"System.String\",\"AdverseEvent.suspectEntity.instance\":\"Reference\",\"AdverseEvent.suspectEntity.modifierExtension\":\"Extension\",\"AdverseEvent.text\":\"Narrative\",\"Age.code\":\"code\",\"Age.comparator\":\"code\",\"Age.extension\":\"Extension\",\"Age.id\":\"System.String\",\"Age.system\":\"uri\",\"Age.unit\":\"string\",\"Age.value\":\"decimal\",\"AllergyIntolerance.asserter\":\"Reference\",\"AllergyIntolerance.category\":\"code\",\"AllergyIntolerance.clinicalStatus\":\"CodeableConcept\",\"AllergyIntolerance.code\":\"CodeableConcept\",\"AllergyIntolerance.contained\":\"Resource\",\"AllergyIntolerance.criticality\":\"code\",\"AllergyIntolerance.encounter\":\"Reference\",\"AllergyIntolerance.extension\":\"Extension\",\"AllergyIntolerance.id\":\"System.String\",\"AllergyIntolerance.identifier\":\"Identifier\",\"AllergyIntolerance.implicitRules\":\"uri\",\"AllergyIntolerance.language\":\"code\",\"AllergyIntolerance.lastOccurrence\":\"dateTime\",\"AllergyIntolerance.meta\":\"Meta\",\"AllergyIntolerance.modifierExtension\":\"Extension\",\"AllergyIntolerance.note\":\"Annotation\",\"AllergyIntolerance.onsetAge\":\"Age\",\"AllergyIntolerance.onsetDateTime\":\"dateTime\",\"AllergyIntolerance.onsetPeriod\":\"Period\",\"AllergyIntolerance.onsetRange\":\"Range\",\"AllergyIntolerance.onsetString\":\"string\",\"AllergyIntolerance.patient\":\"Reference\",\"AllergyIntolerance.reaction\":\"BackboneElement\",\"AllergyIntolerance.reaction.description\":\"string\",\"AllergyIntolerance.reaction.exposureRoute\":\"CodeableConcept\",\"AllergyIntolerance.reaction.extension\":\"Extension\",\"AllergyIntolerance.reaction.id\":\"System.String\",\"AllergyIntolerance.reaction.manifestation\":\"CodeableConcept\",\"AllergyIntolerance.reaction.modifierExtension\":\"Extension\",\"AllergyIntolerance.reaction.note\":\"Annotation\",\"AllergyIntolerance.reaction.onset\":\"dateTime\",\"AllergyIntolerance.reaction.severity\":\"code\",\"AllergyIntolerance.reaction.substance\":\"CodeableConcept\",\"AllergyIntolerance.recordedDate\":\"dateTime\",\"AllergyIntolerance.recorder\":\"Reference\",\"AllergyIntolerance.text\":\"Narrative\",\"AllergyIntolerance.type\":\"code\",\"AllergyIntolerance.verificationStatus\":\"CodeableConcept\",\"Annotation.authorReference\":\"Reference\",\"Annotation.authorString\":\"string\",\"Annotation.extension\":\"Extension\",\"Annotation.id\":\"System.String\",\"Annotation.text\":\"markdown\",\"Annotation.time\":\"dateTime\",\"Appointment.appointmentType\":\"CodeableConcept\",\"Appointment.basedOn\":\"Reference\",\"Appointment.cancelationReason\":\"CodeableConcept\",\"Appointment.comment\":\"string\",\"Appointment.contained\":\"Resource\",\"Appointment.created\":\"dateTime\",\"Appointment.description\":\"string\",\"Appointment.end\":\"instant\",\"Appointment.extension\":\"Extension\",\"Appointment.id\":\"System.String\",\"Appointment.identifier\":\"Identifier\",\"Appointment.implicitRules\":\"uri\",\"Appointment.language\":\"code\",\"Appointment.meta\":\"Meta\",\"Appointment.minutesDuration\":\"positiveInt\",\"Appointment.modifierExtension\":\"Extension\",\"Appointment.participant\":\"BackboneElement\",\"Appointment.participant.actor\":\"Reference\",\"Appointment.participant.extension\":\"Extension\",\"Appointment.participant.id\":\"System.String\",\"Appointment.participant.modifierExtension\":\"Extension\",\"Appointment.participant.period\":\"Period\",\"Appointment.participant.required\":\"code\",\"Appointment.participant.status\":\"code\",\"Appointment.participant.type\":\"CodeableConcept\",\"Appointment.patientInstruction\":\"string\",\"Appointment.priority\":\"unsignedInt\",\"Appointment.reasonCode\":\"CodeableConcept\",\"Appointment.reasonReference\":\"Reference\",\"Appointment.requestedPeriod\":\"Period\",\"Appointment.serviceCategory\":\"CodeableConcept\",\"Appointment.serviceType\":\"CodeableConcept\",\"Appointment.slot\":\"Reference\",\"Appointment.specialty\":\"CodeableConcept\",\"Appointment.start\":\"instant\",\"Appointment.status\":\"code\",\"Appointment.supportingInformation\":\"Reference\",\"Appointment.text\":\"Narrative\",\"AppointmentResponse.actor\":\"Reference\",\"AppointmentResponse.appointment\":\"Reference\",\"AppointmentResponse.comment\":\"string\",\"AppointmentResponse.contained\":\"Resource\",\"AppointmentResponse.end\":\"instant\",\"AppointmentResponse.extension\":\"Extension\",\"AppointmentResponse.id\":\"System.String\",\"AppointmentResponse.identifier\":\"Identifier\",\"AppointmentResponse.implicitRules\":\"uri\",\"AppointmentResponse.language\":\"code\",\"AppointmentResponse.meta\":\"Meta\",\"AppointmentResponse.modifierExtension\":\"Extension\",\"AppointmentResponse.participantStatus\":\"code\",\"AppointmentResponse.participantType\":\"CodeableConcept\",\"AppointmentResponse.start\":\"instant\",\"AppointmentResponse.text\":\"Narrative\",\"Attachment.contentType\":\"code\",\"Attachment.creation\":\"dateTime\",\"Attachment.data\":\"base64Binary\",\"Attachment.extension\":\"Extension\",\"Attachment.hash\":\"base64Binary\",\"Attachment.id\":\"System.String\",\"Attachment.language\":\"code\",\"Attachment.size\":\"unsignedInt\",\"Attachment.title\":\"string\",\"Attachment.url\":\"url\",\"AuditEvent.action\":\"code\",\"AuditEvent.agent\":\"BackboneElement\",\"AuditEvent.agent.altId\":\"string\",\"AuditEvent.agent.extension\":\"Extension\",\"AuditEvent.agent.id\":\"System.String\",\"AuditEvent.agent.location\":\"Reference\",\"AuditEvent.agent.media\":\"Coding\",\"AuditEvent.agent.modifierExtension\":\"Extension\",\"AuditEvent.agent.name\":\"string\",\"AuditEvent.agent.network\":\"BackboneElement\",\"AuditEvent.agent.network.address\":\"string\",\"AuditEvent.agent.network.extension\":\"Extension\",\"AuditEvent.agent.network.id\":\"System.String\",\"AuditEvent.agent.network.modifierExtension\":\"Extension\",\"AuditEvent.agent.network.type\":\"code\",\"AuditEvent.agent.policy\":\"uri\",\"AuditEvent.agent.purposeOfUse\":\"CodeableConcept\",\"AuditEvent.agent.requestor\":\"boolean\",\"AuditEvent.agent.role\":\"CodeableConcept\",\"AuditEvent.agent.type\":\"CodeableConcept\",\"AuditEvent.agent.who\":\"Reference\",\"AuditEvent.contained\":\"Resource\",\"AuditEvent.entity\":\"BackboneElement\",\"AuditEvent.entity.description\":\"string\",\"AuditEvent.entity.detail\":\"BackboneElement\",\"AuditEvent.entity.detail.extension\":\"Extension\",\"AuditEvent.entity.detail.id\":\"System.String\",\"AuditEvent.entity.detail.modifierExtension\":\"Extension\",\"AuditEvent.entity.detail.type\":\"string\",\"AuditEvent.entity.detail.valueBase64Binary\":\"base64Binary\",\"AuditEvent.entity.detail.valueString\":\"string\",\"AuditEvent.entity.extension\":\"Extension\",\"AuditEvent.entity.id\":\"System.String\",\"AuditEvent.entity.lifecycle\":\"Coding\",\"AuditEvent.entity.modifierExtension\":\"Extension\",\"AuditEvent.entity.name\":\"string\",\"AuditEvent.entity.query\":\"base64Binary\",\"AuditEvent.entity.role\":\"Coding\",\"AuditEvent.entity.securityLabel\":\"Coding\",\"AuditEvent.entity.type\":\"Coding\",\"AuditEvent.entity.what\":\"Reference\",\"AuditEvent.extension\":\"Extension\",\"AuditEvent.id\":\"System.String\",\"AuditEvent.implicitRules\":\"uri\",\"AuditEvent.language\":\"code\",\"AuditEvent.meta\":\"Meta\",\"AuditEvent.modifierExtension\":\"Extension\",\"AuditEvent.outcome\":\"code\",\"AuditEvent.outcomeDesc\":\"string\",\"AuditEvent.period\":\"Period\",\"AuditEvent.purposeOfEvent\":\"CodeableConcept\",\"AuditEvent.recorded\":\"instant\",\"AuditEvent.source\":\"BackboneElement\",\"AuditEvent.source.extension\":\"Extension\",\"AuditEvent.source.id\":\"System.String\",\"AuditEvent.source.modifierExtension\":\"Extension\",\"AuditEvent.source.observer\":\"Reference\",\"AuditEvent.source.site\":\"string\",\"AuditEvent.source.type\":\"Coding\",\"AuditEvent.subtype\":\"Coding\",\"AuditEvent.text\":\"Narrative\",\"AuditEvent.type\":\"Coding\",\"BackboneElement.extension\":\"Extension\",\"BackboneElement.id\":\"System.String\",\"BackboneElement.modifierExtension\":\"Extension\",\"Basic.author\":\"Reference\",\"Basic.code\":\"CodeableConcept\",\"Basic.contained\":\"Resource\",\"Basic.created\":\"date\",\"Basic.extension\":\"Extension\",\"Basic.id\":\"System.String\",\"Basic.identifier\":\"Identifier\",\"Basic.implicitRules\":\"uri\",\"Basic.language\":\"code\",\"Basic.meta\":\"Meta\",\"Basic.modifierExtension\":\"Extension\",\"Basic.subject\":\"Reference\",\"Basic.text\":\"Narrative\",\"Binary.contentType\":\"code\",\"Binary.data\":\"base64Binary\",\"Binary.id\":\"System.String\",\"Binary.implicitRules\":\"uri\",\"Binary.language\":\"code\",\"Binary.meta\":\"Meta\",\"Binary.securityContext\":\"Reference\",\"BiologicallyDerivedProduct.collection\":\"BackboneElement\",\"BiologicallyDerivedProduct.collection.collectedDateTime\":\"dateTime\",\"BiologicallyDerivedProduct.collection.collectedPeriod\":\"Period\",\"BiologicallyDerivedProduct.collection.collector\":\"Reference\",\"BiologicallyDerivedProduct.collection.extension\":\"Extension\",\"BiologicallyDerivedProduct.collection.id\":\"System.String\",\"BiologicallyDerivedProduct.collection.modifierExtension\":\"Extension\",\"BiologicallyDerivedProduct.collection.source\":\"Reference\",\"BiologicallyDerivedProduct.contained\":\"Resource\",\"BiologicallyDerivedProduct.extension\":\"Extension\",\"BiologicallyDerivedProduct.id\":\"System.String\",\"BiologicallyDerivedProduct.identifier\":\"Identifier\",\"BiologicallyDerivedProduct.implicitRules\":\"uri\",\"BiologicallyDerivedProduct.language\":\"code\",\"BiologicallyDerivedProduct.manipulation\":\"BackboneElement\",\"BiologicallyDerivedProduct.manipulation.description\":\"string\",\"BiologicallyDerivedProduct.manipulation.extension\":\"Extension\",\"BiologicallyDerivedProduct.manipulation.id\":\"System.String\",\"BiologicallyDerivedProduct.manipulation.modifierExtension\":\"Extension\",\"BiologicallyDerivedProduct.manipulation.timeDateTime\":\"dateTime\",\"BiologicallyDerivedProduct.manipulation.timePeriod\":\"Period\",\"BiologicallyDerivedProduct.meta\":\"Meta\",\"BiologicallyDerivedProduct.modifierExtension\":\"Extension\",\"BiologicallyDerivedProduct.parent\":\"Reference\",\"BiologicallyDerivedProduct.processing\":\"BackboneElement\",\"BiologicallyDerivedProduct.processing.additive\":\"Reference\",\"BiologicallyDerivedProduct.processing.description\":\"string\",\"BiologicallyDerivedProduct.processing.extension\":\"Extension\",\"BiologicallyDerivedProduct.processing.id\":\"System.String\",\"BiologicallyDerivedProduct.processing.modifierExtension\":\"Extension\",\"BiologicallyDerivedProduct.processing.procedure\":\"CodeableConcept\",\"BiologicallyDerivedProduct.processing.timeDateTime\":\"dateTime\",\"BiologicallyDerivedProduct.processing.timePeriod\":\"Period\",\"BiologicallyDerivedProduct.productCategory\":\"code\",\"BiologicallyDerivedProduct.productCode\":\"CodeableConcept\",\"BiologicallyDerivedProduct.quantity\":\"integer\",\"BiologicallyDerivedProduct.request\":\"Reference\",\"BiologicallyDerivedProduct.status\":\"code\",\"BiologicallyDerivedProduct.storage\":\"BackboneElement\",\"BiologicallyDerivedProduct.storage.description\":\"string\",\"BiologicallyDerivedProduct.storage.duration\":\"Period\",\"BiologicallyDerivedProduct.storage.extension\":\"Extension\",\"BiologicallyDerivedProduct.storage.id\":\"System.String\",\"BiologicallyDerivedProduct.storage.modifierExtension\":\"Extension\",\"BiologicallyDerivedProduct.storage.scale\":\"code\",\"BiologicallyDerivedProduct.storage.temperature\":\"decimal\",\"BiologicallyDerivedProduct.text\":\"Narrative\",\"BodyStructure.active\":\"boolean\",\"BodyStructure.contained\":\"Resource\",\"BodyStructure.description\":\"string\",\"BodyStructure.extension\":\"Extension\",\"BodyStructure.id\":\"System.String\",\"BodyStructure.identifier\":\"Identifier\",\"BodyStructure.image\":\"Attachment\",\"BodyStructure.implicitRules\":\"uri\",\"BodyStructure.language\":\"code\",\"BodyStructure.location\":\"CodeableConcept\",\"BodyStructure.locationQualifier\":\"CodeableConcept\",\"BodyStructure.meta\":\"Meta\",\"BodyStructure.modifierExtension\":\"Extension\",\"BodyStructure.morphology\":\"CodeableConcept\",\"BodyStructure.patient\":\"Reference\",\"BodyStructure.text\":\"Narrative\",\"Bundle.entry\":\"BackboneElement\",\"Bundle.entry.extension\":\"Extension\",\"Bundle.entry.fullUrl\":\"uri\",\"Bundle.entry.id\":\"System.String\",\"Bundle.entry.modifierExtension\":\"Extension\",\"Bundle.entry.request\":\"BackboneElement\",\"Bundle.entry.request.extension\":\"Extension\",\"Bundle.entry.request.id\":\"System.String\",\"Bundle.entry.request.ifMatch\":\"string\",\"Bundle.entry.request.ifModifiedSince\":\"instant\",\"Bundle.entry.request.ifNoneExist\":\"string\",\"Bundle.entry.request.ifNoneMatch\":\"string\",\"Bundle.entry.request.method\":\"code\",\"Bundle.entry.request.modifierExtension\":\"Extension\",\"Bundle.entry.request.url\":\"uri\",\"Bundle.entry.resource\":\"Resource\",\"Bundle.entry.response\":\"BackboneElement\",\"Bundle.entry.response.etag\":\"string\",\"Bundle.entry.response.extension\":\"Extension\",\"Bundle.entry.response.id\":\"System.String\",\"Bundle.entry.response.lastModified\":\"instant\",\"Bundle.entry.response.location\":\"uri\",\"Bundle.entry.response.modifierExtension\":\"Extension\",\"Bundle.entry.response.outcome\":\"Resource\",\"Bundle.entry.response.status\":\"string\",\"Bundle.entry.search\":\"BackboneElement\",\"Bundle.entry.search.extension\":\"Extension\",\"Bundle.entry.search.id\":\"System.String\",\"Bundle.entry.search.mode\":\"code\",\"Bundle.entry.search.modifierExtension\":\"Extension\",\"Bundle.entry.search.score\":\"decimal\",\"Bundle.id\":\"System.String\",\"Bundle.identifier\":\"Identifier\",\"Bundle.implicitRules\":\"uri\",\"Bundle.language\":\"code\",\"Bundle.link\":\"BackboneElement\",\"Bundle.link.extension\":\"Extension\",\"Bundle.link.id\":\"System.String\",\"Bundle.link.modifierExtension\":\"Extension\",\"Bundle.link.relation\":\"string\",\"Bundle.link.url\":\"uri\",\"Bundle.meta\":\"Meta\",\"Bundle.signature\":\"Signature\",\"Bundle.timestamp\":\"instant\",\"Bundle.total\":\"unsignedInt\",\"Bundle.type\":\"code\",\"CapabilityStatement.contact\":\"ContactDetail\",\"CapabilityStatement.contained\":\"Resource\",\"CapabilityStatement.copyright\":\"markdown\",\"CapabilityStatement.date\":\"dateTime\",\"CapabilityStatement.description\":\"markdown\",\"CapabilityStatement.document\":\"BackboneElement\",\"CapabilityStatement.document.documentation\":\"markdown\",\"CapabilityStatement.document.extension\":\"Extension\",\"CapabilityStatement.document.id\":\"System.String\",\"CapabilityStatement.document.mode\":\"code\",\"CapabilityStatement.document.modifierExtension\":\"Extension\",\"CapabilityStatement.document.profile\":\"canonical\",\"CapabilityStatement.experimental\":\"boolean\",\"CapabilityStatement.extension\":\"Extension\",\"CapabilityStatement.fhirVersion\":\"code\",\"CapabilityStatement.format\":\"code\",\"CapabilityStatement.id\":\"System.String\",\"CapabilityStatement.implementation\":\"BackboneElement\",\"CapabilityStatement.implementation.custodian\":\"Reference\",\"CapabilityStatement.implementation.description\":\"string\",\"CapabilityStatement.implementation.extension\":\"Extension\",\"CapabilityStatement.implementation.id\":\"System.String\",\"CapabilityStatement.implementation.modifierExtension\":\"Extension\",\"CapabilityStatement.implementation.url\":\"url\",\"CapabilityStatement.implementationGuide\":\"canonical\",\"CapabilityStatement.implicitRules\":\"uri\",\"CapabilityStatement.imports\":\"canonical\",\"CapabilityStatement.instantiates\":\"canonical\",\"CapabilityStatement.jurisdiction\":\"CodeableConcept\",\"CapabilityStatement.kind\":\"code\",\"CapabilityStatement.language\":\"code\",\"CapabilityStatement.messaging\":\"BackboneElement\",\"CapabilityStatement.messaging.documentation\":\"markdown\",\"CapabilityStatement.messaging.endpoint\":\"BackboneElement\",\"CapabilityStatement.messaging.endpoint.address\":\"url\",\"CapabilityStatement.messaging.endpoint.extension\":\"Extension\",\"CapabilityStatement.messaging.endpoint.id\":\"System.String\",\"CapabilityStatement.messaging.endpoint.modifierExtension\":\"Extension\",\"CapabilityStatement.messaging.endpoint.protocol\":\"Coding\",\"CapabilityStatement.messaging.extension\":\"Extension\",\"CapabilityStatement.messaging.id\":\"System.String\",\"CapabilityStatement.messaging.modifierExtension\":\"Extension\",\"CapabilityStatement.messaging.reliableCache\":\"unsignedInt\",\"CapabilityStatement.messaging.supportedMessage\":\"BackboneElement\",\"CapabilityStatement.messaging.supportedMessage.definition\":\"canonical\",\"CapabilityStatement.messaging.supportedMessage.extension\":\"Extension\",\"CapabilityStatement.messaging.supportedMessage.id\":\"System.String\",\"CapabilityStatement.messaging.supportedMessage.mode\":\"code\",\"CapabilityStatement.messaging.supportedMessage.modifierExtension\":\"Extension\",\"CapabilityStatement.meta\":\"Meta\",\"CapabilityStatement.modifierExtension\":\"Extension\",\"CapabilityStatement.name\":\"string\",\"CapabilityStatement.patchFormat\":\"code\",\"CapabilityStatement.publisher\":\"string\",\"CapabilityStatement.purpose\":\"markdown\",\"CapabilityStatement.rest\":\"BackboneElement\",\"CapabilityStatement.rest.compartment\":\"canonical\",\"CapabilityStatement.rest.documentation\":\"markdown\",\"CapabilityStatement.rest.extension\":\"Extension\",\"CapabilityStatement.rest.id\":\"System.String\",\"CapabilityStatement.rest.interaction\":\"BackboneElement\",\"CapabilityStatement.rest.interaction.code\":\"code\",\"CapabilityStatement.rest.interaction.documentation\":\"markdown\",\"CapabilityStatement.rest.interaction.extension\":\"Extension\",\"CapabilityStatement.rest.interaction.id\":\"System.String\",\"CapabilityStatement.rest.interaction.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.mode\":\"code\",\"CapabilityStatement.rest.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.resource\":\"BackboneElement\",\"CapabilityStatement.rest.resource.conditionalCreate\":\"boolean\",\"CapabilityStatement.rest.resource.conditionalDelete\":\"code\",\"CapabilityStatement.rest.resource.conditionalRead\":\"code\",\"CapabilityStatement.rest.resource.conditionalUpdate\":\"boolean\",\"CapabilityStatement.rest.resource.documentation\":\"markdown\",\"CapabilityStatement.rest.resource.extension\":\"Extension\",\"CapabilityStatement.rest.resource.id\":\"System.String\",\"CapabilityStatement.rest.resource.interaction\":\"BackboneElement\",\"CapabilityStatement.rest.resource.interaction.code\":\"code\",\"CapabilityStatement.rest.resource.interaction.documentation\":\"markdown\",\"CapabilityStatement.rest.resource.interaction.extension\":\"Extension\",\"CapabilityStatement.rest.resource.interaction.id\":\"System.String\",\"CapabilityStatement.rest.resource.interaction.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.resource.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.resource.operation\":\"BackboneElement\",\"CapabilityStatement.rest.resource.operation.definition\":\"canonical\",\"CapabilityStatement.rest.resource.operation.documentation\":\"markdown\",\"CapabilityStatement.rest.resource.operation.extension\":\"Extension\",\"CapabilityStatement.rest.resource.operation.id\":\"System.String\",\"CapabilityStatement.rest.resource.operation.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.resource.operation.name\":\"string\",\"CapabilityStatement.rest.resource.profile\":\"canonical\",\"CapabilityStatement.rest.resource.readHistory\":\"boolean\",\"CapabilityStatement.rest.resource.referencePolicy\":\"code\",\"CapabilityStatement.rest.resource.searchInclude\":\"string\",\"CapabilityStatement.rest.resource.searchParam\":\"BackboneElement\",\"CapabilityStatement.rest.resource.searchParam.definition\":\"canonical\",\"CapabilityStatement.rest.resource.searchParam.documentation\":\"markdown\",\"CapabilityStatement.rest.resource.searchParam.extension\":\"Extension\",\"CapabilityStatement.rest.resource.searchParam.id\":\"System.String\",\"CapabilityStatement.rest.resource.searchParam.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.resource.searchParam.name\":\"string\",\"CapabilityStatement.rest.resource.searchParam.type\":\"code\",\"CapabilityStatement.rest.resource.searchRevInclude\":\"string\",\"CapabilityStatement.rest.resource.supportedProfile\":\"canonical\",\"CapabilityStatement.rest.resource.type\":\"code\",\"CapabilityStatement.rest.resource.updateCreate\":\"boolean\",\"CapabilityStatement.rest.resource.versioning\":\"code\",\"CapabilityStatement.rest.security\":\"BackboneElement\",\"CapabilityStatement.rest.security.cors\":\"boolean\",\"CapabilityStatement.rest.security.description\":\"markdown\",\"CapabilityStatement.rest.security.extension\":\"Extension\",\"CapabilityStatement.rest.security.id\":\"System.String\",\"CapabilityStatement.rest.security.modifierExtension\":\"Extension\",\"CapabilityStatement.rest.security.service\":\"CodeableConcept\",\"CapabilityStatement.software\":\"BackboneElement\",\"CapabilityStatement.software.extension\":\"Extension\",\"CapabilityStatement.software.id\":\"System.String\",\"CapabilityStatement.software.modifierExtension\":\"Extension\",\"CapabilityStatement.software.name\":\"string\",\"CapabilityStatement.software.releaseDate\":\"dateTime\",\"CapabilityStatement.software.version\":\"string\",\"CapabilityStatement.status\":\"code\",\"CapabilityStatement.text\":\"Narrative\",\"CapabilityStatement.title\":\"string\",\"CapabilityStatement.url\":\"uri\",\"CapabilityStatement.useContext\":\"UsageContext\",\"CapabilityStatement.version\":\"string\",\"CarePlan.activity\":\"BackboneElement\",\"CarePlan.activity.detail\":\"BackboneElement\",\"CarePlan.activity.detail.code\":\"CodeableConcept\",\"CarePlan.activity.detail.dailyAmount\":\"Quantity\",\"CarePlan.activity.detail.description\":\"string\",\"CarePlan.activity.detail.doNotPerform\":\"boolean\",\"CarePlan.activity.detail.extension\":\"Extension\",\"CarePlan.activity.detail.goal\":\"Reference\",\"CarePlan.activity.detail.id\":\"System.String\",\"CarePlan.activity.detail.instantiatesCanonical\":\"canonical\",\"CarePlan.activity.detail.instantiatesUri\":\"uri\",\"CarePlan.activity.detail.kind\":\"code\",\"CarePlan.activity.detail.location\":\"Reference\",\"CarePlan.activity.detail.modifierExtension\":\"Extension\",\"CarePlan.activity.detail.performer\":\"Reference\",\"CarePlan.activity.detail.productCodeableConcept\":\"CodeableConcept\",\"CarePlan.activity.detail.productReference\":\"Reference\",\"CarePlan.activity.detail.quantity\":\"Quantity\",\"CarePlan.activity.detail.reasonCode\":\"CodeableConcept\",\"CarePlan.activity.detail.reasonReference\":\"Reference\",\"CarePlan.activity.detail.scheduledPeriod\":\"Period\",\"CarePlan.activity.detail.scheduledString\":\"string\",\"CarePlan.activity.detail.scheduledTiming\":\"Timing\",\"CarePlan.activity.detail.status\":\"code\",\"CarePlan.activity.detail.statusReason\":\"CodeableConcept\",\"CarePlan.activity.extension\":\"Extension\",\"CarePlan.activity.id\":\"System.String\",\"CarePlan.activity.modifierExtension\":\"Extension\",\"CarePlan.activity.outcomeCodeableConcept\":\"CodeableConcept\",\"CarePlan.activity.outcomeReference\":\"Reference\",\"CarePlan.activity.progress\":\"Annotation\",\"CarePlan.activity.reference\":\"Reference\",\"CarePlan.addresses\":\"Reference\",\"CarePlan.author\":\"Reference\",\"CarePlan.basedOn\":\"Reference\",\"CarePlan.careTeam\":\"Reference\",\"CarePlan.category\":\"CodeableConcept\",\"CarePlan.contained\":\"Resource\",\"CarePlan.contributor\":\"Reference\",\"CarePlan.created\":\"dateTime\",\"CarePlan.description\":\"string\",\"CarePlan.encounter\":\"Reference\",\"CarePlan.extension\":\"Extension\",\"CarePlan.goal\":\"Reference\",\"CarePlan.id\":\"System.String\",\"CarePlan.identifier\":\"Identifier\",\"CarePlan.implicitRules\":\"uri\",\"CarePlan.instantiatesCanonical\":\"canonical\",\"CarePlan.instantiatesUri\":\"uri\",\"CarePlan.intent\":\"code\",\"CarePlan.language\":\"code\",\"CarePlan.meta\":\"Meta\",\"CarePlan.modifierExtension\":\"Extension\",\"CarePlan.note\":\"Annotation\",\"CarePlan.partOf\":\"Reference\",\"CarePlan.period\":\"Period\",\"CarePlan.replaces\":\"Reference\",\"CarePlan.status\":\"code\",\"CarePlan.subject\":\"Reference\",\"CarePlan.supportingInfo\":\"Reference\",\"CarePlan.text\":\"Narrative\",\"CarePlan.title\":\"string\",\"CareTeam.category\":\"CodeableConcept\",\"CareTeam.contained\":\"Resource\",\"CareTeam.encounter\":\"Reference\",\"CareTeam.extension\":\"Extension\",\"CareTeam.id\":\"System.String\",\"CareTeam.identifier\":\"Identifier\",\"CareTeam.implicitRules\":\"uri\",\"CareTeam.language\":\"code\",\"CareTeam.managingOrganization\":\"Reference\",\"CareTeam.meta\":\"Meta\",\"CareTeam.modifierExtension\":\"Extension\",\"CareTeam.name\":\"string\",\"CareTeam.note\":\"Annotation\",\"CareTeam.participant\":\"BackboneElement\",\"CareTeam.participant.extension\":\"Extension\",\"CareTeam.participant.id\":\"System.String\",\"CareTeam.participant.member\":\"Reference\",\"CareTeam.participant.modifierExtension\":\"Extension\",\"CareTeam.participant.onBehalfOf\":\"Reference\",\"CareTeam.participant.period\":\"Period\",\"CareTeam.participant.role\":\"CodeableConcept\",\"CareTeam.period\":\"Period\",\"CareTeam.reasonCode\":\"CodeableConcept\",\"CareTeam.reasonReference\":\"Reference\",\"CareTeam.status\":\"code\",\"CareTeam.subject\":\"Reference\",\"CareTeam.telecom\":\"ContactPoint\",\"CareTeam.text\":\"Narrative\",\"CatalogEntry.additionalCharacteristic\":\"CodeableConcept\",\"CatalogEntry.additionalClassification\":\"CodeableConcept\",\"CatalogEntry.additionalIdentifier\":\"Identifier\",\"CatalogEntry.classification\":\"CodeableConcept\",\"CatalogEntry.contained\":\"Resource\",\"CatalogEntry.extension\":\"Extension\",\"CatalogEntry.id\":\"System.String\",\"CatalogEntry.identifier\":\"Identifier\",\"CatalogEntry.implicitRules\":\"uri\",\"CatalogEntry.language\":\"code\",\"CatalogEntry.lastUpdated\":\"dateTime\",\"CatalogEntry.meta\":\"Meta\",\"CatalogEntry.modifierExtension\":\"Extension\",\"CatalogEntry.orderable\":\"boolean\",\"CatalogEntry.referencedItem\":\"Reference\",\"CatalogEntry.relatedEntry\":\"BackboneElement\",\"CatalogEntry.relatedEntry.extension\":\"Extension\",\"CatalogEntry.relatedEntry.id\":\"System.String\",\"CatalogEntry.relatedEntry.item\":\"Reference\",\"CatalogEntry.relatedEntry.modifierExtension\":\"Extension\",\"CatalogEntry.relatedEntry.relationtype\":\"code\",\"CatalogEntry.status\":\"code\",\"CatalogEntry.text\":\"Narrative\",\"CatalogEntry.type\":\"CodeableConcept\",\"CatalogEntry.validTo\":\"dateTime\",\"CatalogEntry.validityPeriod\":\"Period\",\"ChargeItem.account\":\"Reference\",\"ChargeItem.bodysite\":\"CodeableConcept\",\"ChargeItem.code\":\"CodeableConcept\",\"ChargeItem.contained\":\"Resource\",\"ChargeItem.context\":\"Reference\",\"ChargeItem.costCenter\":\"Reference\",\"ChargeItem.definitionCanonical\":\"canonical\",\"ChargeItem.definitionUri\":\"uri\",\"ChargeItem.enteredDate\":\"dateTime\",\"ChargeItem.enterer\":\"Reference\",\"ChargeItem.extension\":\"Extension\",\"ChargeItem.factorOverride\":\"decimal\",\"ChargeItem.id\":\"System.String\",\"ChargeItem.identifier\":\"Identifier\",\"ChargeItem.implicitRules\":\"uri\",\"ChargeItem.language\":\"code\",\"ChargeItem.meta\":\"Meta\",\"ChargeItem.modifierExtension\":\"Extension\",\"ChargeItem.note\":\"Annotation\",\"ChargeItem.occurrenceDateTime\":\"dateTime\",\"ChargeItem.occurrencePeriod\":\"Period\",\"ChargeItem.occurrenceTiming\":\"Timing\",\"ChargeItem.overrideReason\":\"string\",\"ChargeItem.partOf\":\"Reference\",\"ChargeItem.performer\":\"BackboneElement\",\"ChargeItem.performer.actor\":\"Reference\",\"ChargeItem.performer.extension\":\"Extension\",\"ChargeItem.performer.function\":\"CodeableConcept\",\"ChargeItem.performer.id\":\"System.String\",\"ChargeItem.performer.modifierExtension\":\"Extension\",\"ChargeItem.performingOrganization\":\"Reference\",\"ChargeItem.priceOverride\":\"Money\",\"ChargeItem.productCodeableConcept\":\"CodeableConcept\",\"ChargeItem.productReference\":\"Reference\",\"ChargeItem.quantity\":\"Quantity\",\"ChargeItem.reason\":\"CodeableConcept\",\"ChargeItem.requestingOrganization\":\"Reference\",\"ChargeItem.service\":\"Reference\",\"ChargeItem.status\":\"code\",\"ChargeItem.subject\":\"Reference\",\"ChargeItem.supportingInformation\":\"Reference\",\"ChargeItem.text\":\"Narrative\",\"ChargeItemDefinition.applicability\":\"BackboneElement\",\"ChargeItemDefinition.applicability.description\":\"string\",\"ChargeItemDefinition.applicability.expression\":\"string\",\"ChargeItemDefinition.applicability.extension\":\"Extension\",\"ChargeItemDefinition.applicability.id\":\"System.String\",\"ChargeItemDefinition.applicability.language\":\"string\",\"ChargeItemDefinition.applicability.modifierExtension\":\"Extension\",\"ChargeItemDefinition.approvalDate\":\"date\",\"ChargeItemDefinition.code\":\"CodeableConcept\",\"ChargeItemDefinition.contact\":\"ContactDetail\",\"ChargeItemDefinition.contained\":\"Resource\",\"ChargeItemDefinition.copyright\":\"markdown\",\"ChargeItemDefinition.date\":\"dateTime\",\"ChargeItemDefinition.derivedFromUri\":\"uri\",\"ChargeItemDefinition.description\":\"markdown\",\"ChargeItemDefinition.effectivePeriod\":\"Period\",\"ChargeItemDefinition.experimental\":\"boolean\",\"ChargeItemDefinition.extension\":\"Extension\",\"ChargeItemDefinition.id\":\"System.String\",\"ChargeItemDefinition.identifier\":\"Identifier\",\"ChargeItemDefinition.implicitRules\":\"uri\",\"ChargeItemDefinition.instance\":\"Reference\",\"ChargeItemDefinition.jurisdiction\":\"CodeableConcept\",\"ChargeItemDefinition.language\":\"code\",\"ChargeItemDefinition.lastReviewDate\":\"date\",\"ChargeItemDefinition.meta\":\"Meta\",\"ChargeItemDefinition.modifierExtension\":\"Extension\",\"ChargeItemDefinition.partOf\":\"canonical\",\"ChargeItemDefinition.propertyGroup\":\"BackboneElement\",\"ChargeItemDefinition.propertyGroup.extension\":\"Extension\",\"ChargeItemDefinition.propertyGroup.id\":\"System.String\",\"ChargeItemDefinition.propertyGroup.modifierExtension\":\"Extension\",\"ChargeItemDefinition.propertyGroup.priceComponent\":\"BackboneElement\",\"ChargeItemDefinition.propertyGroup.priceComponent.amount\":\"Money\",\"ChargeItemDefinition.propertyGroup.priceComponent.code\":\"CodeableConcept\",\"ChargeItemDefinition.propertyGroup.priceComponent.extension\":\"Extension\",\"ChargeItemDefinition.propertyGroup.priceComponent.factor\":\"decimal\",\"ChargeItemDefinition.propertyGroup.priceComponent.id\":\"System.String\",\"ChargeItemDefinition.propertyGroup.priceComponent.modifierExtension\":\"Extension\",\"ChargeItemDefinition.propertyGroup.priceComponent.type\":\"code\",\"ChargeItemDefinition.publisher\":\"string\",\"ChargeItemDefinition.replaces\":\"canonical\",\"ChargeItemDefinition.status\":\"code\",\"ChargeItemDefinition.text\":\"Narrative\",\"ChargeItemDefinition.title\":\"string\",\"ChargeItemDefinition.url\":\"uri\",\"ChargeItemDefinition.useContext\":\"UsageContext\",\"ChargeItemDefinition.version\":\"string\",\"Claim.accident\":\"BackboneElement\",\"Claim.accident.date\":\"date\",\"Claim.accident.extension\":\"Extension\",\"Claim.accident.id\":\"System.String\",\"Claim.accident.locationAddress\":\"Address\",\"Claim.accident.locationReference\":\"Reference\",\"Claim.accident.modifierExtension\":\"Extension\",\"Claim.accident.type\":\"CodeableConcept\",\"Claim.billablePeriod\":\"Period\",\"Claim.careTeam\":\"BackboneElement\",\"Claim.careTeam.extension\":\"Extension\",\"Claim.careTeam.id\":\"System.String\",\"Claim.careTeam.modifierExtension\":\"Extension\",\"Claim.careTeam.provider\":\"Reference\",\"Claim.careTeam.qualification\":\"CodeableConcept\",\"Claim.careTeam.responsible\":\"boolean\",\"Claim.careTeam.role\":\"CodeableConcept\",\"Claim.careTeam.sequence\":\"positiveInt\",\"Claim.contained\":\"Resource\",\"Claim.created\":\"dateTime\",\"Claim.diagnosis\":\"BackboneElement\",\"Claim.diagnosis.diagnosisCodeableConcept\":\"CodeableConcept\",\"Claim.diagnosis.diagnosisReference\":\"Reference\",\"Claim.diagnosis.extension\":\"Extension\",\"Claim.diagnosis.id\":\"System.String\",\"Claim.diagnosis.modifierExtension\":\"Extension\",\"Claim.diagnosis.onAdmission\":\"CodeableConcept\",\"Claim.diagnosis.packageCode\":\"CodeableConcept\",\"Claim.diagnosis.sequence\":\"positiveInt\",\"Claim.diagnosis.type\":\"CodeableConcept\",\"Claim.enterer\":\"Reference\",\"Claim.extension\":\"Extension\",\"Claim.facility\":\"Reference\",\"Claim.fundsReserve\":\"CodeableConcept\",\"Claim.id\":\"System.String\",\"Claim.identifier\":\"Identifier\",\"Claim.implicitRules\":\"uri\",\"Claim.insurance\":\"BackboneElement\",\"Claim.insurance.businessArrangement\":\"string\",\"Claim.insurance.claimResponse\":\"Reference\",\"Claim.insurance.coverage\":\"Reference\",\"Claim.insurance.extension\":\"Extension\",\"Claim.insurance.focal\":\"boolean\",\"Claim.insurance.id\":\"System.String\",\"Claim.insurance.identifier\":\"Identifier\",\"Claim.insurance.modifierExtension\":\"Extension\",\"Claim.insurance.preAuthRef\":\"string\",\"Claim.insurance.sequence\":\"positiveInt\",\"Claim.insurer\":\"Reference\",\"Claim.item\":\"BackboneElement\",\"Claim.item.bodySite\":\"CodeableConcept\",\"Claim.item.careTeamSequence\":\"positiveInt\",\"Claim.item.category\":\"CodeableConcept\",\"Claim.item.detail\":\"BackboneElement\",\"Claim.item.detail.category\":\"CodeableConcept\",\"Claim.item.detail.extension\":\"Extension\",\"Claim.item.detail.factor\":\"decimal\",\"Claim.item.detail.id\":\"System.String\",\"Claim.item.detail.modifier\":\"CodeableConcept\",\"Claim.item.detail.modifierExtension\":\"Extension\",\"Claim.item.detail.net\":\"Money\",\"Claim.item.detail.productOrService\":\"CodeableConcept\",\"Claim.item.detail.programCode\":\"CodeableConcept\",\"Claim.item.detail.quantity\":\"Quantity\",\"Claim.item.detail.revenue\":\"CodeableConcept\",\"Claim.item.detail.sequence\":\"positiveInt\",\"Claim.item.detail.subDetail\":\"BackboneElement\",\"Claim.item.detail.subDetail.category\":\"CodeableConcept\",\"Claim.item.detail.subDetail.extension\":\"Extension\",\"Claim.item.detail.subDetail.factor\":\"decimal\",\"Claim.item.detail.subDetail.id\":\"System.String\",\"Claim.item.detail.subDetail.modifier\":\"CodeableConcept\",\"Claim.item.detail.subDetail.modifierExtension\":\"Extension\",\"Claim.item.detail.subDetail.net\":\"Money\",\"Claim.item.detail.subDetail.productOrService\":\"CodeableConcept\",\"Claim.item.detail.subDetail.programCode\":\"CodeableConcept\",\"Claim.item.detail.subDetail.quantity\":\"Quantity\",\"Claim.item.detail.subDetail.revenue\":\"CodeableConcept\",\"Claim.item.detail.subDetail.sequence\":\"positiveInt\",\"Claim.item.detail.subDetail.udi\":\"Reference\",\"Claim.item.detail.subDetail.unitPrice\":\"Money\",\"Claim.item.detail.udi\":\"Reference\",\"Claim.item.detail.unitPrice\":\"Money\",\"Claim.item.diagnosisSequence\":\"positiveInt\",\"Claim.item.encounter\":\"Reference\",\"Claim.item.extension\":\"Extension\",\"Claim.item.factor\":\"decimal\",\"Claim.item.id\":\"System.String\",\"Claim.item.informationSequence\":\"positiveInt\",\"Claim.item.locationAddress\":\"Address\",\"Claim.item.locationCodeableConcept\":\"CodeableConcept\",\"Claim.item.locationReference\":\"Reference\",\"Claim.item.modifier\":\"CodeableConcept\",\"Claim.item.modifierExtension\":\"Extension\",\"Claim.item.net\":\"Money\",\"Claim.item.procedureSequence\":\"positiveInt\",\"Claim.item.productOrService\":\"CodeableConcept\",\"Claim.item.programCode\":\"CodeableConcept\",\"Claim.item.quantity\":\"Quantity\",\"Claim.item.revenue\":\"CodeableConcept\",\"Claim.item.sequence\":\"positiveInt\",\"Claim.item.servicedDate\":\"date\",\"Claim.item.servicedPeriod\":\"Period\",\"Claim.item.subSite\":\"CodeableConcept\",\"Claim.item.udi\":\"Reference\",\"Claim.item.unitPrice\":\"Money\",\"Claim.language\":\"code\",\"Claim.meta\":\"Meta\",\"Claim.modifierExtension\":\"Extension\",\"Claim.originalPrescription\":\"Reference\",\"Claim.patient\":\"Reference\",\"Claim.payee\":\"BackboneElement\",\"Claim.payee.extension\":\"Extension\",\"Claim.payee.id\":\"System.String\",\"Claim.payee.modifierExtension\":\"Extension\",\"Claim.payee.party\":\"Reference\",\"Claim.payee.type\":\"CodeableConcept\",\"Claim.prescription\":\"Reference\",\"Claim.priority\":\"CodeableConcept\",\"Claim.procedure\":\"BackboneElement\",\"Claim.procedure.date\":\"dateTime\",\"Claim.procedure.extension\":\"Extension\",\"Claim.procedure.id\":\"System.String\",\"Claim.procedure.modifierExtension\":\"Extension\",\"Claim.procedure.procedureCodeableConcept\":\"CodeableConcept\",\"Claim.procedure.procedureReference\":\"Reference\",\"Claim.procedure.sequence\":\"positiveInt\",\"Claim.procedure.type\":\"CodeableConcept\",\"Claim.procedure.udi\":\"Reference\",\"Claim.provider\":\"Reference\",\"Claim.referral\":\"Reference\",\"Claim.related\":\"BackboneElement\",\"Claim.related.claim\":\"Reference\",\"Claim.related.extension\":\"Extension\",\"Claim.related.id\":\"System.String\",\"Claim.related.modifierExtension\":\"Extension\",\"Claim.related.reference\":\"Identifier\",\"Claim.related.relationship\":\"CodeableConcept\",\"Claim.status\":\"code\",\"Claim.subType\":\"CodeableConcept\",\"Claim.supportingInfo\":\"BackboneElement\",\"Claim.supportingInfo.category\":\"CodeableConcept\",\"Claim.supportingInfo.code\":\"CodeableConcept\",\"Claim.supportingInfo.extension\":\"Extension\",\"Claim.supportingInfo.id\":\"System.String\",\"Claim.supportingInfo.modifierExtension\":\"Extension\",\"Claim.supportingInfo.reason\":\"CodeableConcept\",\"Claim.supportingInfo.sequence\":\"positiveInt\",\"Claim.supportingInfo.timingDate\":\"date\",\"Claim.supportingInfo.timingPeriod\":\"Period\",\"Claim.supportingInfo.valueAttachment\":\"Attachment\",\"Claim.supportingInfo.valueBoolean\":\"boolean\",\"Claim.supportingInfo.valueQuantity\":\"Quantity\",\"Claim.supportingInfo.valueReference\":\"Reference\",\"Claim.supportingInfo.valueString\":\"string\",\"Claim.text\":\"Narrative\",\"Claim.total\":\"Money\",\"Claim.type\":\"CodeableConcept\",\"Claim.use\":\"code\",\"ClaimResponse.addItem\":\"BackboneElement\",\"ClaimResponse.addItem.bodySite\":\"CodeableConcept\",\"ClaimResponse.addItem.detail\":\"BackboneElement\",\"ClaimResponse.addItem.detail.extension\":\"Extension\",\"ClaimResponse.addItem.detail.factor\":\"decimal\",\"ClaimResponse.addItem.detail.id\":\"System.String\",\"ClaimResponse.addItem.detail.modifier\":\"CodeableConcept\",\"ClaimResponse.addItem.detail.modifierExtension\":\"Extension\",\"ClaimResponse.addItem.detail.net\":\"Money\",\"ClaimResponse.addItem.detail.noteNumber\":\"positiveInt\",\"ClaimResponse.addItem.detail.productOrService\":\"CodeableConcept\",\"ClaimResponse.addItem.detail.quantity\":\"Quantity\",\"ClaimResponse.addItem.detail.subDetail\":\"BackboneElement\",\"ClaimResponse.addItem.detail.subDetail.extension\":\"Extension\",\"ClaimResponse.addItem.detail.subDetail.factor\":\"decimal\",\"ClaimResponse.addItem.detail.subDetail.id\":\"System.String\",\"ClaimResponse.addItem.detail.subDetail.modifier\":\"CodeableConcept\",\"ClaimResponse.addItem.detail.subDetail.modifierExtension\":\"Extension\",\"ClaimResponse.addItem.detail.subDetail.net\":\"Money\",\"ClaimResponse.addItem.detail.subDetail.noteNumber\":\"positiveInt\",\"ClaimResponse.addItem.detail.subDetail.productOrService\":\"CodeableConcept\",\"ClaimResponse.addItem.detail.subDetail.quantity\":\"Quantity\",\"ClaimResponse.addItem.detail.subDetail.unitPrice\":\"Money\",\"ClaimResponse.addItem.detail.unitPrice\":\"Money\",\"ClaimResponse.addItem.detailSequence\":\"positiveInt\",\"ClaimResponse.addItem.extension\":\"Extension\",\"ClaimResponse.addItem.factor\":\"decimal\",\"ClaimResponse.addItem.id\":\"System.String\",\"ClaimResponse.addItem.itemSequence\":\"positiveInt\",\"ClaimResponse.addItem.locationAddress\":\"Address\",\"ClaimResponse.addItem.locationCodeableConcept\":\"CodeableConcept\",\"ClaimResponse.addItem.locationReference\":\"Reference\",\"ClaimResponse.addItem.modifier\":\"CodeableConcept\",\"ClaimResponse.addItem.modifierExtension\":\"Extension\",\"ClaimResponse.addItem.net\":\"Money\",\"ClaimResponse.addItem.noteNumber\":\"positiveInt\",\"ClaimResponse.addItem.productOrService\":\"CodeableConcept\",\"ClaimResponse.addItem.programCode\":\"CodeableConcept\",\"ClaimResponse.addItem.provider\":\"Reference\",\"ClaimResponse.addItem.quantity\":\"Quantity\",\"ClaimResponse.addItem.servicedDate\":\"date\",\"ClaimResponse.addItem.servicedPeriod\":\"Period\",\"ClaimResponse.addItem.subSite\":\"CodeableConcept\",\"ClaimResponse.addItem.subdetailSequence\":\"positiveInt\",\"ClaimResponse.addItem.unitPrice\":\"Money\",\"ClaimResponse.communicationRequest\":\"Reference\",\"ClaimResponse.contained\":\"Resource\",\"ClaimResponse.created\":\"dateTime\",\"ClaimResponse.disposition\":\"string\",\"ClaimResponse.error\":\"BackboneElement\",\"ClaimResponse.error.code\":\"CodeableConcept\",\"ClaimResponse.error.detailSequence\":\"positiveInt\",\"ClaimResponse.error.extension\":\"Extension\",\"ClaimResponse.error.id\":\"System.String\",\"ClaimResponse.error.itemSequence\":\"positiveInt\",\"ClaimResponse.error.modifierExtension\":\"Extension\",\"ClaimResponse.error.subDetailSequence\":\"positiveInt\",\"ClaimResponse.extension\":\"Extension\",\"ClaimResponse.form\":\"Attachment\",\"ClaimResponse.formCode\":\"CodeableConcept\",\"ClaimResponse.fundsReserve\":\"CodeableConcept\",\"ClaimResponse.id\":\"System.String\",\"ClaimResponse.identifier\":\"Identifier\",\"ClaimResponse.implicitRules\":\"uri\",\"ClaimResponse.insurance\":\"BackboneElement\",\"ClaimResponse.insurance.businessArrangement\":\"string\",\"ClaimResponse.insurance.claimResponse\":\"Reference\",\"ClaimResponse.insurance.coverage\":\"Reference\",\"ClaimResponse.insurance.extension\":\"Extension\",\"ClaimResponse.insurance.focal\":\"boolean\",\"ClaimResponse.insurance.id\":\"System.String\",\"ClaimResponse.insurance.modifierExtension\":\"Extension\",\"ClaimResponse.insurance.sequence\":\"positiveInt\",\"ClaimResponse.insurer\":\"Reference\",\"ClaimResponse.item\":\"BackboneElement\",\"ClaimResponse.item.adjudication\":\"BackboneElement\",\"ClaimResponse.item.adjudication.amount\":\"Money\",\"ClaimResponse.item.adjudication.category\":\"CodeableConcept\",\"ClaimResponse.item.adjudication.extension\":\"Extension\",\"ClaimResponse.item.adjudication.id\":\"System.String\",\"ClaimResponse.item.adjudication.modifierExtension\":\"Extension\",\"ClaimResponse.item.adjudication.reason\":\"CodeableConcept\",\"ClaimResponse.item.adjudication.value\":\"decimal\",\"ClaimResponse.item.detail\":\"BackboneElement\",\"ClaimResponse.item.detail.detailSequence\":\"positiveInt\",\"ClaimResponse.item.detail.extension\":\"Extension\",\"ClaimResponse.item.detail.id\":\"System.String\",\"ClaimResponse.item.detail.modifierExtension\":\"Extension\",\"ClaimResponse.item.detail.noteNumber\":\"positiveInt\",\"ClaimResponse.item.detail.subDetail\":\"BackboneElement\",\"ClaimResponse.item.detail.subDetail.extension\":\"Extension\",\"ClaimResponse.item.detail.subDetail.id\":\"System.String\",\"ClaimResponse.item.detail.subDetail.modifierExtension\":\"Extension\",\"ClaimResponse.item.detail.subDetail.noteNumber\":\"positiveInt\",\"ClaimResponse.item.detail.subDetail.subDetailSequence\":\"positiveInt\",\"ClaimResponse.item.extension\":\"Extension\",\"ClaimResponse.item.id\":\"System.String\",\"ClaimResponse.item.itemSequence\":\"positiveInt\",\"ClaimResponse.item.modifierExtension\":\"Extension\",\"ClaimResponse.item.noteNumber\":\"positiveInt\",\"ClaimResponse.language\":\"code\",\"ClaimResponse.meta\":\"Meta\",\"ClaimResponse.modifierExtension\":\"Extension\",\"ClaimResponse.outcome\":\"code\",\"ClaimResponse.patient\":\"Reference\",\"ClaimResponse.payeeType\":\"CodeableConcept\",\"ClaimResponse.payment\":\"BackboneElement\",\"ClaimResponse.payment.adjustment\":\"Money\",\"ClaimResponse.payment.adjustmentReason\":\"CodeableConcept\",\"ClaimResponse.payment.amount\":\"Money\",\"ClaimResponse.payment.date\":\"date\",\"ClaimResponse.payment.extension\":\"Extension\",\"ClaimResponse.payment.id\":\"System.String\",\"ClaimResponse.payment.identifier\":\"Identifier\",\"ClaimResponse.payment.modifierExtension\":\"Extension\",\"ClaimResponse.payment.type\":\"CodeableConcept\",\"ClaimResponse.preAuthPeriod\":\"Period\",\"ClaimResponse.preAuthRef\":\"string\",\"ClaimResponse.processNote\":\"BackboneElement\",\"ClaimResponse.processNote.extension\":\"Extension\",\"ClaimResponse.processNote.id\":\"System.String\",\"ClaimResponse.processNote.language\":\"CodeableConcept\",\"ClaimResponse.processNote.modifierExtension\":\"Extension\",\"ClaimResponse.processNote.number\":\"positiveInt\",\"ClaimResponse.processNote.text\":\"string\",\"ClaimResponse.processNote.type\":\"code\",\"ClaimResponse.request\":\"Reference\",\"ClaimResponse.requestor\":\"Reference\",\"ClaimResponse.status\":\"code\",\"ClaimResponse.subType\":\"CodeableConcept\",\"ClaimResponse.text\":\"Narrative\",\"ClaimResponse.total\":\"BackboneElement\",\"ClaimResponse.total.amount\":\"Money\",\"ClaimResponse.total.category\":\"CodeableConcept\",\"ClaimResponse.total.extension\":\"Extension\",\"ClaimResponse.total.id\":\"System.String\",\"ClaimResponse.total.modifierExtension\":\"Extension\",\"ClaimResponse.type\":\"CodeableConcept\",\"ClaimResponse.use\":\"code\",\"ClinicalImpression.assessor\":\"Reference\",\"ClinicalImpression.code\":\"CodeableConcept\",\"ClinicalImpression.contained\":\"Resource\",\"ClinicalImpression.date\":\"dateTime\",\"ClinicalImpression.description\":\"string\",\"ClinicalImpression.effectiveDateTime\":\"dateTime\",\"ClinicalImpression.effectivePeriod\":\"Period\",\"ClinicalImpression.encounter\":\"Reference\",\"ClinicalImpression.extension\":\"Extension\",\"ClinicalImpression.finding\":\"BackboneElement\",\"ClinicalImpression.finding.basis\":\"string\",\"ClinicalImpression.finding.extension\":\"Extension\",\"ClinicalImpression.finding.id\":\"System.String\",\"ClinicalImpression.finding.itemCodeableConcept\":\"CodeableConcept\",\"ClinicalImpression.finding.itemReference\":\"Reference\",\"ClinicalImpression.finding.modifierExtension\":\"Extension\",\"ClinicalImpression.id\":\"System.String\",\"ClinicalImpression.identifier\":\"Identifier\",\"ClinicalImpression.implicitRules\":\"uri\",\"ClinicalImpression.investigation\":\"BackboneElement\",\"ClinicalImpression.investigation.code\":\"CodeableConcept\",\"ClinicalImpression.investigation.extension\":\"Extension\",\"ClinicalImpression.investigation.id\":\"System.String\",\"ClinicalImpression.investigation.item\":\"Reference\",\"ClinicalImpression.investigation.modifierExtension\":\"Extension\",\"ClinicalImpression.language\":\"code\",\"ClinicalImpression.meta\":\"Meta\",\"ClinicalImpression.modifierExtension\":\"Extension\",\"ClinicalImpression.note\":\"Annotation\",\"ClinicalImpression.previous\":\"Reference\",\"ClinicalImpression.problem\":\"Reference\",\"ClinicalImpression.prognosisCodeableConcept\":\"CodeableConcept\",\"ClinicalImpression.prognosisReference\":\"Reference\",\"ClinicalImpression.protocol\":\"uri\",\"ClinicalImpression.status\":\"code\",\"ClinicalImpression.statusReason\":\"CodeableConcept\",\"ClinicalImpression.subject\":\"Reference\",\"ClinicalImpression.summary\":\"string\",\"ClinicalImpression.supportingInfo\":\"Reference\",\"ClinicalImpression.text\":\"Narrative\",\"CodeSystem.caseSensitive\":\"boolean\",\"CodeSystem.compositional\":\"boolean\",\"CodeSystem.concept\":\"BackboneElement\",\"CodeSystem.concept.code\":\"code\",\"CodeSystem.concept.definition\":\"string\",\"CodeSystem.concept.designation\":\"BackboneElement\",\"CodeSystem.concept.designation.extension\":\"Extension\",\"CodeSystem.concept.designation.id\":\"System.String\",\"CodeSystem.concept.designation.language\":\"code\",\"CodeSystem.concept.designation.modifierExtension\":\"Extension\",\"CodeSystem.concept.designation.use\":\"Coding\",\"CodeSystem.concept.designation.value\":\"string\",\"CodeSystem.concept.display\":\"string\",\"CodeSystem.concept.extension\":\"Extension\",\"CodeSystem.concept.id\":\"System.String\",\"CodeSystem.concept.modifierExtension\":\"Extension\",\"CodeSystem.concept.property\":\"BackboneElement\",\"CodeSystem.concept.property.code\":\"code\",\"CodeSystem.concept.property.extension\":\"Extension\",\"CodeSystem.concept.property.id\":\"System.String\",\"CodeSystem.concept.property.modifierExtension\":\"Extension\",\"CodeSystem.concept.property.valueBoolean\":\"boolean\",\"CodeSystem.concept.property.valueCode\":\"code\",\"CodeSystem.concept.property.valueCoding\":\"Coding\",\"CodeSystem.concept.property.valueDateTime\":\"dateTime\",\"CodeSystem.concept.property.valueDecimal\":\"decimal\",\"CodeSystem.concept.property.valueInteger\":\"integer\",\"CodeSystem.concept.property.valueString\":\"string\",\"CodeSystem.contact\":\"ContactDetail\",\"CodeSystem.contained\":\"Resource\",\"CodeSystem.content\":\"code\",\"CodeSystem.copyright\":\"markdown\",\"CodeSystem.count\":\"unsignedInt\",\"CodeSystem.date\":\"dateTime\",\"CodeSystem.description\":\"markdown\",\"CodeSystem.experimental\":\"boolean\",\"CodeSystem.extension\":\"Extension\",\"CodeSystem.filter\":\"BackboneElement\",\"CodeSystem.filter.code\":\"code\",\"CodeSystem.filter.description\":\"string\",\"CodeSystem.filter.extension\":\"Extension\",\"CodeSystem.filter.id\":\"System.String\",\"CodeSystem.filter.modifierExtension\":\"Extension\",\"CodeSystem.filter.operator\":\"code\",\"CodeSystem.filter.value\":\"string\",\"CodeSystem.hierarchyMeaning\":\"code\",\"CodeSystem.id\":\"System.String\",\"CodeSystem.identifier\":\"Identifier\",\"CodeSystem.implicitRules\":\"uri\",\"CodeSystem.jurisdiction\":\"CodeableConcept\",\"CodeSystem.language\":\"code\",\"CodeSystem.meta\":\"Meta\",\"CodeSystem.modifierExtension\":\"Extension\",\"CodeSystem.name\":\"string\",\"CodeSystem.property\":\"BackboneElement\",\"CodeSystem.property.code\":\"code\",\"CodeSystem.property.description\":\"string\",\"CodeSystem.property.extension\":\"Extension\",\"CodeSystem.property.id\":\"System.String\",\"CodeSystem.property.modifierExtension\":\"Extension\",\"CodeSystem.property.type\":\"code\",\"CodeSystem.property.uri\":\"uri\",\"CodeSystem.publisher\":\"string\",\"CodeSystem.purpose\":\"markdown\",\"CodeSystem.status\":\"code\",\"CodeSystem.supplements\":\"canonical\",\"CodeSystem.text\":\"Narrative\",\"CodeSystem.title\":\"string\",\"CodeSystem.url\":\"uri\",\"CodeSystem.useContext\":\"UsageContext\",\"CodeSystem.valueSet\":\"canonical\",\"CodeSystem.version\":\"string\",\"CodeSystem.versionNeeded\":\"boolean\",\"CodeableConcept.coding\":\"Coding\",\"CodeableConcept.extension\":\"Extension\",\"CodeableConcept.id\":\"System.String\",\"CodeableConcept.text\":\"string\",\"Coding.code\":\"code\",\"Coding.display\":\"string\",\"Coding.extension\":\"Extension\",\"Coding.id\":\"System.String\",\"Coding.system\":\"uri\",\"Coding.userSelected\":\"boolean\",\"Coding.version\":\"string\",\"Communication.about\":\"Reference\",\"Communication.basedOn\":\"Reference\",\"Communication.category\":\"CodeableConcept\",\"Communication.contained\":\"Resource\",\"Communication.encounter\":\"Reference\",\"Communication.extension\":\"Extension\",\"Communication.id\":\"System.String\",\"Communication.identifier\":\"Identifier\",\"Communication.implicitRules\":\"uri\",\"Communication.inResponseTo\":\"Reference\",\"Communication.instantiatesCanonical\":\"canonical\",\"Communication.instantiatesUri\":\"uri\",\"Communication.language\":\"code\",\"Communication.medium\":\"CodeableConcept\",\"Communication.meta\":\"Meta\",\"Communication.modifierExtension\":\"Extension\",\"Communication.note\":\"Annotation\",\"Communication.partOf\":\"Reference\",\"Communication.payload\":\"BackboneElement\",\"Communication.payload.contentAttachment\":\"Attachment\",\"Communication.payload.contentReference\":\"Reference\",\"Communication.payload.contentString\":\"string\",\"Communication.payload.extension\":\"Extension\",\"Communication.payload.id\":\"System.String\",\"Communication.payload.modifierExtension\":\"Extension\",\"Communication.priority\":\"code\",\"Communication.reasonCode\":\"CodeableConcept\",\"Communication.reasonReference\":\"Reference\",\"Communication.received\":\"dateTime\",\"Communication.recipient\":\"Reference\",\"Communication.sender\":\"Reference\",\"Communication.sent\":\"dateTime\",\"Communication.status\":\"code\",\"Communication.statusReason\":\"CodeableConcept\",\"Communication.subject\":\"Reference\",\"Communication.text\":\"Narrative\",\"Communication.topic\":\"CodeableConcept\",\"CommunicationRequest.about\":\"Reference\",\"CommunicationRequest.authoredOn\":\"dateTime\",\"CommunicationRequest.basedOn\":\"Reference\",\"CommunicationRequest.category\":\"CodeableConcept\",\"CommunicationRequest.contained\":\"Resource\",\"CommunicationRequest.doNotPerform\":\"boolean\",\"CommunicationRequest.encounter\":\"Reference\",\"CommunicationRequest.extension\":\"Extension\",\"CommunicationRequest.groupIdentifier\":\"Identifier\",\"CommunicationRequest.id\":\"System.String\",\"CommunicationRequest.identifier\":\"Identifier\",\"CommunicationRequest.implicitRules\":\"uri\",\"CommunicationRequest.language\":\"code\",\"CommunicationRequest.medium\":\"CodeableConcept\",\"CommunicationRequest.meta\":\"Meta\",\"CommunicationRequest.modifierExtension\":\"Extension\",\"CommunicationRequest.note\":\"Annotation\",\"CommunicationRequest.occurrenceDateTime\":\"dateTime\",\"CommunicationRequest.occurrencePeriod\":\"Period\",\"CommunicationRequest.payload\":\"BackboneElement\",\"CommunicationRequest.payload.contentAttachment\":\"Attachment\",\"CommunicationRequest.payload.contentReference\":\"Reference\",\"CommunicationRequest.payload.contentString\":\"string\",\"CommunicationRequest.payload.extension\":\"Extension\",\"CommunicationRequest.payload.id\":\"System.String\",\"CommunicationRequest.payload.modifierExtension\":\"Extension\",\"CommunicationRequest.priority\":\"code\",\"CommunicationRequest.reasonCode\":\"CodeableConcept\",\"CommunicationRequest.reasonReference\":\"Reference\",\"CommunicationRequest.recipient\":\"Reference\",\"CommunicationRequest.replaces\":\"Reference\",\"CommunicationRequest.requester\":\"Reference\",\"CommunicationRequest.sender\":\"Reference\",\"CommunicationRequest.status\":\"code\",\"CommunicationRequest.statusReason\":\"CodeableConcept\",\"CommunicationRequest.subject\":\"Reference\",\"CommunicationRequest.text\":\"Narrative\",\"CompartmentDefinition.code\":\"code\",\"CompartmentDefinition.contact\":\"ContactDetail\",\"CompartmentDefinition.contained\":\"Resource\",\"CompartmentDefinition.date\":\"dateTime\",\"CompartmentDefinition.description\":\"markdown\",\"CompartmentDefinition.experimental\":\"boolean\",\"CompartmentDefinition.extension\":\"Extension\",\"CompartmentDefinition.id\":\"System.String\",\"CompartmentDefinition.implicitRules\":\"uri\",\"CompartmentDefinition.language\":\"code\",\"CompartmentDefinition.meta\":\"Meta\",\"CompartmentDefinition.modifierExtension\":\"Extension\",\"CompartmentDefinition.name\":\"string\",\"CompartmentDefinition.publisher\":\"string\",\"CompartmentDefinition.purpose\":\"markdown\",\"CompartmentDefinition.resource\":\"BackboneElement\",\"CompartmentDefinition.resource.code\":\"code\",\"CompartmentDefinition.resource.documentation\":\"string\",\"CompartmentDefinition.resource.extension\":\"Extension\",\"CompartmentDefinition.resource.id\":\"System.String\",\"CompartmentDefinition.resource.modifierExtension\":\"Extension\",\"CompartmentDefinition.resource.param\":\"string\",\"CompartmentDefinition.search\":\"boolean\",\"CompartmentDefinition.status\":\"code\",\"CompartmentDefinition.text\":\"Narrative\",\"CompartmentDefinition.url\":\"uri\",\"CompartmentDefinition.useContext\":\"UsageContext\",\"CompartmentDefinition.version\":\"string\",\"Composition.attester\":\"BackboneElement\",\"Composition.attester.extension\":\"Extension\",\"Composition.attester.id\":\"System.String\",\"Composition.attester.mode\":\"code\",\"Composition.attester.modifierExtension\":\"Extension\",\"Composition.attester.party\":\"Reference\",\"Composition.attester.time\":\"dateTime\",\"Composition.author\":\"Reference\",\"Composition.category\":\"CodeableConcept\",\"Composition.confidentiality\":\"code\",\"Composition.contained\":\"Resource\",\"Composition.custodian\":\"Reference\",\"Composition.date\":\"dateTime\",\"Composition.encounter\":\"Reference\",\"Composition.event\":\"BackboneElement\",\"Composition.event.code\":\"CodeableConcept\",\"Composition.event.detail\":\"Reference\",\"Composition.event.extension\":\"Extension\",\"Composition.event.id\":\"System.String\",\"Composition.event.modifierExtension\":\"Extension\",\"Composition.event.period\":\"Period\",\"Composition.extension\":\"Extension\",\"Composition.id\":\"System.String\",\"Composition.identifier\":\"Identifier\",\"Composition.implicitRules\":\"uri\",\"Composition.language\":\"code\",\"Composition.meta\":\"Meta\",\"Composition.modifierExtension\":\"Extension\",\"Composition.relatesTo\":\"BackboneElement\",\"Composition.relatesTo.code\":\"code\",\"Composition.relatesTo.extension\":\"Extension\",\"Composition.relatesTo.id\":\"System.String\",\"Composition.relatesTo.modifierExtension\":\"Extension\",\"Composition.relatesTo.targetIdentifier\":\"Identifier\",\"Composition.relatesTo.targetReference\":\"Reference\",\"Composition.section\":\"BackboneElement\",\"Composition.section.author\":\"Reference\",\"Composition.section.code\":\"CodeableConcept\",\"Composition.section.emptyReason\":\"CodeableConcept\",\"Composition.section.entry\":\"Reference\",\"Composition.section.extension\":\"Extension\",\"Composition.section.focus\":\"Reference\",\"Composition.section.id\":\"System.String\",\"Composition.section.mode\":\"code\",\"Composition.section.modifierExtension\":\"Extension\",\"Composition.section.orderedBy\":\"CodeableConcept\",\"Composition.section.text\":\"Narrative\",\"Composition.section.title\":\"string\",\"Composition.status\":\"code\",\"Composition.subject\":\"Reference\",\"Composition.text\":\"Narrative\",\"Composition.title\":\"string\",\"Composition.type\":\"CodeableConcept\",\"ConceptMap.contact\":\"ContactDetail\",\"ConceptMap.contained\":\"Resource\",\"ConceptMap.copyright\":\"markdown\",\"ConceptMap.date\":\"dateTime\",\"ConceptMap.description\":\"markdown\",\"ConceptMap.experimental\":\"boolean\",\"ConceptMap.extension\":\"Extension\",\"ConceptMap.group\":\"BackboneElement\",\"ConceptMap.group.element\":\"BackboneElement\",\"ConceptMap.group.element.code\":\"code\",\"ConceptMap.group.element.display\":\"string\",\"ConceptMap.group.element.extension\":\"Extension\",\"ConceptMap.group.element.id\":\"System.String\",\"ConceptMap.group.element.modifierExtension\":\"Extension\",\"ConceptMap.group.element.target\":\"BackboneElement\",\"ConceptMap.group.element.target.code\":\"code\",\"ConceptMap.group.element.target.comment\":\"string\",\"ConceptMap.group.element.target.dependsOn\":\"BackboneElement\",\"ConceptMap.group.element.target.dependsOn.display\":\"string\",\"ConceptMap.group.element.target.dependsOn.extension\":\"Extension\",\"ConceptMap.group.element.target.dependsOn.id\":\"System.String\",\"ConceptMap.group.element.target.dependsOn.modifierExtension\":\"Extension\",\"ConceptMap.group.element.target.dependsOn.property\":\"uri\",\"ConceptMap.group.element.target.dependsOn.system\":\"canonical\",\"ConceptMap.group.element.target.dependsOn.value\":\"string\",\"ConceptMap.group.element.target.display\":\"string\",\"ConceptMap.group.element.target.equivalence\":\"code\",\"ConceptMap.group.element.target.extension\":\"Extension\",\"ConceptMap.group.element.target.id\":\"System.String\",\"ConceptMap.group.element.target.modifierExtension\":\"Extension\",\"ConceptMap.group.extension\":\"Extension\",\"ConceptMap.group.id\":\"System.String\",\"ConceptMap.group.modifierExtension\":\"Extension\",\"ConceptMap.group.source\":\"uri\",\"ConceptMap.group.sourceVersion\":\"string\",\"ConceptMap.group.target\":\"uri\",\"ConceptMap.group.targetVersion\":\"string\",\"ConceptMap.group.unmapped\":\"BackboneElement\",\"ConceptMap.group.unmapped.code\":\"code\",\"ConceptMap.group.unmapped.display\":\"string\",\"ConceptMap.group.unmapped.extension\":\"Extension\",\"ConceptMap.group.unmapped.id\":\"System.String\",\"ConceptMap.group.unmapped.mode\":\"code\",\"ConceptMap.group.unmapped.modifierExtension\":\"Extension\",\"ConceptMap.group.unmapped.url\":\"canonical\",\"ConceptMap.id\":\"System.String\",\"ConceptMap.identifier\":\"Identifier\",\"ConceptMap.implicitRules\":\"uri\",\"ConceptMap.jurisdiction\":\"CodeableConcept\",\"ConceptMap.language\":\"code\",\"ConceptMap.meta\":\"Meta\",\"ConceptMap.modifierExtension\":\"Extension\",\"ConceptMap.name\":\"string\",\"ConceptMap.publisher\":\"string\",\"ConceptMap.purpose\":\"markdown\",\"ConceptMap.sourceCanonical\":\"canonical\",\"ConceptMap.sourceUri\":\"uri\",\"ConceptMap.status\":\"code\",\"ConceptMap.targetCanonical\":\"canonical\",\"ConceptMap.targetUri\":\"uri\",\"ConceptMap.text\":\"Narrative\",\"ConceptMap.title\":\"string\",\"ConceptMap.url\":\"uri\",\"ConceptMap.useContext\":\"UsageContext\",\"ConceptMap.version\":\"string\",\"Condition.abatementAge\":\"Age\",\"Condition.abatementDateTime\":\"dateTime\",\"Condition.abatementPeriod\":\"Period\",\"Condition.abatementRange\":\"Range\",\"Condition.abatementString\":\"string\",\"Condition.asserter\":\"Reference\",\"Condition.bodySite\":\"CodeableConcept\",\"Condition.category\":\"CodeableConcept\",\"Condition.clinicalStatus\":\"CodeableConcept\",\"Condition.code\":\"CodeableConcept\",\"Condition.contained\":\"Resource\",\"Condition.encounter\":\"Reference\",\"Condition.evidence\":\"BackboneElement\",\"Condition.evidence.code\":\"CodeableConcept\",\"Condition.evidence.detail\":\"Reference\",\"Condition.evidence.extension\":\"Extension\",\"Condition.evidence.id\":\"System.String\",\"Condition.evidence.modifierExtension\":\"Extension\",\"Condition.extension\":\"Extension\",\"Condition.id\":\"System.String\",\"Condition.identifier\":\"Identifier\",\"Condition.implicitRules\":\"uri\",\"Condition.language\":\"code\",\"Condition.meta\":\"Meta\",\"Condition.modifierExtension\":\"Extension\",\"Condition.note\":\"Annotation\",\"Condition.onsetAge\":\"Age\",\"Condition.onsetDateTime\":\"dateTime\",\"Condition.onsetPeriod\":\"Period\",\"Condition.onsetRange\":\"Range\",\"Condition.onsetString\":\"string\",\"Condition.recordedDate\":\"dateTime\",\"Condition.recorder\":\"Reference\",\"Condition.severity\":\"CodeableConcept\",\"Condition.stage\":\"BackboneElement\",\"Condition.stage.assessment\":\"Reference\",\"Condition.stage.extension\":\"Extension\",\"Condition.stage.id\":\"System.String\",\"Condition.stage.modifierExtension\":\"Extension\",\"Condition.stage.summary\":\"CodeableConcept\",\"Condition.stage.type\":\"CodeableConcept\",\"Condition.subject\":\"Reference\",\"Condition.text\":\"Narrative\",\"Condition.verificationStatus\":\"CodeableConcept\",\"Consent.category\":\"CodeableConcept\",\"Consent.contained\":\"Resource\",\"Consent.dateTime\":\"dateTime\",\"Consent.extension\":\"Extension\",\"Consent.id\":\"System.String\",\"Consent.identifier\":\"Identifier\",\"Consent.implicitRules\":\"uri\",\"Consent.language\":\"code\",\"Consent.meta\":\"Meta\",\"Consent.modifierExtension\":\"Extension\",\"Consent.organization\":\"Reference\",\"Consent.patient\":\"Reference\",\"Consent.performer\":\"Reference\",\"Consent.policy\":\"BackboneElement\",\"Consent.policy.authority\":\"uri\",\"Consent.policy.extension\":\"Extension\",\"Consent.policy.id\":\"System.String\",\"Consent.policy.modifierExtension\":\"Extension\",\"Consent.policy.uri\":\"uri\",\"Consent.policyRule\":\"CodeableConcept\",\"Consent.provision\":\"BackboneElement\",\"Consent.provision.action\":\"CodeableConcept\",\"Consent.provision.actor\":\"BackboneElement\",\"Consent.provision.actor.extension\":\"Extension\",\"Consent.provision.actor.id\":\"System.String\",\"Consent.provision.actor.modifierExtension\":\"Extension\",\"Consent.provision.actor.reference\":\"Reference\",\"Consent.provision.actor.role\":\"CodeableConcept\",\"Consent.provision.class\":\"Coding\",\"Consent.provision.code\":\"CodeableConcept\",\"Consent.provision.data\":\"BackboneElement\",\"Consent.provision.data.extension\":\"Extension\",\"Consent.provision.data.id\":\"System.String\",\"Consent.provision.data.meaning\":\"code\",\"Consent.provision.data.modifierExtension\":\"Extension\",\"Consent.provision.data.reference\":\"Reference\",\"Consent.provision.dataPeriod\":\"Period\",\"Consent.provision.extension\":\"Extension\",\"Consent.provision.id\":\"System.String\",\"Consent.provision.modifierExtension\":\"Extension\",\"Consent.provision.period\":\"Period\",\"Consent.provision.purpose\":\"Coding\",\"Consent.provision.securityLabel\":\"Coding\",\"Consent.provision.type\":\"code\",\"Consent.scope\":\"CodeableConcept\",\"Consent.sourceAttachment\":\"Attachment\",\"Consent.sourceReference\":\"Reference\",\"Consent.status\":\"code\",\"Consent.text\":\"Narrative\",\"Consent.verification\":\"BackboneElement\",\"Consent.verification.extension\":\"Extension\",\"Consent.verification.id\":\"System.String\",\"Consent.verification.modifierExtension\":\"Extension\",\"Consent.verification.verificationDate\":\"dateTime\",\"Consent.verification.verified\":\"boolean\",\"Consent.verification.verifiedWith\":\"Reference\",\"ContactDetail.extension\":\"Extension\",\"ContactDetail.id\":\"System.String\",\"ContactDetail.name\":\"string\",\"ContactDetail.telecom\":\"ContactPoint\",\"ContactPoint.extension\":\"Extension\",\"ContactPoint.id\":\"System.String\",\"ContactPoint.period\":\"Period\",\"ContactPoint.rank\":\"positiveInt\",\"ContactPoint.system\":\"code\",\"ContactPoint.use\":\"code\",\"ContactPoint.value\":\"string\",\"Contract.alias\":\"string\",\"Contract.applies\":\"Period\",\"Contract.author\":\"Reference\",\"Contract.authority\":\"Reference\",\"Contract.contained\":\"Resource\",\"Contract.contentDefinition\":\"BackboneElement\",\"Contract.contentDefinition.copyright\":\"markdown\",\"Contract.contentDefinition.extension\":\"Extension\",\"Contract.contentDefinition.id\":\"System.String\",\"Contract.contentDefinition.modifierExtension\":\"Extension\",\"Contract.contentDefinition.publicationDate\":\"dateTime\",\"Contract.contentDefinition.publicationStatus\":\"code\",\"Contract.contentDefinition.publisher\":\"Reference\",\"Contract.contentDefinition.subType\":\"CodeableConcept\",\"Contract.contentDefinition.type\":\"CodeableConcept\",\"Contract.contentDerivative\":\"CodeableConcept\",\"Contract.domain\":\"Reference\",\"Contract.expirationType\":\"CodeableConcept\",\"Contract.extension\":\"Extension\",\"Contract.friendly\":\"BackboneElement\",\"Contract.friendly.contentAttachment\":\"Attachment\",\"Contract.friendly.contentReference\":\"Reference\",\"Contract.friendly.extension\":\"Extension\",\"Contract.friendly.id\":\"System.String\",\"Contract.friendly.modifierExtension\":\"Extension\",\"Contract.id\":\"System.String\",\"Contract.identifier\":\"Identifier\",\"Contract.implicitRules\":\"uri\",\"Contract.instantiatesCanonical\":\"Reference\",\"Contract.instantiatesUri\":\"uri\",\"Contract.issued\":\"dateTime\",\"Contract.language\":\"code\",\"Contract.legal\":\"BackboneElement\",\"Contract.legal.contentAttachment\":\"Attachment\",\"Contract.legal.contentReference\":\"Reference\",\"Contract.legal.extension\":\"Extension\",\"Contract.legal.id\":\"System.String\",\"Contract.legal.modifierExtension\":\"Extension\",\"Contract.legalState\":\"CodeableConcept\",\"Contract.legallyBindingAttachment\":\"Attachment\",\"Contract.legallyBindingReference\":\"Reference\",\"Contract.meta\":\"Meta\",\"Contract.modifierExtension\":\"Extension\",\"Contract.name\":\"string\",\"Contract.relevantHistory\":\"Reference\",\"Contract.rule\":\"BackboneElement\",\"Contract.rule.contentAttachment\":\"Attachment\",\"Contract.rule.contentReference\":\"Reference\",\"Contract.rule.extension\":\"Extension\",\"Contract.rule.id\":\"System.String\",\"Contract.rule.modifierExtension\":\"Extension\",\"Contract.scope\":\"CodeableConcept\",\"Contract.signer\":\"BackboneElement\",\"Contract.signer.extension\":\"Extension\",\"Contract.signer.id\":\"System.String\",\"Contract.signer.modifierExtension\":\"Extension\",\"Contract.signer.party\":\"Reference\",\"Contract.signer.signature\":\"Signature\",\"Contract.signer.type\":\"Coding\",\"Contract.site\":\"Reference\",\"Contract.status\":\"code\",\"Contract.subType\":\"CodeableConcept\",\"Contract.subject\":\"Reference\",\"Contract.subtitle\":\"string\",\"Contract.supportingInfo\":\"Reference\",\"Contract.term\":\"BackboneElement\",\"Contract.term.action\":\"BackboneElement\",\"Contract.term.action.context\":\"Reference\",\"Contract.term.action.contextLinkId\":\"string\",\"Contract.term.action.doNotPerform\":\"boolean\",\"Contract.term.action.extension\":\"Extension\",\"Contract.term.action.id\":\"System.String\",\"Contract.term.action.intent\":\"CodeableConcept\",\"Contract.term.action.linkId\":\"string\",\"Contract.term.action.modifierExtension\":\"Extension\",\"Contract.term.action.note\":\"Annotation\",\"Contract.term.action.occurrenceDateTime\":\"dateTime\",\"Contract.term.action.occurrencePeriod\":\"Period\",\"Contract.term.action.occurrenceTiming\":\"Timing\",\"Contract.term.action.performer\":\"Reference\",\"Contract.term.action.performerLinkId\":\"string\",\"Contract.term.action.performerRole\":\"CodeableConcept\",\"Contract.term.action.performerType\":\"CodeableConcept\",\"Contract.term.action.reason\":\"string\",\"Contract.term.action.reasonCode\":\"CodeableConcept\",\"Contract.term.action.reasonLinkId\":\"string\",\"Contract.term.action.reasonReference\":\"Reference\",\"Contract.term.action.requester\":\"Reference\",\"Contract.term.action.requesterLinkId\":\"string\",\"Contract.term.action.securityLabelNumber\":\"unsignedInt\",\"Contract.term.action.status\":\"CodeableConcept\",\"Contract.term.action.subject\":\"BackboneElement\",\"Contract.term.action.subject.extension\":\"Extension\",\"Contract.term.action.subject.id\":\"System.String\",\"Contract.term.action.subject.modifierExtension\":\"Extension\",\"Contract.term.action.subject.reference\":\"Reference\",\"Contract.term.action.subject.role\":\"CodeableConcept\",\"Contract.term.action.type\":\"CodeableConcept\",\"Contract.term.applies\":\"Period\",\"Contract.term.asset\":\"BackboneElement\",\"Contract.term.asset.condition\":\"string\",\"Contract.term.asset.context\":\"BackboneElement\",\"Contract.term.asset.context.code\":\"CodeableConcept\",\"Contract.term.asset.context.extension\":\"Extension\",\"Contract.term.asset.context.id\":\"System.String\",\"Contract.term.asset.context.modifierExtension\":\"Extension\",\"Contract.term.asset.context.reference\":\"Reference\",\"Contract.term.asset.context.text\":\"string\",\"Contract.term.asset.extension\":\"Extension\",\"Contract.term.asset.id\":\"System.String\",\"Contract.term.asset.linkId\":\"string\",\"Contract.term.asset.modifierExtension\":\"Extension\",\"Contract.term.asset.period\":\"Period\",\"Contract.term.asset.periodType\":\"CodeableConcept\",\"Contract.term.asset.relationship\":\"Coding\",\"Contract.term.asset.scope\":\"CodeableConcept\",\"Contract.term.asset.securityLabelNumber\":\"unsignedInt\",\"Contract.term.asset.subtype\":\"CodeableConcept\",\"Contract.term.asset.text\":\"string\",\"Contract.term.asset.type\":\"CodeableConcept\",\"Contract.term.asset.typeReference\":\"Reference\",\"Contract.term.asset.usePeriod\":\"Period\",\"Contract.term.asset.valuedItem\":\"BackboneElement\",\"Contract.term.asset.valuedItem.effectiveTime\":\"dateTime\",\"Contract.term.asset.valuedItem.entityCodeableConcept\":\"CodeableConcept\",\"Contract.term.asset.valuedItem.entityReference\":\"Reference\",\"Contract.term.asset.valuedItem.extension\":\"Extension\",\"Contract.term.asset.valuedItem.factor\":\"decimal\",\"Contract.term.asset.valuedItem.id\":\"System.String\",\"Contract.term.asset.valuedItem.identifier\":\"Identifier\",\"Contract.term.asset.valuedItem.linkId\":\"string\",\"Contract.term.asset.valuedItem.modifierExtension\":\"Extension\",\"Contract.term.asset.valuedItem.net\":\"Money\",\"Contract.term.asset.valuedItem.payment\":\"string\",\"Contract.term.asset.valuedItem.paymentDate\":\"dateTime\",\"Contract.term.asset.valuedItem.points\":\"decimal\",\"Contract.term.asset.valuedItem.quantity\":\"Quantity\",\"Contract.term.asset.valuedItem.recipient\":\"Reference\",\"Contract.term.asset.valuedItem.responsible\":\"Reference\",\"Contract.term.asset.valuedItem.securityLabelNumber\":\"unsignedInt\",\"Contract.term.asset.valuedItem.unitPrice\":\"Money\",\"Contract.term.extension\":\"Extension\",\"Contract.term.id\":\"System.String\",\"Contract.term.identifier\":\"Identifier\",\"Contract.term.issued\":\"dateTime\",\"Contract.term.modifierExtension\":\"Extension\",\"Contract.term.offer\":\"BackboneElement\",\"Contract.term.offer.answer\":\"BackboneElement\",\"Contract.term.offer.answer.extension\":\"Extension\",\"Contract.term.offer.answer.id\":\"System.String\",\"Contract.term.offer.answer.modifierExtension\":\"Extension\",\"Contract.term.offer.answer.valueAttachment\":\"Attachment\",\"Contract.term.offer.answer.valueBoolean\":\"boolean\",\"Contract.term.offer.answer.valueCoding\":\"Coding\",\"Contract.term.offer.answer.valueDate\":\"date\",\"Contract.term.offer.answer.valueDateTime\":\"dateTime\",\"Contract.term.offer.answer.valueDecimal\":\"decimal\",\"Contract.term.offer.answer.valueInteger\":\"integer\",\"Contract.term.offer.answer.valueQuantity\":\"Quantity\",\"Contract.term.offer.answer.valueReference\":\"Reference\",\"Contract.term.offer.answer.valueString\":\"string\",\"Contract.term.offer.answer.valueTime\":\"time\",\"Contract.term.offer.answer.valueUri\":\"uri\",\"Contract.term.offer.decision\":\"CodeableConcept\",\"Contract.term.offer.decisionMode\":\"CodeableConcept\",\"Contract.term.offer.extension\":\"Extension\",\"Contract.term.offer.id\":\"System.String\",\"Contract.term.offer.identifier\":\"Identifier\",\"Contract.term.offer.linkId\":\"string\",\"Contract.term.offer.modifierExtension\":\"Extension\",\"Contract.term.offer.party\":\"BackboneElement\",\"Contract.term.offer.party.extension\":\"Extension\",\"Contract.term.offer.party.id\":\"System.String\",\"Contract.term.offer.party.modifierExtension\":\"Extension\",\"Contract.term.offer.party.reference\":\"Reference\",\"Contract.term.offer.party.role\":\"CodeableConcept\",\"Contract.term.offer.securityLabelNumber\":\"unsignedInt\",\"Contract.term.offer.text\":\"string\",\"Contract.term.offer.topic\":\"Reference\",\"Contract.term.offer.type\":\"CodeableConcept\",\"Contract.term.securityLabel\":\"BackboneElement\",\"Contract.term.securityLabel.category\":\"Coding\",\"Contract.term.securityLabel.classification\":\"Coding\",\"Contract.term.securityLabel.control\":\"Coding\",\"Contract.term.securityLabel.extension\":\"Extension\",\"Contract.term.securityLabel.id\":\"System.String\",\"Contract.term.securityLabel.modifierExtension\":\"Extension\",\"Contract.term.securityLabel.number\":\"unsignedInt\",\"Contract.term.subType\":\"CodeableConcept\",\"Contract.term.text\":\"string\",\"Contract.term.topicCodeableConcept\":\"CodeableConcept\",\"Contract.term.topicReference\":\"Reference\",\"Contract.term.type\":\"CodeableConcept\",\"Contract.text\":\"Narrative\",\"Contract.title\":\"string\",\"Contract.topicCodeableConcept\":\"CodeableConcept\",\"Contract.topicReference\":\"Reference\",\"Contract.type\":\"CodeableConcept\",\"Contract.url\":\"uri\",\"Contract.version\":\"string\",\"Contributor.contact\":\"ContactDetail\",\"Contributor.extension\":\"Extension\",\"Contributor.id\":\"System.String\",\"Contributor.name\":\"string\",\"Contributor.type\":\"code\",\"Count.code\":\"code\",\"Count.comparator\":\"code\",\"Count.extension\":\"Extension\",\"Count.id\":\"System.String\",\"Count.system\":\"uri\",\"Count.unit\":\"string\",\"Count.value\":\"decimal\",\"Coverage.beneficiary\":\"Reference\",\"Coverage.class\":\"BackboneElement\",\"Coverage.class.extension\":\"Extension\",\"Coverage.class.id\":\"System.String\",\"Coverage.class.modifierExtension\":\"Extension\",\"Coverage.class.name\":\"string\",\"Coverage.class.type\":\"CodeableConcept\",\"Coverage.class.value\":\"string\",\"Coverage.contained\":\"Resource\",\"Coverage.contract\":\"Reference\",\"Coverage.costToBeneficiary\":\"BackboneElement\",\"Coverage.costToBeneficiary.exception\":\"BackboneElement\",\"Coverage.costToBeneficiary.exception.extension\":\"Extension\",\"Coverage.costToBeneficiary.exception.id\":\"System.String\",\"Coverage.costToBeneficiary.exception.modifierExtension\":\"Extension\",\"Coverage.costToBeneficiary.exception.period\":\"Period\",\"Coverage.costToBeneficiary.exception.type\":\"CodeableConcept\",\"Coverage.costToBeneficiary.extension\":\"Extension\",\"Coverage.costToBeneficiary.id\":\"System.String\",\"Coverage.costToBeneficiary.modifierExtension\":\"Extension\",\"Coverage.costToBeneficiary.type\":\"CodeableConcept\",\"Coverage.costToBeneficiary.valueMoney\":\"Money\",\"Coverage.costToBeneficiary.valueQuantity\":\"Quantity\",\"Coverage.dependent\":\"string\",\"Coverage.extension\":\"Extension\",\"Coverage.id\":\"System.String\",\"Coverage.identifier\":\"Identifier\",\"Coverage.implicitRules\":\"uri\",\"Coverage.language\":\"code\",\"Coverage.meta\":\"Meta\",\"Coverage.modifierExtension\":\"Extension\",\"Coverage.network\":\"string\",\"Coverage.order\":\"positiveInt\",\"Coverage.payor\":\"Reference\",\"Coverage.period\":\"Period\",\"Coverage.policyHolder\":\"Reference\",\"Coverage.relationship\":\"CodeableConcept\",\"Coverage.status\":\"code\",\"Coverage.subrogation\":\"boolean\",\"Coverage.subscriber\":\"Reference\",\"Coverage.subscriberId\":\"string\",\"Coverage.text\":\"Narrative\",\"Coverage.type\":\"CodeableConcept\",\"CoverageEligibilityRequest.contained\":\"Resource\",\"CoverageEligibilityRequest.created\":\"dateTime\",\"CoverageEligibilityRequest.enterer\":\"Reference\",\"CoverageEligibilityRequest.extension\":\"Extension\",\"CoverageEligibilityRequest.facility\":\"Reference\",\"CoverageEligibilityRequest.id\":\"System.String\",\"CoverageEligibilityRequest.identifier\":\"Identifier\",\"CoverageEligibilityRequest.implicitRules\":\"uri\",\"CoverageEligibilityRequest.insurance\":\"BackboneElement\",\"CoverageEligibilityRequest.insurance.businessArrangement\":\"string\",\"CoverageEligibilityRequest.insurance.coverage\":\"Reference\",\"CoverageEligibilityRequest.insurance.extension\":\"Extension\",\"CoverageEligibilityRequest.insurance.focal\":\"boolean\",\"CoverageEligibilityRequest.insurance.id\":\"System.String\",\"CoverageEligibilityRequest.insurance.modifierExtension\":\"Extension\",\"CoverageEligibilityRequest.insurer\":\"Reference\",\"CoverageEligibilityRequest.item\":\"BackboneElement\",\"CoverageEligibilityRequest.item.category\":\"CodeableConcept\",\"CoverageEligibilityRequest.item.detail\":\"Reference\",\"CoverageEligibilityRequest.item.diagnosis\":\"BackboneElement\",\"CoverageEligibilityRequest.item.diagnosis.diagnosisCodeableConcept\":\"CodeableConcept\",\"CoverageEligibilityRequest.item.diagnosis.diagnosisReference\":\"Reference\",\"CoverageEligibilityRequest.item.diagnosis.extension\":\"Extension\",\"CoverageEligibilityRequest.item.diagnosis.id\":\"System.String\",\"CoverageEligibilityRequest.item.diagnosis.modifierExtension\":\"Extension\",\"CoverageEligibilityRequest.item.extension\":\"Extension\",\"CoverageEligibilityRequest.item.facility\":\"Reference\",\"CoverageEligibilityRequest.item.id\":\"System.String\",\"CoverageEligibilityRequest.item.modifier\":\"CodeableConcept\",\"CoverageEligibilityRequest.item.modifierExtension\":\"Extension\",\"CoverageEligibilityRequest.item.productOrService\":\"CodeableConcept\",\"CoverageEligibilityRequest.item.provider\":\"Reference\",\"CoverageEligibilityRequest.item.quantity\":\"Quantity\",\"CoverageEligibilityRequest.item.supportingInfoSequence\":\"positiveInt\",\"CoverageEligibilityRequest.item.unitPrice\":\"Money\",\"CoverageEligibilityRequest.language\":\"code\",\"CoverageEligibilityRequest.meta\":\"Meta\",\"CoverageEligibilityRequest.modifierExtension\":\"Extension\",\"CoverageEligibilityRequest.patient\":\"Reference\",\"CoverageEligibilityRequest.priority\":\"CodeableConcept\",\"CoverageEligibilityRequest.provider\":\"Reference\",\"CoverageEligibilityRequest.purpose\":\"code\",\"CoverageEligibilityRequest.servicedDate\":\"date\",\"CoverageEligibilityRequest.servicedPeriod\":\"Period\",\"CoverageEligibilityRequest.status\":\"code\",\"CoverageEligibilityRequest.supportingInfo\":\"BackboneElement\",\"CoverageEligibilityRequest.supportingInfo.appliesToAll\":\"boolean\",\"CoverageEligibilityRequest.supportingInfo.extension\":\"Extension\",\"CoverageEligibilityRequest.supportingInfo.id\":\"System.String\",\"CoverageEligibilityRequest.supportingInfo.information\":\"Reference\",\"CoverageEligibilityRequest.supportingInfo.modifierExtension\":\"Extension\",\"CoverageEligibilityRequest.supportingInfo.sequence\":\"positiveInt\",\"CoverageEligibilityRequest.text\":\"Narrative\",\"CoverageEligibilityResponse.contained\":\"Resource\",\"CoverageEligibilityResponse.created\":\"dateTime\",\"CoverageEligibilityResponse.disposition\":\"string\",\"CoverageEligibilityResponse.error\":\"BackboneElement\",\"CoverageEligibilityResponse.error.code\":\"CodeableConcept\",\"CoverageEligibilityResponse.error.extension\":\"Extension\",\"CoverageEligibilityResponse.error.id\":\"System.String\",\"CoverageEligibilityResponse.error.modifierExtension\":\"Extension\",\"CoverageEligibilityResponse.extension\":\"Extension\",\"CoverageEligibilityResponse.form\":\"CodeableConcept\",\"CoverageEligibilityResponse.id\":\"System.String\",\"CoverageEligibilityResponse.identifier\":\"Identifier\",\"CoverageEligibilityResponse.implicitRules\":\"uri\",\"CoverageEligibilityResponse.insurance\":\"BackboneElement\",\"CoverageEligibilityResponse.insurance.benefitPeriod\":\"Period\",\"CoverageEligibilityResponse.insurance.coverage\":\"Reference\",\"CoverageEligibilityResponse.insurance.extension\":\"Extension\",\"CoverageEligibilityResponse.insurance.id\":\"System.String\",\"CoverageEligibilityResponse.insurance.inforce\":\"boolean\",\"CoverageEligibilityResponse.insurance.item\":\"BackboneElement\",\"CoverageEligibilityResponse.insurance.item.authorizationRequired\":\"boolean\",\"CoverageEligibilityResponse.insurance.item.authorizationSupporting\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.authorizationUrl\":\"uri\",\"CoverageEligibilityResponse.insurance.item.benefit\":\"BackboneElement\",\"CoverageEligibilityResponse.insurance.item.benefit.allowedMoney\":\"Money\",\"CoverageEligibilityResponse.insurance.item.benefit.allowedString\":\"string\",\"CoverageEligibilityResponse.insurance.item.benefit.allowedUnsignedInt\":\"unsignedInt\",\"CoverageEligibilityResponse.insurance.item.benefit.extension\":\"Extension\",\"CoverageEligibilityResponse.insurance.item.benefit.id\":\"System.String\",\"CoverageEligibilityResponse.insurance.item.benefit.modifierExtension\":\"Extension\",\"CoverageEligibilityResponse.insurance.item.benefit.type\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.benefit.usedMoney\":\"Money\",\"CoverageEligibilityResponse.insurance.item.benefit.usedString\":\"string\",\"CoverageEligibilityResponse.insurance.item.benefit.usedUnsignedInt\":\"unsignedInt\",\"CoverageEligibilityResponse.insurance.item.category\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.description\":\"string\",\"CoverageEligibilityResponse.insurance.item.excluded\":\"boolean\",\"CoverageEligibilityResponse.insurance.item.extension\":\"Extension\",\"CoverageEligibilityResponse.insurance.item.id\":\"System.String\",\"CoverageEligibilityResponse.insurance.item.modifier\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.modifierExtension\":\"Extension\",\"CoverageEligibilityResponse.insurance.item.name\":\"string\",\"CoverageEligibilityResponse.insurance.item.network\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.productOrService\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.provider\":\"Reference\",\"CoverageEligibilityResponse.insurance.item.term\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.item.unit\":\"CodeableConcept\",\"CoverageEligibilityResponse.insurance.modifierExtension\":\"Extension\",\"CoverageEligibilityResponse.insurer\":\"Reference\",\"CoverageEligibilityResponse.language\":\"code\",\"CoverageEligibilityResponse.meta\":\"Meta\",\"CoverageEligibilityResponse.modifierExtension\":\"Extension\",\"CoverageEligibilityResponse.outcome\":\"code\",\"CoverageEligibilityResponse.patient\":\"Reference\",\"CoverageEligibilityResponse.preAuthRef\":\"string\",\"CoverageEligibilityResponse.purpose\":\"code\",\"CoverageEligibilityResponse.request\":\"Reference\",\"CoverageEligibilityResponse.requestor\":\"Reference\",\"CoverageEligibilityResponse.servicedDate\":\"date\",\"CoverageEligibilityResponse.servicedPeriod\":\"Period\",\"CoverageEligibilityResponse.status\":\"code\",\"CoverageEligibilityResponse.text\":\"Narrative\",\"DataRequirement.codeFilter.code\":\"Coding\",\"DataRequirement.codeFilter.extension\":\"Extension\",\"DataRequirement.codeFilter.id\":\"System.String\",\"DataRequirement.codeFilter.path\":\"string\",\"DataRequirement.codeFilter.searchParam\":\"string\",\"DataRequirement.codeFilter.valueSet\":\"canonical\",\"DataRequirement.dateFilter.extension\":\"Extension\",\"DataRequirement.dateFilter.id\":\"System.String\",\"DataRequirement.dateFilter.path\":\"string\",\"DataRequirement.dateFilter.searchParam\":\"string\",\"DataRequirement.dateFilter.valueDateTime\":\"dateTime\",\"DataRequirement.dateFilter.valueDuration\":\"Duration\",\"DataRequirement.dateFilter.valuePeriod\":\"Period\",\"DataRequirement.extension\":\"Extension\",\"DataRequirement.id\":\"System.String\",\"DataRequirement.limit\":\"positiveInt\",\"DataRequirement.mustSupport\":\"string\",\"DataRequirement.profile\":\"canonical\",\"DataRequirement.sort.direction\":\"code\",\"DataRequirement.sort.extension\":\"Extension\",\"DataRequirement.sort.id\":\"System.String\",\"DataRequirement.sort.path\":\"string\",\"DataRequirement.subjectCodeableConcept\":\"CodeableConcept\",\"DataRequirement.subjectReference\":\"Reference\",\"DataRequirement.type\":\"code\",\"DetectedIssue.author\":\"Reference\",\"DetectedIssue.code\":\"CodeableConcept\",\"DetectedIssue.contained\":\"Resource\",\"DetectedIssue.detail\":\"string\",\"DetectedIssue.evidence\":\"BackboneElement\",\"DetectedIssue.evidence.code\":\"CodeableConcept\",\"DetectedIssue.evidence.detail\":\"Reference\",\"DetectedIssue.evidence.extension\":\"Extension\",\"DetectedIssue.evidence.id\":\"System.String\",\"DetectedIssue.evidence.modifierExtension\":\"Extension\",\"DetectedIssue.extension\":\"Extension\",\"DetectedIssue.id\":\"System.String\",\"DetectedIssue.identifiedDateTime\":\"dateTime\",\"DetectedIssue.identifiedPeriod\":\"Period\",\"DetectedIssue.identifier\":\"Identifier\",\"DetectedIssue.implicated\":\"Reference\",\"DetectedIssue.implicitRules\":\"uri\",\"DetectedIssue.language\":\"code\",\"DetectedIssue.meta\":\"Meta\",\"DetectedIssue.mitigation\":\"BackboneElement\",\"DetectedIssue.mitigation.action\":\"CodeableConcept\",\"DetectedIssue.mitigation.author\":\"Reference\",\"DetectedIssue.mitigation.date\":\"dateTime\",\"DetectedIssue.mitigation.extension\":\"Extension\",\"DetectedIssue.mitigation.id\":\"System.String\",\"DetectedIssue.mitigation.modifierExtension\":\"Extension\",\"DetectedIssue.modifierExtension\":\"Extension\",\"DetectedIssue.patient\":\"Reference\",\"DetectedIssue.reference\":\"uri\",\"DetectedIssue.severity\":\"code\",\"DetectedIssue.status\":\"code\",\"DetectedIssue.text\":\"Narrative\",\"Device.contact\":\"ContactPoint\",\"Device.contained\":\"Resource\",\"Device.definition\":\"Reference\",\"Device.deviceName\":\"BackboneElement\",\"Device.deviceName.extension\":\"Extension\",\"Device.deviceName.id\":\"System.String\",\"Device.deviceName.modifierExtension\":\"Extension\",\"Device.deviceName.name\":\"string\",\"Device.deviceName.type\":\"code\",\"Device.distinctIdentifier\":\"string\",\"Device.expirationDate\":\"dateTime\",\"Device.extension\":\"Extension\",\"Device.id\":\"System.String\",\"Device.identifier\":\"Identifier\",\"Device.implicitRules\":\"uri\",\"Device.language\":\"code\",\"Device.location\":\"Reference\",\"Device.lotNumber\":\"string\",\"Device.manufactureDate\":\"dateTime\",\"Device.manufacturer\":\"string\",\"Device.meta\":\"Meta\",\"Device.modelNumber\":\"string\",\"Device.modifierExtension\":\"Extension\",\"Device.note\":\"Annotation\",\"Device.owner\":\"Reference\",\"Device.parent\":\"Reference\",\"Device.partNumber\":\"string\",\"Device.patient\":\"Reference\",\"Device.property\":\"BackboneElement\",\"Device.property.extension\":\"Extension\",\"Device.property.id\":\"System.String\",\"Device.property.modifierExtension\":\"Extension\",\"Device.property.type\":\"CodeableConcept\",\"Device.property.valueCode\":\"CodeableConcept\",\"Device.property.valueQuantity\":\"Quantity\",\"Device.safety\":\"CodeableConcept\",\"Device.serialNumber\":\"string\",\"Device.specialization\":\"BackboneElement\",\"Device.specialization.extension\":\"Extension\",\"Device.specialization.id\":\"System.String\",\"Device.specialization.modifierExtension\":\"Extension\",\"Device.specialization.systemType\":\"CodeableConcept\",\"Device.specialization.version\":\"string\",\"Device.status\":\"code\",\"Device.statusReason\":\"CodeableConcept\",\"Device.text\":\"Narrative\",\"Device.type\":\"CodeableConcept\",\"Device.udiCarrier\":\"BackboneElement\",\"Device.udiCarrier.carrierAIDC\":\"base64Binary\",\"Device.udiCarrier.carrierHRF\":\"string\",\"Device.udiCarrier.deviceIdentifier\":\"string\",\"Device.udiCarrier.entryType\":\"code\",\"Device.udiCarrier.extension\":\"Extension\",\"Device.udiCarrier.id\":\"System.String\",\"Device.udiCarrier.issuer\":\"uri\",\"Device.udiCarrier.jurisdiction\":\"uri\",\"Device.udiCarrier.modifierExtension\":\"Extension\",\"Device.url\":\"uri\",\"Device.version\":\"BackboneElement\",\"Device.version.component\":\"Identifier\",\"Device.version.extension\":\"Extension\",\"Device.version.id\":\"System.String\",\"Device.version.modifierExtension\":\"Extension\",\"Device.version.type\":\"CodeableConcept\",\"Device.version.value\":\"string\",\"DeviceDefinition.capability\":\"BackboneElement\",\"DeviceDefinition.capability.description\":\"CodeableConcept\",\"DeviceDefinition.capability.extension\":\"Extension\",\"DeviceDefinition.capability.id\":\"System.String\",\"DeviceDefinition.capability.modifierExtension\":\"Extension\",\"DeviceDefinition.capability.type\":\"CodeableConcept\",\"DeviceDefinition.contact\":\"ContactPoint\",\"DeviceDefinition.contained\":\"Resource\",\"DeviceDefinition.deviceName\":\"BackboneElement\",\"DeviceDefinition.deviceName.extension\":\"Extension\",\"DeviceDefinition.deviceName.id\":\"System.String\",\"DeviceDefinition.deviceName.modifierExtension\":\"Extension\",\"DeviceDefinition.deviceName.name\":\"string\",\"DeviceDefinition.deviceName.type\":\"code\",\"DeviceDefinition.extension\":\"Extension\",\"DeviceDefinition.id\":\"System.String\",\"DeviceDefinition.identifier\":\"Identifier\",\"DeviceDefinition.implicitRules\":\"uri\",\"DeviceDefinition.language\":\"code\",\"DeviceDefinition.languageCode\":\"CodeableConcept\",\"DeviceDefinition.manufacturerReference\":\"Reference\",\"DeviceDefinition.manufacturerString\":\"string\",\"DeviceDefinition.material\":\"BackboneElement\",\"DeviceDefinition.material.allergenicIndicator\":\"boolean\",\"DeviceDefinition.material.alternate\":\"boolean\",\"DeviceDefinition.material.extension\":\"Extension\",\"DeviceDefinition.material.id\":\"System.String\",\"DeviceDefinition.material.modifierExtension\":\"Extension\",\"DeviceDefinition.material.substance\":\"CodeableConcept\",\"DeviceDefinition.meta\":\"Meta\",\"DeviceDefinition.modelNumber\":\"string\",\"DeviceDefinition.modifierExtension\":\"Extension\",\"DeviceDefinition.note\":\"Annotation\",\"DeviceDefinition.onlineInformation\":\"uri\",\"DeviceDefinition.owner\":\"Reference\",\"DeviceDefinition.parentDevice\":\"Reference\",\"DeviceDefinition.physicalCharacteristics\":\"ProdCharacteristic\",\"DeviceDefinition.property\":\"BackboneElement\",\"DeviceDefinition.property.extension\":\"Extension\",\"DeviceDefinition.property.id\":\"System.String\",\"DeviceDefinition.property.modifierExtension\":\"Extension\",\"DeviceDefinition.property.type\":\"CodeableConcept\",\"DeviceDefinition.property.valueCode\":\"CodeableConcept\",\"DeviceDefinition.property.valueQuantity\":\"Quantity\",\"DeviceDefinition.quantity\":\"Quantity\",\"DeviceDefinition.safety\":\"CodeableConcept\",\"DeviceDefinition.shelfLifeStorage\":\"ProductShelfLife\",\"DeviceDefinition.specialization\":\"BackboneElement\",\"DeviceDefinition.specialization.extension\":\"Extension\",\"DeviceDefinition.specialization.id\":\"System.String\",\"DeviceDefinition.specialization.modifierExtension\":\"Extension\",\"DeviceDefinition.specialization.systemType\":\"string\",\"DeviceDefinition.specialization.version\":\"string\",\"DeviceDefinition.text\":\"Narrative\",\"DeviceDefinition.type\":\"CodeableConcept\",\"DeviceDefinition.udiDeviceIdentifier\":\"BackboneElement\",\"DeviceDefinition.udiDeviceIdentifier.deviceIdentifier\":\"string\",\"DeviceDefinition.udiDeviceIdentifier.extension\":\"Extension\",\"DeviceDefinition.udiDeviceIdentifier.id\":\"System.String\",\"DeviceDefinition.udiDeviceIdentifier.issuer\":\"uri\",\"DeviceDefinition.udiDeviceIdentifier.jurisdiction\":\"uri\",\"DeviceDefinition.udiDeviceIdentifier.modifierExtension\":\"Extension\",\"DeviceDefinition.url\":\"uri\",\"DeviceDefinition.version\":\"string\",\"DeviceMetric.calibration\":\"BackboneElement\",\"DeviceMetric.calibration.extension\":\"Extension\",\"DeviceMetric.calibration.id\":\"System.String\",\"DeviceMetric.calibration.modifierExtension\":\"Extension\",\"DeviceMetric.calibration.state\":\"code\",\"DeviceMetric.calibration.time\":\"instant\",\"DeviceMetric.calibration.type\":\"code\",\"DeviceMetric.category\":\"code\",\"DeviceMetric.color\":\"code\",\"DeviceMetric.contained\":\"Resource\",\"DeviceMetric.extension\":\"Extension\",\"DeviceMetric.id\":\"System.String\",\"DeviceMetric.identifier\":\"Identifier\",\"DeviceMetric.implicitRules\":\"uri\",\"DeviceMetric.language\":\"code\",\"DeviceMetric.measurementPeriod\":\"Timing\",\"DeviceMetric.meta\":\"Meta\",\"DeviceMetric.modifierExtension\":\"Extension\",\"DeviceMetric.operationalStatus\":\"code\",\"DeviceMetric.parent\":\"Reference\",\"DeviceMetric.source\":\"Reference\",\"DeviceMetric.text\":\"Narrative\",\"DeviceMetric.type\":\"CodeableConcept\",\"DeviceMetric.unit\":\"CodeableConcept\",\"DeviceRequest.authoredOn\":\"dateTime\",\"DeviceRequest.basedOn\":\"Reference\",\"DeviceRequest.codeCodeableConcept\":\"CodeableConcept\",\"DeviceRequest.codeReference\":\"Reference\",\"DeviceRequest.contained\":\"Resource\",\"DeviceRequest.encounter\":\"Reference\",\"DeviceRequest.extension\":\"Extension\",\"DeviceRequest.groupIdentifier\":\"Identifier\",\"DeviceRequest.id\":\"System.String\",\"DeviceRequest.identifier\":\"Identifier\",\"DeviceRequest.implicitRules\":\"uri\",\"DeviceRequest.instantiatesCanonical\":\"canonical\",\"DeviceRequest.instantiatesUri\":\"uri\",\"DeviceRequest.insurance\":\"Reference\",\"DeviceRequest.intent\":\"code\",\"DeviceRequest.language\":\"code\",\"DeviceRequest.meta\":\"Meta\",\"DeviceRequest.modifierExtension\":\"Extension\",\"DeviceRequest.note\":\"Annotation\",\"DeviceRequest.occurrenceDateTime\":\"dateTime\",\"DeviceRequest.occurrencePeriod\":\"Period\",\"DeviceRequest.occurrenceTiming\":\"Timing\",\"DeviceRequest.parameter\":\"BackboneElement\",\"DeviceRequest.parameter.code\":\"CodeableConcept\",\"DeviceRequest.parameter.extension\":\"Extension\",\"DeviceRequest.parameter.id\":\"System.String\",\"DeviceRequest.parameter.modifierExtension\":\"Extension\",\"DeviceRequest.parameter.valueBoolean\":\"boolean\",\"DeviceRequest.parameter.valueCodeableConcept\":\"CodeableConcept\",\"DeviceRequest.parameter.valueQuantity\":\"Quantity\",\"DeviceRequest.parameter.valueRange\":\"Range\",\"DeviceRequest.performer\":\"Reference\",\"DeviceRequest.performerType\":\"CodeableConcept\",\"DeviceRequest.priorRequest\":\"Reference\",\"DeviceRequest.priority\":\"code\",\"DeviceRequest.reasonCode\":\"CodeableConcept\",\"DeviceRequest.reasonReference\":\"Reference\",\"DeviceRequest.relevantHistory\":\"Reference\",\"DeviceRequest.requester\":\"Reference\",\"DeviceRequest.status\":\"code\",\"DeviceRequest.subject\":\"Reference\",\"DeviceRequest.supportingInfo\":\"Reference\",\"DeviceRequest.text\":\"Narrative\",\"DeviceUseStatement.basedOn\":\"Reference\",\"DeviceUseStatement.bodySite\":\"CodeableConcept\",\"DeviceUseStatement.contained\":\"Resource\",\"DeviceUseStatement.derivedFrom\":\"Reference\",\"DeviceUseStatement.device\":\"Reference\",\"DeviceUseStatement.extension\":\"Extension\",\"DeviceUseStatement.id\":\"System.String\",\"DeviceUseStatement.identifier\":\"Identifier\",\"DeviceUseStatement.implicitRules\":\"uri\",\"DeviceUseStatement.language\":\"code\",\"DeviceUseStatement.meta\":\"Meta\",\"DeviceUseStatement.modifierExtension\":\"Extension\",\"DeviceUseStatement.note\":\"Annotation\",\"DeviceUseStatement.reasonCode\":\"CodeableConcept\",\"DeviceUseStatement.reasonReference\":\"Reference\",\"DeviceUseStatement.recordedOn\":\"dateTime\",\"DeviceUseStatement.source\":\"Reference\",\"DeviceUseStatement.status\":\"code\",\"DeviceUseStatement.subject\":\"Reference\",\"DeviceUseStatement.text\":\"Narrative\",\"DeviceUseStatement.timingDateTime\":\"dateTime\",\"DeviceUseStatement.timingPeriod\":\"Period\",\"DeviceUseStatement.timingTiming\":\"Timing\",\"DiagnosticReport.basedOn\":\"Reference\",\"DiagnosticReport.category\":\"CodeableConcept\",\"DiagnosticReport.code\":\"CodeableConcept\",\"DiagnosticReport.conclusion\":\"string\",\"DiagnosticReport.conclusionCode\":\"CodeableConcept\",\"DiagnosticReport.contained\":\"Resource\",\"DiagnosticReport.effectiveDateTime\":\"dateTime\",\"DiagnosticReport.effectivePeriod\":\"Period\",\"DiagnosticReport.encounter\":\"Reference\",\"DiagnosticReport.extension\":\"Extension\",\"DiagnosticReport.id\":\"System.String\",\"DiagnosticReport.identifier\":\"Identifier\",\"DiagnosticReport.imagingStudy\":\"Reference\",\"DiagnosticReport.implicitRules\":\"uri\",\"DiagnosticReport.issued\":\"instant\",\"DiagnosticReport.language\":\"code\",\"DiagnosticReport.media\":\"BackboneElement\",\"DiagnosticReport.media.comment\":\"string\",\"DiagnosticReport.media.extension\":\"Extension\",\"DiagnosticReport.media.id\":\"System.String\",\"DiagnosticReport.media.link\":\"Reference\",\"DiagnosticReport.media.modifierExtension\":\"Extension\",\"DiagnosticReport.meta\":\"Meta\",\"DiagnosticReport.modifierExtension\":\"Extension\",\"DiagnosticReport.performer\":\"Reference\",\"DiagnosticReport.presentedForm\":\"Attachment\",\"DiagnosticReport.result\":\"Reference\",\"DiagnosticReport.resultsInterpreter\":\"Reference\",\"DiagnosticReport.specimen\":\"Reference\",\"DiagnosticReport.status\":\"code\",\"DiagnosticReport.subject\":\"Reference\",\"DiagnosticReport.text\":\"Narrative\",\"Distance.code\":\"code\",\"Distance.comparator\":\"code\",\"Distance.extension\":\"Extension\",\"Distance.id\":\"System.String\",\"Distance.system\":\"uri\",\"Distance.unit\":\"string\",\"Distance.value\":\"decimal\",\"DocumentManifest.author\":\"Reference\",\"DocumentManifest.contained\":\"Resource\",\"DocumentManifest.content\":\"Reference\",\"DocumentManifest.created\":\"dateTime\",\"DocumentManifest.description\":\"string\",\"DocumentManifest.extension\":\"Extension\",\"DocumentManifest.id\":\"System.String\",\"DocumentManifest.identifier\":\"Identifier\",\"DocumentManifest.implicitRules\":\"uri\",\"DocumentManifest.language\":\"code\",\"DocumentManifest.masterIdentifier\":\"Identifier\",\"DocumentManifest.meta\":\"Meta\",\"DocumentManifest.modifierExtension\":\"Extension\",\"DocumentManifest.recipient\":\"Reference\",\"DocumentManifest.related\":\"BackboneElement\",\"DocumentManifest.related.extension\":\"Extension\",\"DocumentManifest.related.id\":\"System.String\",\"DocumentManifest.related.identifier\":\"Identifier\",\"DocumentManifest.related.modifierExtension\":\"Extension\",\"DocumentManifest.related.ref\":\"Reference\",\"DocumentManifest.source\":\"uri\",\"DocumentManifest.status\":\"code\",\"DocumentManifest.subject\":\"Reference\",\"DocumentManifest.text\":\"Narrative\",\"DocumentManifest.type\":\"CodeableConcept\",\"DocumentReference.authenticator\":\"Reference\",\"DocumentReference.author\":\"Reference\",\"DocumentReference.category\":\"CodeableConcept\",\"DocumentReference.contained\":\"Resource\",\"DocumentReference.content\":\"BackboneElement\",\"DocumentReference.content.attachment\":\"Attachment\",\"DocumentReference.content.extension\":\"Extension\",\"DocumentReference.content.format\":\"Coding\",\"DocumentReference.content.id\":\"System.String\",\"DocumentReference.content.modifierExtension\":\"Extension\",\"DocumentReference.context\":\"BackboneElement\",\"DocumentReference.context.encounter\":\"Reference\",\"DocumentReference.context.event\":\"CodeableConcept\",\"DocumentReference.context.extension\":\"Extension\",\"DocumentReference.context.facilityType\":\"CodeableConcept\",\"DocumentReference.context.id\":\"System.String\",\"DocumentReference.context.modifierExtension\":\"Extension\",\"DocumentReference.context.period\":\"Period\",\"DocumentReference.context.practiceSetting\":\"CodeableConcept\",\"DocumentReference.context.related\":\"Reference\",\"DocumentReference.context.sourcePatientInfo\":\"Reference\",\"DocumentReference.custodian\":\"Reference\",\"DocumentReference.date\":\"instant\",\"DocumentReference.description\":\"string\",\"DocumentReference.docStatus\":\"code\",\"DocumentReference.extension\":\"Extension\",\"DocumentReference.id\":\"System.String\",\"DocumentReference.identifier\":\"Identifier\",\"DocumentReference.implicitRules\":\"uri\",\"DocumentReference.language\":\"code\",\"DocumentReference.masterIdentifier\":\"Identifier\",\"DocumentReference.meta\":\"Meta\",\"DocumentReference.modifierExtension\":\"Extension\",\"DocumentReference.relatesTo\":\"BackboneElement\",\"DocumentReference.relatesTo.code\":\"code\",\"DocumentReference.relatesTo.extension\":\"Extension\",\"DocumentReference.relatesTo.id\":\"System.String\",\"DocumentReference.relatesTo.modifierExtension\":\"Extension\",\"DocumentReference.relatesTo.target\":\"Reference\",\"DocumentReference.securityLabel\":\"CodeableConcept\",\"DocumentReference.status\":\"code\",\"DocumentReference.subject\":\"Reference\",\"DocumentReference.text\":\"Narrative\",\"DocumentReference.type\":\"CodeableConcept\",\"DomainResource.contained\":\"Resource\",\"DomainResource.extension\":\"Extension\",\"DomainResource.id\":\"System.String\",\"DomainResource.implicitRules\":\"uri\",\"DomainResource.language\":\"code\",\"DomainResource.meta\":\"Meta\",\"DomainResource.modifierExtension\":\"Extension\",\"DomainResource.text\":\"Narrative\",\"Dosage.additionalInstruction\":\"CodeableConcept\",\"Dosage.asNeededBoolean\":\"boolean\",\"Dosage.asNeededCodeableConcept\":\"CodeableConcept\",\"Dosage.doseAndRate.doseQuantity\":\"Quantity\",\"Dosage.doseAndRate.doseRange\":\"Range\",\"Dosage.doseAndRate.extension\":\"Extension\",\"Dosage.doseAndRate.id\":\"System.String\",\"Dosage.doseAndRate.rateQuantity\":\"Quantity\",\"Dosage.doseAndRate.rateRange\":\"Range\",\"Dosage.doseAndRate.rateRatio\":\"Ratio\",\"Dosage.doseAndRate.type\":\"CodeableConcept\",\"Dosage.extension\":\"Extension\",\"Dosage.id\":\"System.String\",\"Dosage.maxDosePerAdministration\":\"Quantity\",\"Dosage.maxDosePerLifetime\":\"Quantity\",\"Dosage.maxDosePerPeriod\":\"Ratio\",\"Dosage.method\":\"CodeableConcept\",\"Dosage.modifierExtension\":\"Extension\",\"Dosage.patientInstruction\":\"string\",\"Dosage.route\":\"CodeableConcept\",\"Dosage.sequence\":\"integer\",\"Dosage.site\":\"CodeableConcept\",\"Dosage.text\":\"string\",\"Dosage.timing\":\"Timing\",\"Duration.code\":\"code\",\"Duration.comparator\":\"code\",\"Duration.extension\":\"Extension\",\"Duration.id\":\"System.String\",\"Duration.system\":\"uri\",\"Duration.unit\":\"string\",\"Duration.value\":\"decimal\",\"EffectEvidenceSynthesis.approvalDate\":\"date\",\"EffectEvidenceSynthesis.author\":\"ContactDetail\",\"EffectEvidenceSynthesis.certainty\":\"BackboneElement\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent\":\"BackboneElement\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent.extension\":\"Extension\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent.id\":\"System.String\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent.note\":\"Annotation\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent.rating\":\"CodeableConcept\",\"EffectEvidenceSynthesis.certainty.certaintySubcomponent.type\":\"CodeableConcept\",\"EffectEvidenceSynthesis.certainty.extension\":\"Extension\",\"EffectEvidenceSynthesis.certainty.id\":\"System.String\",\"EffectEvidenceSynthesis.certainty.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.certainty.note\":\"Annotation\",\"EffectEvidenceSynthesis.certainty.rating\":\"CodeableConcept\",\"EffectEvidenceSynthesis.contact\":\"ContactDetail\",\"EffectEvidenceSynthesis.contained\":\"Resource\",\"EffectEvidenceSynthesis.copyright\":\"markdown\",\"EffectEvidenceSynthesis.date\":\"dateTime\",\"EffectEvidenceSynthesis.description\":\"markdown\",\"EffectEvidenceSynthesis.editor\":\"ContactDetail\",\"EffectEvidenceSynthesis.effectEstimate\":\"BackboneElement\",\"EffectEvidenceSynthesis.effectEstimate.description\":\"string\",\"EffectEvidenceSynthesis.effectEstimate.extension\":\"Extension\",\"EffectEvidenceSynthesis.effectEstimate.id\":\"System.String\",\"EffectEvidenceSynthesis.effectEstimate.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate\":\"BackboneElement\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.extension\":\"Extension\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.from\":\"decimal\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.id\":\"System.String\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.level\":\"decimal\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.to\":\"decimal\",\"EffectEvidenceSynthesis.effectEstimate.precisionEstimate.type\":\"CodeableConcept\",\"EffectEvidenceSynthesis.effectEstimate.type\":\"CodeableConcept\",\"EffectEvidenceSynthesis.effectEstimate.unitOfMeasure\":\"CodeableConcept\",\"EffectEvidenceSynthesis.effectEstimate.value\":\"decimal\",\"EffectEvidenceSynthesis.effectEstimate.variantState\":\"CodeableConcept\",\"EffectEvidenceSynthesis.effectivePeriod\":\"Period\",\"EffectEvidenceSynthesis.endorser\":\"ContactDetail\",\"EffectEvidenceSynthesis.exposure\":\"Reference\",\"EffectEvidenceSynthesis.exposureAlternative\":\"Reference\",\"EffectEvidenceSynthesis.extension\":\"Extension\",\"EffectEvidenceSynthesis.id\":\"System.String\",\"EffectEvidenceSynthesis.identifier\":\"Identifier\",\"EffectEvidenceSynthesis.implicitRules\":\"uri\",\"EffectEvidenceSynthesis.jurisdiction\":\"CodeableConcept\",\"EffectEvidenceSynthesis.language\":\"code\",\"EffectEvidenceSynthesis.lastReviewDate\":\"date\",\"EffectEvidenceSynthesis.meta\":\"Meta\",\"EffectEvidenceSynthesis.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.name\":\"string\",\"EffectEvidenceSynthesis.note\":\"Annotation\",\"EffectEvidenceSynthesis.outcome\":\"Reference\",\"EffectEvidenceSynthesis.population\":\"Reference\",\"EffectEvidenceSynthesis.publisher\":\"string\",\"EffectEvidenceSynthesis.relatedArtifact\":\"RelatedArtifact\",\"EffectEvidenceSynthesis.resultsByExposure\":\"BackboneElement\",\"EffectEvidenceSynthesis.resultsByExposure.description\":\"string\",\"EffectEvidenceSynthesis.resultsByExposure.exposureState\":\"code\",\"EffectEvidenceSynthesis.resultsByExposure.extension\":\"Extension\",\"EffectEvidenceSynthesis.resultsByExposure.id\":\"System.String\",\"EffectEvidenceSynthesis.resultsByExposure.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.resultsByExposure.riskEvidenceSynthesis\":\"Reference\",\"EffectEvidenceSynthesis.resultsByExposure.variantState\":\"CodeableConcept\",\"EffectEvidenceSynthesis.reviewer\":\"ContactDetail\",\"EffectEvidenceSynthesis.sampleSize\":\"BackboneElement\",\"EffectEvidenceSynthesis.sampleSize.description\":\"string\",\"EffectEvidenceSynthesis.sampleSize.extension\":\"Extension\",\"EffectEvidenceSynthesis.sampleSize.id\":\"System.String\",\"EffectEvidenceSynthesis.sampleSize.modifierExtension\":\"Extension\",\"EffectEvidenceSynthesis.sampleSize.numberOfParticipants\":\"integer\",\"EffectEvidenceSynthesis.sampleSize.numberOfStudies\":\"integer\",\"EffectEvidenceSynthesis.status\":\"code\",\"EffectEvidenceSynthesis.studyType\":\"CodeableConcept\",\"EffectEvidenceSynthesis.synthesisType\":\"CodeableConcept\",\"EffectEvidenceSynthesis.text\":\"Narrative\",\"EffectEvidenceSynthesis.title\":\"string\",\"EffectEvidenceSynthesis.topic\":\"CodeableConcept\",\"EffectEvidenceSynthesis.url\":\"uri\",\"EffectEvidenceSynthesis.useContext\":\"UsageContext\",\"EffectEvidenceSynthesis.version\":\"string\",\"Element.extension\":\"Extension\",\"Element.id\":\"System.String\",\"ElementDefinition.alias\":\"string\",\"ElementDefinition.base.extension\":\"Extension\",\"ElementDefinition.base.id\":\"System.String\",\"ElementDefinition.base.max\":\"string\",\"ElementDefinition.base.min\":\"unsignedInt\",\"ElementDefinition.base.path\":\"string\",\"ElementDefinition.binding.description\":\"string\",\"ElementDefinition.binding.extension\":\"Extension\",\"ElementDefinition.binding.id\":\"System.String\",\"ElementDefinition.binding.strength\":\"code\",\"ElementDefinition.binding.valueSet\":\"canonical\",\"ElementDefinition.code\":\"Coding\",\"ElementDefinition.comment\":\"markdown\",\"ElementDefinition.condition\":\"id\",\"ElementDefinition.constraint.expression\":\"string\",\"ElementDefinition.constraint.extension\":\"Extension\",\"ElementDefinition.constraint.human\":\"string\",\"ElementDefinition.constraint.id\":\"System.String\",\"ElementDefinition.constraint.key\":\"id\",\"ElementDefinition.constraint.requirements\":\"string\",\"ElementDefinition.constraint.severity\":\"code\",\"ElementDefinition.constraint.source\":\"canonical\",\"ElementDefinition.constraint.xpath\":\"string\",\"ElementDefinition.contentReference\":\"uri\",\"ElementDefinition.defaultValueAddress\":\"Address\",\"ElementDefinition.defaultValueAge\":\"Age\",\"ElementDefinition.defaultValueAnnotation\":\"Annotation\",\"ElementDefinition.defaultValueAttachment\":\"Attachment\",\"ElementDefinition.defaultValueBase64Binary\":\"base64Binary\",\"ElementDefinition.defaultValueBoolean\":\"boolean\",\"ElementDefinition.defaultValueCanonical\":\"canonical\",\"ElementDefinition.defaultValueCode\":\"code\",\"ElementDefinition.defaultValueCodeableConcept\":\"CodeableConcept\",\"ElementDefinition.defaultValueCoding\":\"Coding\",\"ElementDefinition.defaultValueContactDetail\":\"ContactDetail\",\"ElementDefinition.defaultValueContactPoint\":\"ContactPoint\",\"ElementDefinition.defaultValueContributor\":\"Contributor\",\"ElementDefinition.defaultValueCount\":\"Count\",\"ElementDefinition.defaultValueDataRequirement\":\"DataRequirement\",\"ElementDefinition.defaultValueDate\":\"date\",\"ElementDefinition.defaultValueDateTime\":\"dateTime\",\"ElementDefinition.defaultValueDecimal\":\"decimal\",\"ElementDefinition.defaultValueDistance\":\"Distance\",\"ElementDefinition.defaultValueDosage\":\"Dosage\",\"ElementDefinition.defaultValueDuration\":\"Duration\",\"ElementDefinition.defaultValueExpression\":\"Expression\",\"ElementDefinition.defaultValueHumanName\":\"HumanName\",\"ElementDefinition.defaultValueId\":\"id\",\"ElementDefinition.defaultValueIdentifier\":\"Identifier\",\"ElementDefinition.defaultValueInstant\":\"instant\",\"ElementDefinition.defaultValueInteger\":\"integer\",\"ElementDefinition.defaultValueMarkdown\":\"markdown\",\"ElementDefinition.defaultValueMeta\":\"Meta\",\"ElementDefinition.defaultValueMoney\":\"Money\",\"ElementDefinition.defaultValueOid\":\"oid\",\"ElementDefinition.defaultValueParameterDefinition\":\"ParameterDefinition\",\"ElementDefinition.defaultValuePeriod\":\"Period\",\"ElementDefinition.defaultValuePositiveInt\":\"positiveInt\",\"ElementDefinition.defaultValueQuantity\":\"Quantity\",\"ElementDefinition.defaultValueRange\":\"Range\",\"ElementDefinition.defaultValueRatio\":\"Ratio\",\"ElementDefinition.defaultValueReference\":\"Reference\",\"ElementDefinition.defaultValueRelatedArtifact\":\"RelatedArtifact\",\"ElementDefinition.defaultValueSampledData\":\"SampledData\",\"ElementDefinition.defaultValueSignature\":\"Signature\",\"ElementDefinition.defaultValueString\":\"string\",\"ElementDefinition.defaultValueTime\":\"time\",\"ElementDefinition.defaultValueTiming\":\"Timing\",\"ElementDefinition.defaultValueTriggerDefinition\":\"TriggerDefinition\",\"ElementDefinition.defaultValueUnsignedInt\":\"unsignedInt\",\"ElementDefinition.defaultValueUri\":\"uri\",\"ElementDefinition.defaultValueUrl\":\"url\",\"ElementDefinition.defaultValueUsageContext\":\"UsageContext\",\"ElementDefinition.defaultValueUuid\":\"uuid\",\"ElementDefinition.definition\":\"markdown\",\"ElementDefinition.example.extension\":\"Extension\",\"ElementDefinition.example.id\":\"System.String\",\"ElementDefinition.example.label\":\"string\",\"ElementDefinition.example.valueAddress\":\"Address\",\"ElementDefinition.example.valueAge\":\"Age\",\"ElementDefinition.example.valueAnnotation\":\"Annotation\",\"ElementDefinition.example.valueAttachment\":\"Attachment\",\"ElementDefinition.example.valueBase64Binary\":\"base64Binary\",\"ElementDefinition.example.valueBoolean\":\"boolean\",\"ElementDefinition.example.valueCanonical\":\"canonical\",\"ElementDefinition.example.valueCode\":\"code\",\"ElementDefinition.example.valueCodeableConcept\":\"CodeableConcept\",\"ElementDefinition.example.valueCoding\":\"Coding\",\"ElementDefinition.example.valueContactDetail\":\"ContactDetail\",\"ElementDefinition.example.valueContactPoint\":\"ContactPoint\",\"ElementDefinition.example.valueContributor\":\"Contributor\",\"ElementDefinition.example.valueCount\":\"Count\",\"ElementDefinition.example.valueDataRequirement\":\"DataRequirement\",\"ElementDefinition.example.valueDate\":\"date\",\"ElementDefinition.example.valueDateTime\":\"dateTime\",\"ElementDefinition.example.valueDecimal\":\"decimal\",\"ElementDefinition.example.valueDistance\":\"Distance\",\"ElementDefinition.example.valueDosage\":\"Dosage\",\"ElementDefinition.example.valueDuration\":\"Duration\",\"ElementDefinition.example.valueExpression\":\"Expression\",\"ElementDefinition.example.valueHumanName\":\"HumanName\",\"ElementDefinition.example.valueId\":\"id\",\"ElementDefinition.example.valueIdentifier\":\"Identifier\",\"ElementDefinition.example.valueInstant\":\"instant\",\"ElementDefinition.example.valueInteger\":\"integer\",\"ElementDefinition.example.valueMarkdown\":\"markdown\",\"ElementDefinition.example.valueMeta\":\"Meta\",\"ElementDefinition.example.valueMoney\":\"Money\",\"ElementDefinition.example.valueOid\":\"oid\",\"ElementDefinition.example.valueParameterDefinition\":\"ParameterDefinition\",\"ElementDefinition.example.valuePeriod\":\"Period\",\"ElementDefinition.example.valuePositiveInt\":\"positiveInt\",\"ElementDefinition.example.valueQuantity\":\"Quantity\",\"ElementDefinition.example.valueRange\":\"Range\",\"ElementDefinition.example.valueRatio\":\"Ratio\",\"ElementDefinition.example.valueReference\":\"Reference\",\"ElementDefinition.example.valueRelatedArtifact\":\"RelatedArtifact\",\"ElementDefinition.example.valueSampledData\":\"SampledData\",\"ElementDefinition.example.valueSignature\":\"Signature\",\"ElementDefinition.example.valueString\":\"string\",\"ElementDefinition.example.valueTime\":\"time\",\"ElementDefinition.example.valueTiming\":\"Timing\",\"ElementDefinition.example.valueTriggerDefinition\":\"TriggerDefinition\",\"ElementDefinition.example.valueUnsignedInt\":\"unsignedInt\",\"ElementDefinition.example.valueUri\":\"uri\",\"ElementDefinition.example.valueUrl\":\"url\",\"ElementDefinition.example.valueUsageContext\":\"UsageContext\",\"ElementDefinition.example.valueUuid\":\"uuid\",\"ElementDefinition.extension\":\"Extension\",\"ElementDefinition.extension.extension\":\"Extension\",\"ElementDefinition.extension.id\":\"System.String\",\"ElementDefinition.extension.url\":\"System.String\",\"ElementDefinition.extension.valueCanonical\":\"canonical\",\"ElementDefinition.extension.valueCodeableConcept\":\"CodeableConcept\",\"ElementDefinition.extension.valueString\":\"string\",\"ElementDefinition.fixedAddress\":\"Address\",\"ElementDefinition.fixedAge\":\"Age\",\"ElementDefinition.fixedAnnotation\":\"Annotation\",\"ElementDefinition.fixedAttachment\":\"Attachment\",\"ElementDefinition.fixedBase64Binary\":\"base64Binary\",\"ElementDefinition.fixedBoolean\":\"boolean\",\"ElementDefinition.fixedCanonical\":\"canonical\",\"ElementDefinition.fixedCode\":\"code\",\"ElementDefinition.fixedCodeableConcept\":\"CodeableConcept\",\"ElementDefinition.fixedCoding\":\"Coding\",\"ElementDefinition.fixedContactDetail\":\"ContactDetail\",\"ElementDefinition.fixedContactPoint\":\"ContactPoint\",\"ElementDefinition.fixedContributor\":\"Contributor\",\"ElementDefinition.fixedCount\":\"Count\",\"ElementDefinition.fixedDataRequirement\":\"DataRequirement\",\"ElementDefinition.fixedDate\":\"date\",\"ElementDefinition.fixedDateTime\":\"dateTime\",\"ElementDefinition.fixedDecimal\":\"decimal\",\"ElementDefinition.fixedDistance\":\"Distance\",\"ElementDefinition.fixedDosage\":\"Dosage\",\"ElementDefinition.fixedDuration\":\"Duration\",\"ElementDefinition.fixedExpression\":\"Expression\",\"ElementDefinition.fixedHumanName\":\"HumanName\",\"ElementDefinition.fixedId\":\"id\",\"ElementDefinition.fixedIdentifier\":\"Identifier\",\"ElementDefinition.fixedInstant\":\"instant\",\"ElementDefinition.fixedInteger\":\"integer\",\"ElementDefinition.fixedMarkdown\":\"markdown\",\"ElementDefinition.fixedMeta\":\"Meta\",\"ElementDefinition.fixedMoney\":\"Money\",\"ElementDefinition.fixedOid\":\"oid\",\"ElementDefinition.fixedParameterDefinition\":\"ParameterDefinition\",\"ElementDefinition.fixedPeriod\":\"Period\",\"ElementDefinition.fixedPositiveInt\":\"positiveInt\",\"ElementDefinition.fixedQuantity\":\"Quantity\",\"ElementDefinition.fixedRange\":\"Range\",\"ElementDefinition.fixedRatio\":\"Ratio\",\"ElementDefinition.fixedReference\":\"Reference\",\"ElementDefinition.fixedRelatedArtifact\":\"RelatedArtifact\",\"ElementDefinition.fixedSampledData\":\"SampledData\",\"ElementDefinition.fixedSignature\":\"Signature\",\"ElementDefinition.fixedString\":\"string\",\"ElementDefinition.fixedTime\":\"time\",\"ElementDefinition.fixedTiming\":\"Timing\",\"ElementDefinition.fixedTriggerDefinition\":\"TriggerDefinition\",\"ElementDefinition.fixedUnsignedInt\":\"unsignedInt\",\"ElementDefinition.fixedUri\":\"uri\",\"ElementDefinition.fixedUrl\":\"url\",\"ElementDefinition.fixedUsageContext\":\"UsageContext\",\"ElementDefinition.fixedUuid\":\"uuid\",\"ElementDefinition.id\":\"System.String\",\"ElementDefinition.isModifier\":\"boolean\",\"ElementDefinition.isModifierReason\":\"string\",\"ElementDefinition.isSummary\":\"boolean\",\"ElementDefinition.label\":\"string\",\"ElementDefinition.mapping.comment\":\"string\",\"ElementDefinition.mapping.extension\":\"Extension\",\"ElementDefinition.mapping.id\":\"System.String\",\"ElementDefinition.mapping.identity\":\"id\",\"ElementDefinition.mapping.language\":\"code\",\"ElementDefinition.mapping.map\":\"string\",\"ElementDefinition.max\":\"string\",\"ElementDefinition.maxLength\":\"integer\",\"ElementDefinition.maxValueDate\":\"date\",\"ElementDefinition.maxValueDateTime\":\"dateTime\",\"ElementDefinition.maxValueDecimal\":\"decimal\",\"ElementDefinition.maxValueInstant\":\"instant\",\"ElementDefinition.maxValueInteger\":\"integer\",\"ElementDefinition.maxValuePositiveInt\":\"positiveInt\",\"ElementDefinition.maxValueQuantity\":\"Quantity\",\"ElementDefinition.maxValueTime\":\"time\",\"ElementDefinition.maxValueUnsignedInt\":\"unsignedInt\",\"ElementDefinition.meaningWhenMissing\":\"markdown\",\"ElementDefinition.min\":\"unsignedInt\",\"ElementDefinition.minValueDate\":\"date\",\"ElementDefinition.minValueDateTime\":\"dateTime\",\"ElementDefinition.minValueDecimal\":\"decimal\",\"ElementDefinition.minValueInstant\":\"instant\",\"ElementDefinition.minValueInteger\":\"integer\",\"ElementDefinition.minValuePositiveInt\":\"positiveInt\",\"ElementDefinition.minValueQuantity\":\"Quantity\",\"ElementDefinition.minValueTime\":\"time\",\"ElementDefinition.minValueUnsignedInt\":\"unsignedInt\",\"ElementDefinition.modifierExtension\":\"Extension\",\"ElementDefinition.mustSupport\":\"boolean\",\"ElementDefinition.orderMeaning\":\"string\",\"ElementDefinition.path\":\"string\",\"ElementDefinition.patternAddress\":\"Address\",\"ElementDefinition.patternAge\":\"Age\",\"ElementDefinition.patternAnnotation\":\"Annotation\",\"ElementDefinition.patternAttachment\":\"Attachment\",\"ElementDefinition.patternBase64Binary\":\"base64Binary\",\"ElementDefinition.patternBoolean\":\"boolean\",\"ElementDefinition.patternCanonical\":\"canonical\",\"ElementDefinition.patternCode\":\"code\",\"ElementDefinition.patternCodeableConcept\":\"CodeableConcept\",\"ElementDefinition.patternCoding\":\"Coding\",\"ElementDefinition.patternContactDetail\":\"ContactDetail\",\"ElementDefinition.patternContactPoint\":\"ContactPoint\",\"ElementDefinition.patternContributor\":\"Contributor\",\"ElementDefinition.patternCount\":\"Count\",\"ElementDefinition.patternDataRequirement\":\"DataRequirement\",\"ElementDefinition.patternDate\":\"date\",\"ElementDefinition.patternDateTime\":\"dateTime\",\"ElementDefinition.patternDecimal\":\"decimal\",\"ElementDefinition.patternDistance\":\"Distance\",\"ElementDefinition.patternDosage\":\"Dosage\",\"ElementDefinition.patternDuration\":\"Duration\",\"ElementDefinition.patternExpression\":\"Expression\",\"ElementDefinition.patternHumanName\":\"HumanName\",\"ElementDefinition.patternId\":\"id\",\"ElementDefinition.patternIdentifier\":\"Identifier\",\"ElementDefinition.patternInstant\":\"instant\",\"ElementDefinition.patternInteger\":\"integer\",\"ElementDefinition.patternMarkdown\":\"markdown\",\"ElementDefinition.patternMeta\":\"Meta\",\"ElementDefinition.patternMoney\":\"Money\",\"ElementDefinition.patternOid\":\"oid\",\"ElementDefinition.patternParameterDefinition\":\"ParameterDefinition\",\"ElementDefinition.patternPeriod\":\"Period\",\"ElementDefinition.patternPositiveInt\":\"positiveInt\",\"ElementDefinition.patternQuantity\":\"Quantity\",\"ElementDefinition.patternRange\":\"Range\",\"ElementDefinition.patternRatio\":\"Ratio\",\"ElementDefinition.patternReference\":\"Reference\",\"ElementDefinition.patternRelatedArtifact\":\"RelatedArtifact\",\"ElementDefinition.patternSampledData\":\"SampledData\",\"ElementDefinition.patternSignature\":\"Signature\",\"ElementDefinition.patternString\":\"string\",\"ElementDefinition.patternTime\":\"time\",\"ElementDefinition.patternTiming\":\"Timing\",\"ElementDefinition.patternTriggerDefinition\":\"TriggerDefinition\",\"ElementDefinition.patternUnsignedInt\":\"unsignedInt\",\"ElementDefinition.patternUri\":\"uri\",\"ElementDefinition.patternUrl\":\"url\",\"ElementDefinition.patternUsageContext\":\"UsageContext\",\"ElementDefinition.patternUuid\":\"uuid\",\"ElementDefinition.representation\":\"code\",\"ElementDefinition.requirements\":\"markdown\",\"ElementDefinition.short\":\"string\",\"ElementDefinition.sliceIsConstraining\":\"boolean\",\"ElementDefinition.sliceName\":\"string\",\"ElementDefinition.slicing.description\":\"string\",\"ElementDefinition.slicing.discriminator.extension\":\"Extension\",\"ElementDefinition.slicing.discriminator.id\":\"System.String\",\"ElementDefinition.slicing.discriminator.path\":\"string\",\"ElementDefinition.slicing.discriminator.type\":\"code\",\"ElementDefinition.slicing.extension\":\"Extension\",\"ElementDefinition.slicing.id\":\"System.String\",\"ElementDefinition.slicing.ordered\":\"boolean\",\"ElementDefinition.slicing.rules\":\"code\",\"ElementDefinition.type.aggregation\":\"code\",\"ElementDefinition.type.code\":\"uri\",\"ElementDefinition.type.extension\":\"Extension\",\"ElementDefinition.type.id\":\"System.String\",\"ElementDefinition.type.profile\":\"canonical\",\"ElementDefinition.type.targetProfile\":\"canonical\",\"ElementDefinition.type.versioning\":\"code\",\"Encounter.account\":\"Reference\",\"Encounter.appointment\":\"Reference\",\"Encounter.basedOn\":\"Reference\",\"Encounter.class\":\"Coding\",\"Encounter.classHistory\":\"BackboneElement\",\"Encounter.classHistory.class\":\"Coding\",\"Encounter.classHistory.extension\":\"Extension\",\"Encounter.classHistory.id\":\"System.String\",\"Encounter.classHistory.modifierExtension\":\"Extension\",\"Encounter.classHistory.period\":\"Period\",\"Encounter.contained\":\"Resource\",\"Encounter.diagnosis\":\"BackboneElement\",\"Encounter.diagnosis.condition\":\"Reference\",\"Encounter.diagnosis.extension\":\"Extension\",\"Encounter.diagnosis.id\":\"System.String\",\"Encounter.diagnosis.modifierExtension\":\"Extension\",\"Encounter.diagnosis.rank\":\"positiveInt\",\"Encounter.diagnosis.use\":\"CodeableConcept\",\"Encounter.episodeOfCare\":\"Reference\",\"Encounter.extension\":\"Extension\",\"Encounter.hospitalization\":\"BackboneElement\",\"Encounter.hospitalization.admitSource\":\"CodeableConcept\",\"Encounter.hospitalization.destination\":\"Reference\",\"Encounter.hospitalization.dietPreference\":\"CodeableConcept\",\"Encounter.hospitalization.dischargeDisposition\":\"CodeableConcept\",\"Encounter.hospitalization.extension\":\"Extension\",\"Encounter.hospitalization.id\":\"System.String\",\"Encounter.hospitalization.modifierExtension\":\"Extension\",\"Encounter.hospitalization.origin\":\"Reference\",\"Encounter.hospitalization.preAdmissionIdentifier\":\"Identifier\",\"Encounter.hospitalization.reAdmission\":\"CodeableConcept\",\"Encounter.hospitalization.specialArrangement\":\"CodeableConcept\",\"Encounter.hospitalization.specialCourtesy\":\"CodeableConcept\",\"Encounter.id\":\"System.String\",\"Encounter.identifier\":\"Identifier\",\"Encounter.implicitRules\":\"uri\",\"Encounter.language\":\"code\",\"Encounter.length\":\"Duration\",\"Encounter.location\":\"BackboneElement\",\"Encounter.location.extension\":\"Extension\",\"Encounter.location.id\":\"System.String\",\"Encounter.location.location\":\"Reference\",\"Encounter.location.modifierExtension\":\"Extension\",\"Encounter.location.period\":\"Period\",\"Encounter.location.physicalType\":\"CodeableConcept\",\"Encounter.location.status\":\"code\",\"Encounter.meta\":\"Meta\",\"Encounter.modifierExtension\":\"Extension\",\"Encounter.partOf\":\"Reference\",\"Encounter.participant\":\"BackboneElement\",\"Encounter.participant.extension\":\"Extension\",\"Encounter.participant.id\":\"System.String\",\"Encounter.participant.individual\":\"Reference\",\"Encounter.participant.modifierExtension\":\"Extension\",\"Encounter.participant.period\":\"Period\",\"Encounter.participant.type\":\"CodeableConcept\",\"Encounter.period\":\"Period\",\"Encounter.priority\":\"CodeableConcept\",\"Encounter.reasonCode\":\"CodeableConcept\",\"Encounter.reasonReference\":\"Reference\",\"Encounter.serviceProvider\":\"Reference\",\"Encounter.serviceType\":\"CodeableConcept\",\"Encounter.status\":\"code\",\"Encounter.statusHistory\":\"BackboneElement\",\"Encounter.statusHistory.extension\":\"Extension\",\"Encounter.statusHistory.id\":\"System.String\",\"Encounter.statusHistory.modifierExtension\":\"Extension\",\"Encounter.statusHistory.period\":\"Period\",\"Encounter.statusHistory.status\":\"code\",\"Encounter.subject\":\"Reference\",\"Encounter.text\":\"Narrative\",\"Encounter.type\":\"CodeableConcept\",\"Endpoint.address\":\"url\",\"Endpoint.connectionType\":\"Coding\",\"Endpoint.contact\":\"ContactPoint\",\"Endpoint.contained\":\"Resource\",\"Endpoint.extension\":\"Extension\",\"Endpoint.header\":\"string\",\"Endpoint.id\":\"System.String\",\"Endpoint.identifier\":\"Identifier\",\"Endpoint.implicitRules\":\"uri\",\"Endpoint.language\":\"code\",\"Endpoint.managingOrganization\":\"Reference\",\"Endpoint.meta\":\"Meta\",\"Endpoint.modifierExtension\":\"Extension\",\"Endpoint.name\":\"string\",\"Endpoint.payloadMimeType\":\"code\",\"Endpoint.payloadType\":\"CodeableConcept\",\"Endpoint.period\":\"Period\",\"Endpoint.status\":\"code\",\"Endpoint.text\":\"Narrative\",\"EnrollmentRequest.candidate\":\"Reference\",\"EnrollmentRequest.contained\":\"Resource\",\"EnrollmentRequest.coverage\":\"Reference\",\"EnrollmentRequest.created\":\"dateTime\",\"EnrollmentRequest.extension\":\"Extension\",\"EnrollmentRequest.id\":\"System.String\",\"EnrollmentRequest.identifier\":\"Identifier\",\"EnrollmentRequest.implicitRules\":\"uri\",\"EnrollmentRequest.insurer\":\"Reference\",\"EnrollmentRequest.language\":\"code\",\"EnrollmentRequest.meta\":\"Meta\",\"EnrollmentRequest.modifierExtension\":\"Extension\",\"EnrollmentRequest.provider\":\"Reference\",\"EnrollmentRequest.status\":\"code\",\"EnrollmentRequest.text\":\"Narrative\",\"EnrollmentResponse.contained\":\"Resource\",\"EnrollmentResponse.created\":\"dateTime\",\"EnrollmentResponse.disposition\":\"string\",\"EnrollmentResponse.extension\":\"Extension\",\"EnrollmentResponse.id\":\"System.String\",\"EnrollmentResponse.identifier\":\"Identifier\",\"EnrollmentResponse.implicitRules\":\"uri\",\"EnrollmentResponse.language\":\"code\",\"EnrollmentResponse.meta\":\"Meta\",\"EnrollmentResponse.modifierExtension\":\"Extension\",\"EnrollmentResponse.organization\":\"Reference\",\"EnrollmentResponse.outcome\":\"code\",\"EnrollmentResponse.request\":\"Reference\",\"EnrollmentResponse.requestProvider\":\"Reference\",\"EnrollmentResponse.status\":\"code\",\"EnrollmentResponse.text\":\"Narrative\",\"EpisodeOfCare.account\":\"Reference\",\"EpisodeOfCare.careManager\":\"Reference\",\"EpisodeOfCare.contained\":\"Resource\",\"EpisodeOfCare.diagnosis\":\"BackboneElement\",\"EpisodeOfCare.diagnosis.condition\":\"Reference\",\"EpisodeOfCare.diagnosis.extension\":\"Extension\",\"EpisodeOfCare.diagnosis.id\":\"System.String\",\"EpisodeOfCare.diagnosis.modifierExtension\":\"Extension\",\"EpisodeOfCare.diagnosis.rank\":\"positiveInt\",\"EpisodeOfCare.diagnosis.role\":\"CodeableConcept\",\"EpisodeOfCare.extension\":\"Extension\",\"EpisodeOfCare.id\":\"System.String\",\"EpisodeOfCare.identifier\":\"Identifier\",\"EpisodeOfCare.implicitRules\":\"uri\",\"EpisodeOfCare.language\":\"code\",\"EpisodeOfCare.managingOrganization\":\"Reference\",\"EpisodeOfCare.meta\":\"Meta\",\"EpisodeOfCare.modifierExtension\":\"Extension\",\"EpisodeOfCare.patient\":\"Reference\",\"EpisodeOfCare.period\":\"Period\",\"EpisodeOfCare.referralRequest\":\"Reference\",\"EpisodeOfCare.status\":\"code\",\"EpisodeOfCare.statusHistory\":\"BackboneElement\",\"EpisodeOfCare.statusHistory.extension\":\"Extension\",\"EpisodeOfCare.statusHistory.id\":\"System.String\",\"EpisodeOfCare.statusHistory.modifierExtension\":\"Extension\",\"EpisodeOfCare.statusHistory.period\":\"Period\",\"EpisodeOfCare.statusHistory.status\":\"code\",\"EpisodeOfCare.team\":\"Reference\",\"EpisodeOfCare.text\":\"Narrative\",\"EpisodeOfCare.type\":\"CodeableConcept\",\"EventDefinition.approvalDate\":\"date\",\"EventDefinition.author\":\"ContactDetail\",\"EventDefinition.contact\":\"ContactDetail\",\"EventDefinition.contained\":\"Resource\",\"EventDefinition.copyright\":\"markdown\",\"EventDefinition.date\":\"dateTime\",\"EventDefinition.description\":\"markdown\",\"EventDefinition.editor\":\"ContactDetail\",\"EventDefinition.effectivePeriod\":\"Period\",\"EventDefinition.endorser\":\"ContactDetail\",\"EventDefinition.experimental\":\"boolean\",\"EventDefinition.extension\":\"Extension\",\"EventDefinition.id\":\"System.String\",\"EventDefinition.identifier\":\"Identifier\",\"EventDefinition.implicitRules\":\"uri\",\"EventDefinition.jurisdiction\":\"CodeableConcept\",\"EventDefinition.language\":\"code\",\"EventDefinition.lastReviewDate\":\"date\",\"EventDefinition.meta\":\"Meta\",\"EventDefinition.modifierExtension\":\"Extension\",\"EventDefinition.name\":\"string\",\"EventDefinition.publisher\":\"string\",\"EventDefinition.purpose\":\"markdown\",\"EventDefinition.relatedArtifact\":\"RelatedArtifact\",\"EventDefinition.reviewer\":\"ContactDetail\",\"EventDefinition.status\":\"code\",\"EventDefinition.subjectCodeableConcept\":\"CodeableConcept\",\"EventDefinition.subjectReference\":\"Reference\",\"EventDefinition.subtitle\":\"string\",\"EventDefinition.text\":\"Narrative\",\"EventDefinition.title\":\"string\",\"EventDefinition.topic\":\"CodeableConcept\",\"EventDefinition.trigger\":\"TriggerDefinition\",\"EventDefinition.url\":\"uri\",\"EventDefinition.usage\":\"string\",\"EventDefinition.useContext\":\"UsageContext\",\"EventDefinition.version\":\"string\",\"Evidence.approvalDate\":\"date\",\"Evidence.author\":\"ContactDetail\",\"Evidence.contact\":\"ContactDetail\",\"Evidence.contained\":\"Resource\",\"Evidence.copyright\":\"markdown\",\"Evidence.date\":\"dateTime\",\"Evidence.description\":\"markdown\",\"Evidence.editor\":\"ContactDetail\",\"Evidence.effectivePeriod\":\"Period\",\"Evidence.endorser\":\"ContactDetail\",\"Evidence.exposureBackground\":\"Reference\",\"Evidence.exposureVariant\":\"Reference\",\"Evidence.extension\":\"Extension\",\"Evidence.id\":\"System.String\",\"Evidence.identifier\":\"Identifier\",\"Evidence.implicitRules\":\"uri\",\"Evidence.jurisdiction\":\"CodeableConcept\",\"Evidence.language\":\"code\",\"Evidence.lastReviewDate\":\"date\",\"Evidence.meta\":\"Meta\",\"Evidence.modifierExtension\":\"Extension\",\"Evidence.name\":\"string\",\"Evidence.note\":\"Annotation\",\"Evidence.outcome\":\"Reference\",\"Evidence.publisher\":\"string\",\"Evidence.relatedArtifact\":\"RelatedArtifact\",\"Evidence.reviewer\":\"ContactDetail\",\"Evidence.shortTitle\":\"string\",\"Evidence.status\":\"code\",\"Evidence.subtitle\":\"string\",\"Evidence.text\":\"Narrative\",\"Evidence.title\":\"string\",\"Evidence.topic\":\"CodeableConcept\",\"Evidence.url\":\"uri\",\"Evidence.useContext\":\"UsageContext\",\"Evidence.version\":\"string\",\"EvidenceVariable.approvalDate\":\"date\",\"EvidenceVariable.author\":\"ContactDetail\",\"EvidenceVariable.characteristic\":\"BackboneElement\",\"EvidenceVariable.characteristic.definitionCanonical\":\"canonical\",\"EvidenceVariable.characteristic.definitionCodeableConcept\":\"CodeableConcept\",\"EvidenceVariable.characteristic.definitionDataRequirement\":\"DataRequirement\",\"EvidenceVariable.characteristic.definitionExpression\":\"Expression\",\"EvidenceVariable.characteristic.definitionReference\":\"Reference\",\"EvidenceVariable.characteristic.definitionTriggerDefinition\":\"TriggerDefinition\",\"EvidenceVariable.characteristic.description\":\"string\",\"EvidenceVariable.characteristic.exclude\":\"boolean\",\"EvidenceVariable.characteristic.extension\":\"Extension\",\"EvidenceVariable.characteristic.groupMeasure\":\"code\",\"EvidenceVariable.characteristic.id\":\"System.String\",\"EvidenceVariable.characteristic.modifierExtension\":\"Extension\",\"EvidenceVariable.characteristic.participantEffectiveDateTime\":\"dateTime\",\"EvidenceVariable.characteristic.participantEffectiveDuration\":\"Duration\",\"EvidenceVariable.characteristic.participantEffectivePeriod\":\"Period\",\"EvidenceVariable.characteristic.participantEffectiveTiming\":\"Timing\",\"EvidenceVariable.characteristic.timeFromStart\":\"Duration\",\"EvidenceVariable.characteristic.usageContext\":\"UsageContext\",\"EvidenceVariable.contact\":\"ContactDetail\",\"EvidenceVariable.contained\":\"Resource\",\"EvidenceVariable.copyright\":\"markdown\",\"EvidenceVariable.date\":\"dateTime\",\"EvidenceVariable.description\":\"markdown\",\"EvidenceVariable.editor\":\"ContactDetail\",\"EvidenceVariable.effectivePeriod\":\"Period\",\"EvidenceVariable.endorser\":\"ContactDetail\",\"EvidenceVariable.extension\":\"Extension\",\"EvidenceVariable.id\":\"System.String\",\"EvidenceVariable.identifier\":\"Identifier\",\"EvidenceVariable.implicitRules\":\"uri\",\"EvidenceVariable.jurisdiction\":\"CodeableConcept\",\"EvidenceVariable.language\":\"code\",\"EvidenceVariable.lastReviewDate\":\"date\",\"EvidenceVariable.meta\":\"Meta\",\"EvidenceVariable.modifierExtension\":\"Extension\",\"EvidenceVariable.name\":\"string\",\"EvidenceVariable.note\":\"Annotation\",\"EvidenceVariable.publisher\":\"string\",\"EvidenceVariable.relatedArtifact\":\"RelatedArtifact\",\"EvidenceVariable.reviewer\":\"ContactDetail\",\"EvidenceVariable.shortTitle\":\"string\",\"EvidenceVariable.status\":\"code\",\"EvidenceVariable.subtitle\":\"string\",\"EvidenceVariable.text\":\"Narrative\",\"EvidenceVariable.title\":\"string\",\"EvidenceVariable.topic\":\"CodeableConcept\",\"EvidenceVariable.type\":\"code\",\"EvidenceVariable.url\":\"uri\",\"EvidenceVariable.useContext\":\"UsageContext\",\"EvidenceVariable.version\":\"string\",\"ExampleScenario.actor\":\"BackboneElement\",\"ExampleScenario.actor.actorId\":\"string\",\"ExampleScenario.actor.description\":\"markdown\",\"ExampleScenario.actor.extension\":\"Extension\",\"ExampleScenario.actor.id\":\"System.String\",\"ExampleScenario.actor.modifierExtension\":\"Extension\",\"ExampleScenario.actor.name\":\"string\",\"ExampleScenario.actor.type\":\"code\",\"ExampleScenario.contact\":\"ContactDetail\",\"ExampleScenario.contained\":\"Resource\",\"ExampleScenario.copyright\":\"markdown\",\"ExampleScenario.date\":\"dateTime\",\"ExampleScenario.experimental\":\"boolean\",\"ExampleScenario.extension\":\"Extension\",\"ExampleScenario.id\":\"System.String\",\"ExampleScenario.identifier\":\"Identifier\",\"ExampleScenario.implicitRules\":\"uri\",\"ExampleScenario.instance\":\"BackboneElement\",\"ExampleScenario.instance.containedInstance\":\"BackboneElement\",\"ExampleScenario.instance.containedInstance.extension\":\"Extension\",\"ExampleScenario.instance.containedInstance.id\":\"System.String\",\"ExampleScenario.instance.containedInstance.modifierExtension\":\"Extension\",\"ExampleScenario.instance.containedInstance.resourceId\":\"string\",\"ExampleScenario.instance.containedInstance.versionId\":\"string\",\"ExampleScenario.instance.description\":\"markdown\",\"ExampleScenario.instance.extension\":\"Extension\",\"ExampleScenario.instance.id\":\"System.String\",\"ExampleScenario.instance.modifierExtension\":\"Extension\",\"ExampleScenario.instance.name\":\"string\",\"ExampleScenario.instance.resourceId\":\"string\",\"ExampleScenario.instance.resourceType\":\"code\",\"ExampleScenario.instance.version\":\"BackboneElement\",\"ExampleScenario.instance.version.description\":\"markdown\",\"ExampleScenario.instance.version.extension\":\"Extension\",\"ExampleScenario.instance.version.id\":\"System.String\",\"ExampleScenario.instance.version.modifierExtension\":\"Extension\",\"ExampleScenario.instance.version.versionId\":\"string\",\"ExampleScenario.jurisdiction\":\"CodeableConcept\",\"ExampleScenario.language\":\"code\",\"ExampleScenario.meta\":\"Meta\",\"ExampleScenario.modifierExtension\":\"Extension\",\"ExampleScenario.name\":\"string\",\"ExampleScenario.process\":\"BackboneElement\",\"ExampleScenario.process.description\":\"markdown\",\"ExampleScenario.process.extension\":\"Extension\",\"ExampleScenario.process.id\":\"System.String\",\"ExampleScenario.process.modifierExtension\":\"Extension\",\"ExampleScenario.process.postConditions\":\"markdown\",\"ExampleScenario.process.preConditions\":\"markdown\",\"ExampleScenario.process.step\":\"BackboneElement\",\"ExampleScenario.process.step.alternative\":\"BackboneElement\",\"ExampleScenario.process.step.alternative.description\":\"markdown\",\"ExampleScenario.process.step.alternative.extension\":\"Extension\",\"ExampleScenario.process.step.alternative.id\":\"System.String\",\"ExampleScenario.process.step.alternative.modifierExtension\":\"Extension\",\"ExampleScenario.process.step.alternative.title\":\"string\",\"ExampleScenario.process.step.extension\":\"Extension\",\"ExampleScenario.process.step.id\":\"System.String\",\"ExampleScenario.process.step.modifierExtension\":\"Extension\",\"ExampleScenario.process.step.operation\":\"BackboneElement\",\"ExampleScenario.process.step.operation.description\":\"markdown\",\"ExampleScenario.process.step.operation.extension\":\"Extension\",\"ExampleScenario.process.step.operation.id\":\"System.String\",\"ExampleScenario.process.step.operation.initiator\":\"string\",\"ExampleScenario.process.step.operation.initiatorActive\":\"boolean\",\"ExampleScenario.process.step.operation.modifierExtension\":\"Extension\",\"ExampleScenario.process.step.operation.name\":\"string\",\"ExampleScenario.process.step.operation.number\":\"string\",\"ExampleScenario.process.step.operation.receiver\":\"string\",\"ExampleScenario.process.step.operation.receiverActive\":\"boolean\",\"ExampleScenario.process.step.operation.type\":\"string\",\"ExampleScenario.process.step.pause\":\"boolean\",\"ExampleScenario.process.title\":\"string\",\"ExampleScenario.publisher\":\"string\",\"ExampleScenario.purpose\":\"markdown\",\"ExampleScenario.status\":\"code\",\"ExampleScenario.text\":\"Narrative\",\"ExampleScenario.url\":\"uri\",\"ExampleScenario.useContext\":\"UsageContext\",\"ExampleScenario.version\":\"string\",\"ExampleScenario.workflow\":\"canonical\",\"ExplanationOfBenefit.accident\":\"BackboneElement\",\"ExplanationOfBenefit.accident.date\":\"date\",\"ExplanationOfBenefit.accident.extension\":\"Extension\",\"ExplanationOfBenefit.accident.id\":\"System.String\",\"ExplanationOfBenefit.accident.locationAddress\":\"Address\",\"ExplanationOfBenefit.accident.locationReference\":\"Reference\",\"ExplanationOfBenefit.accident.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.accident.type\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem\":\"BackboneElement\",\"ExplanationOfBenefit.addItem.bodySite\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.detail\":\"BackboneElement\",\"ExplanationOfBenefit.addItem.detail.extension\":\"Extension\",\"ExplanationOfBenefit.addItem.detail.factor\":\"decimal\",\"ExplanationOfBenefit.addItem.detail.id\":\"System.String\",\"ExplanationOfBenefit.addItem.detail.modifier\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.detail.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.addItem.detail.net\":\"Money\",\"ExplanationOfBenefit.addItem.detail.noteNumber\":\"positiveInt\",\"ExplanationOfBenefit.addItem.detail.productOrService\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.detail.quantity\":\"Quantity\",\"ExplanationOfBenefit.addItem.detail.subDetail\":\"BackboneElement\",\"ExplanationOfBenefit.addItem.detail.subDetail.extension\":\"Extension\",\"ExplanationOfBenefit.addItem.detail.subDetail.factor\":\"decimal\",\"ExplanationOfBenefit.addItem.detail.subDetail.id\":\"System.String\",\"ExplanationOfBenefit.addItem.detail.subDetail.modifier\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.detail.subDetail.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.addItem.detail.subDetail.net\":\"Money\",\"ExplanationOfBenefit.addItem.detail.subDetail.noteNumber\":\"positiveInt\",\"ExplanationOfBenefit.addItem.detail.subDetail.productOrService\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.detail.subDetail.quantity\":\"Quantity\",\"ExplanationOfBenefit.addItem.detail.subDetail.unitPrice\":\"Money\",\"ExplanationOfBenefit.addItem.detail.unitPrice\":\"Money\",\"ExplanationOfBenefit.addItem.detailSequence\":\"positiveInt\",\"ExplanationOfBenefit.addItem.extension\":\"Extension\",\"ExplanationOfBenefit.addItem.factor\":\"decimal\",\"ExplanationOfBenefit.addItem.id\":\"System.String\",\"ExplanationOfBenefit.addItem.itemSequence\":\"positiveInt\",\"ExplanationOfBenefit.addItem.locationAddress\":\"Address\",\"ExplanationOfBenefit.addItem.locationCodeableConcept\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.locationReference\":\"Reference\",\"ExplanationOfBenefit.addItem.modifier\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.addItem.net\":\"Money\",\"ExplanationOfBenefit.addItem.noteNumber\":\"positiveInt\",\"ExplanationOfBenefit.addItem.productOrService\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.programCode\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.provider\":\"Reference\",\"ExplanationOfBenefit.addItem.quantity\":\"Quantity\",\"ExplanationOfBenefit.addItem.servicedDate\":\"date\",\"ExplanationOfBenefit.addItem.servicedPeriod\":\"Period\",\"ExplanationOfBenefit.addItem.subDetailSequence\":\"positiveInt\",\"ExplanationOfBenefit.addItem.subSite\":\"CodeableConcept\",\"ExplanationOfBenefit.addItem.unitPrice\":\"Money\",\"ExplanationOfBenefit.benefitBalance\":\"BackboneElement\",\"ExplanationOfBenefit.benefitBalance.category\":\"CodeableConcept\",\"ExplanationOfBenefit.benefitBalance.description\":\"string\",\"ExplanationOfBenefit.benefitBalance.excluded\":\"boolean\",\"ExplanationOfBenefit.benefitBalance.extension\":\"Extension\",\"ExplanationOfBenefit.benefitBalance.financial\":\"BackboneElement\",\"ExplanationOfBenefit.benefitBalance.financial.allowedMoney\":\"Money\",\"ExplanationOfBenefit.benefitBalance.financial.allowedString\":\"string\",\"ExplanationOfBenefit.benefitBalance.financial.allowedUnsignedInt\":\"unsignedInt\",\"ExplanationOfBenefit.benefitBalance.financial.extension\":\"Extension\",\"ExplanationOfBenefit.benefitBalance.financial.id\":\"System.String\",\"ExplanationOfBenefit.benefitBalance.financial.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.benefitBalance.financial.type\":\"CodeableConcept\",\"ExplanationOfBenefit.benefitBalance.financial.usedMoney\":\"Money\",\"ExplanationOfBenefit.benefitBalance.financial.usedUnsignedInt\":\"unsignedInt\",\"ExplanationOfBenefit.benefitBalance.id\":\"System.String\",\"ExplanationOfBenefit.benefitBalance.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.benefitBalance.name\":\"string\",\"ExplanationOfBenefit.benefitBalance.network\":\"CodeableConcept\",\"ExplanationOfBenefit.benefitBalance.term\":\"CodeableConcept\",\"ExplanationOfBenefit.benefitBalance.unit\":\"CodeableConcept\",\"ExplanationOfBenefit.benefitPeriod\":\"Period\",\"ExplanationOfBenefit.billablePeriod\":\"Period\",\"ExplanationOfBenefit.careTeam\":\"BackboneElement\",\"ExplanationOfBenefit.careTeam.extension\":\"Extension\",\"ExplanationOfBenefit.careTeam.id\":\"System.String\",\"ExplanationOfBenefit.careTeam.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.careTeam.provider\":\"Reference\",\"ExplanationOfBenefit.careTeam.qualification\":\"CodeableConcept\",\"ExplanationOfBenefit.careTeam.responsible\":\"boolean\",\"ExplanationOfBenefit.careTeam.role\":\"CodeableConcept\",\"ExplanationOfBenefit.careTeam.sequence\":\"positiveInt\",\"ExplanationOfBenefit.claim\":\"Reference\",\"ExplanationOfBenefit.claimResponse\":\"Reference\",\"ExplanationOfBenefit.contained\":\"Resource\",\"ExplanationOfBenefit.created\":\"dateTime\",\"ExplanationOfBenefit.diagnosis\":\"BackboneElement\",\"ExplanationOfBenefit.diagnosis.diagnosisCodeableConcept\":\"CodeableConcept\",\"ExplanationOfBenefit.diagnosis.diagnosisReference\":\"Reference\",\"ExplanationOfBenefit.diagnosis.extension\":\"Extension\",\"ExplanationOfBenefit.diagnosis.id\":\"System.String\",\"ExplanationOfBenefit.diagnosis.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.diagnosis.onAdmission\":\"CodeableConcept\",\"ExplanationOfBenefit.diagnosis.packageCode\":\"CodeableConcept\",\"ExplanationOfBenefit.diagnosis.sequence\":\"positiveInt\",\"ExplanationOfBenefit.diagnosis.type\":\"CodeableConcept\",\"ExplanationOfBenefit.disposition\":\"string\",\"ExplanationOfBenefit.enterer\":\"Reference\",\"ExplanationOfBenefit.extension\":\"Extension\",\"ExplanationOfBenefit.facility\":\"Reference\",\"ExplanationOfBenefit.form\":\"Attachment\",\"ExplanationOfBenefit.formCode\":\"CodeableConcept\",\"ExplanationOfBenefit.fundsReserve\":\"CodeableConcept\",\"ExplanationOfBenefit.fundsReserveRequested\":\"CodeableConcept\",\"ExplanationOfBenefit.id\":\"System.String\",\"ExplanationOfBenefit.identifier\":\"Identifier\",\"ExplanationOfBenefit.implicitRules\":\"uri\",\"ExplanationOfBenefit.insurance\":\"BackboneElement\",\"ExplanationOfBenefit.insurance.coverage\":\"Reference\",\"ExplanationOfBenefit.insurance.extension\":\"Extension\",\"ExplanationOfBenefit.insurance.focal\":\"boolean\",\"ExplanationOfBenefit.insurance.id\":\"System.String\",\"ExplanationOfBenefit.insurance.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.insurance.preAuthRef\":\"string\",\"ExplanationOfBenefit.insurer\":\"Reference\",\"ExplanationOfBenefit.item\":\"BackboneElement\",\"ExplanationOfBenefit.item.adjudication\":\"BackboneElement\",\"ExplanationOfBenefit.item.adjudication.amount\":\"Money\",\"ExplanationOfBenefit.item.adjudication.category\":\"CodeableConcept\",\"ExplanationOfBenefit.item.adjudication.extension\":\"Extension\",\"ExplanationOfBenefit.item.adjudication.id\":\"System.String\",\"ExplanationOfBenefit.item.adjudication.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.item.adjudication.reason\":\"CodeableConcept\",\"ExplanationOfBenefit.item.adjudication.value\":\"decimal\",\"ExplanationOfBenefit.item.bodySite\":\"CodeableConcept\",\"ExplanationOfBenefit.item.careTeamSequence\":\"positiveInt\",\"ExplanationOfBenefit.item.category\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail\":\"BackboneElement\",\"ExplanationOfBenefit.item.detail.category\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.extension\":\"Extension\",\"ExplanationOfBenefit.item.detail.factor\":\"decimal\",\"ExplanationOfBenefit.item.detail.id\":\"System.String\",\"ExplanationOfBenefit.item.detail.modifier\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.item.detail.net\":\"Money\",\"ExplanationOfBenefit.item.detail.noteNumber\":\"positiveInt\",\"ExplanationOfBenefit.item.detail.productOrService\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.programCode\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.quantity\":\"Quantity\",\"ExplanationOfBenefit.item.detail.revenue\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.sequence\":\"positiveInt\",\"ExplanationOfBenefit.item.detail.subDetail\":\"BackboneElement\",\"ExplanationOfBenefit.item.detail.subDetail.category\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.subDetail.extension\":\"Extension\",\"ExplanationOfBenefit.item.detail.subDetail.factor\":\"decimal\",\"ExplanationOfBenefit.item.detail.subDetail.id\":\"System.String\",\"ExplanationOfBenefit.item.detail.subDetail.modifier\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.subDetail.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.item.detail.subDetail.net\":\"Money\",\"ExplanationOfBenefit.item.detail.subDetail.noteNumber\":\"positiveInt\",\"ExplanationOfBenefit.item.detail.subDetail.productOrService\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.subDetail.programCode\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.subDetail.quantity\":\"Quantity\",\"ExplanationOfBenefit.item.detail.subDetail.revenue\":\"CodeableConcept\",\"ExplanationOfBenefit.item.detail.subDetail.sequence\":\"positiveInt\",\"ExplanationOfBenefit.item.detail.subDetail.udi\":\"Reference\",\"ExplanationOfBenefit.item.detail.subDetail.unitPrice\":\"Money\",\"ExplanationOfBenefit.item.detail.udi\":\"Reference\",\"ExplanationOfBenefit.item.detail.unitPrice\":\"Money\",\"ExplanationOfBenefit.item.diagnosisSequence\":\"positiveInt\",\"ExplanationOfBenefit.item.encounter\":\"Reference\",\"ExplanationOfBenefit.item.extension\":\"Extension\",\"ExplanationOfBenefit.item.factor\":\"decimal\",\"ExplanationOfBenefit.item.id\":\"System.String\",\"ExplanationOfBenefit.item.informationSequence\":\"positiveInt\",\"ExplanationOfBenefit.item.locationAddress\":\"Address\",\"ExplanationOfBenefit.item.locationCodeableConcept\":\"CodeableConcept\",\"ExplanationOfBenefit.item.locationReference\":\"Reference\",\"ExplanationOfBenefit.item.modifier\":\"CodeableConcept\",\"ExplanationOfBenefit.item.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.item.net\":\"Money\",\"ExplanationOfBenefit.item.noteNumber\":\"positiveInt\",\"ExplanationOfBenefit.item.procedureSequence\":\"positiveInt\",\"ExplanationOfBenefit.item.productOrService\":\"CodeableConcept\",\"ExplanationOfBenefit.item.programCode\":\"CodeableConcept\",\"ExplanationOfBenefit.item.quantity\":\"Quantity\",\"ExplanationOfBenefit.item.revenue\":\"CodeableConcept\",\"ExplanationOfBenefit.item.sequence\":\"positiveInt\",\"ExplanationOfBenefit.item.servicedDate\":\"date\",\"ExplanationOfBenefit.item.servicedPeriod\":\"Period\",\"ExplanationOfBenefit.item.subSite\":\"CodeableConcept\",\"ExplanationOfBenefit.item.udi\":\"Reference\",\"ExplanationOfBenefit.item.unitPrice\":\"Money\",\"ExplanationOfBenefit.language\":\"code\",\"ExplanationOfBenefit.meta\":\"Meta\",\"ExplanationOfBenefit.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.originalPrescription\":\"Reference\",\"ExplanationOfBenefit.outcome\":\"code\",\"ExplanationOfBenefit.patient\":\"Reference\",\"ExplanationOfBenefit.payee\":\"BackboneElement\",\"ExplanationOfBenefit.payee.extension\":\"Extension\",\"ExplanationOfBenefit.payee.id\":\"System.String\",\"ExplanationOfBenefit.payee.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.payee.party\":\"Reference\",\"ExplanationOfBenefit.payee.type\":\"CodeableConcept\",\"ExplanationOfBenefit.payment\":\"BackboneElement\",\"ExplanationOfBenefit.payment.adjustment\":\"Money\",\"ExplanationOfBenefit.payment.adjustmentReason\":\"CodeableConcept\",\"ExplanationOfBenefit.payment.amount\":\"Money\",\"ExplanationOfBenefit.payment.date\":\"date\",\"ExplanationOfBenefit.payment.extension\":\"Extension\",\"ExplanationOfBenefit.payment.id\":\"System.String\",\"ExplanationOfBenefit.payment.identifier\":\"Identifier\",\"ExplanationOfBenefit.payment.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.payment.type\":\"CodeableConcept\",\"ExplanationOfBenefit.preAuthRef\":\"string\",\"ExplanationOfBenefit.preAuthRefPeriod\":\"Period\",\"ExplanationOfBenefit.precedence\":\"positiveInt\",\"ExplanationOfBenefit.prescription\":\"Reference\",\"ExplanationOfBenefit.priority\":\"CodeableConcept\",\"ExplanationOfBenefit.procedure\":\"BackboneElement\",\"ExplanationOfBenefit.procedure.date\":\"dateTime\",\"ExplanationOfBenefit.procedure.extension\":\"Extension\",\"ExplanationOfBenefit.procedure.id\":\"System.String\",\"ExplanationOfBenefit.procedure.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.procedure.procedureCodeableConcept\":\"CodeableConcept\",\"ExplanationOfBenefit.procedure.procedureReference\":\"Reference\",\"ExplanationOfBenefit.procedure.sequence\":\"positiveInt\",\"ExplanationOfBenefit.procedure.type\":\"CodeableConcept\",\"ExplanationOfBenefit.procedure.udi\":\"Reference\",\"ExplanationOfBenefit.processNote\":\"BackboneElement\",\"ExplanationOfBenefit.processNote.extension\":\"Extension\",\"ExplanationOfBenefit.processNote.id\":\"System.String\",\"ExplanationOfBenefit.processNote.language\":\"CodeableConcept\",\"ExplanationOfBenefit.processNote.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.processNote.number\":\"positiveInt\",\"ExplanationOfBenefit.processNote.text\":\"string\",\"ExplanationOfBenefit.processNote.type\":\"code\",\"ExplanationOfBenefit.provider\":\"Reference\",\"ExplanationOfBenefit.referral\":\"Reference\",\"ExplanationOfBenefit.related\":\"BackboneElement\",\"ExplanationOfBenefit.related.claim\":\"Reference\",\"ExplanationOfBenefit.related.extension\":\"Extension\",\"ExplanationOfBenefit.related.id\":\"System.String\",\"ExplanationOfBenefit.related.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.related.reference\":\"Identifier\",\"ExplanationOfBenefit.related.relationship\":\"CodeableConcept\",\"ExplanationOfBenefit.status\":\"code\",\"ExplanationOfBenefit.subType\":\"CodeableConcept\",\"ExplanationOfBenefit.supportingInfo\":\"BackboneElement\",\"ExplanationOfBenefit.supportingInfo.category\":\"CodeableConcept\",\"ExplanationOfBenefit.supportingInfo.code\":\"CodeableConcept\",\"ExplanationOfBenefit.supportingInfo.extension\":\"Extension\",\"ExplanationOfBenefit.supportingInfo.id\":\"System.String\",\"ExplanationOfBenefit.supportingInfo.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.supportingInfo.reason\":\"Coding\",\"ExplanationOfBenefit.supportingInfo.sequence\":\"positiveInt\",\"ExplanationOfBenefit.supportingInfo.timingDate\":\"date\",\"ExplanationOfBenefit.supportingInfo.timingPeriod\":\"Period\",\"ExplanationOfBenefit.supportingInfo.valueAttachment\":\"Attachment\",\"ExplanationOfBenefit.supportingInfo.valueBoolean\":\"boolean\",\"ExplanationOfBenefit.supportingInfo.valueQuantity\":\"Quantity\",\"ExplanationOfBenefit.supportingInfo.valueReference\":\"Reference\",\"ExplanationOfBenefit.supportingInfo.valueString\":\"string\",\"ExplanationOfBenefit.text\":\"Narrative\",\"ExplanationOfBenefit.total\":\"BackboneElement\",\"ExplanationOfBenefit.total.amount\":\"Money\",\"ExplanationOfBenefit.total.category\":\"CodeableConcept\",\"ExplanationOfBenefit.total.extension\":\"Extension\",\"ExplanationOfBenefit.total.id\":\"System.String\",\"ExplanationOfBenefit.total.modifierExtension\":\"Extension\",\"ExplanationOfBenefit.type\":\"CodeableConcept\",\"ExplanationOfBenefit.use\":\"code\",\"Expression.description\":\"string\",\"Expression.expression\":\"string\",\"Expression.extension\":\"Extension\",\"Expression.id\":\"System.String\",\"Expression.language\":\"code\",\"Expression.name\":\"id\",\"Expression.reference\":\"uri\",\"Extension.extension\":\"Extension\",\"Extension.id\":\"System.String\",\"Extension.url\":\"System.String\",\"Extension.valueAddress\":\"Address\",\"Extension.valueAge\":\"Age\",\"Extension.valueAnnotation\":\"Annotation\",\"Extension.valueAttachment\":\"Attachment\",\"Extension.valueBase64Binary\":\"base64Binary\",\"Extension.valueBoolean\":\"boolean\",\"Extension.valueCanonical\":\"canonical\",\"Extension.valueCode\":\"code\",\"Extension.valueCodeableConcept\":\"CodeableConcept\",\"Extension.valueCoding\":\"Coding\",\"Extension.valueContactDetail\":\"ContactDetail\",\"Extension.valueContactPoint\":\"ContactPoint\",\"Extension.valueContributor\":\"Contributor\",\"Extension.valueCount\":\"Count\",\"Extension.valueDataRequirement\":\"DataRequirement\",\"Extension.valueDate\":\"date\",\"Extension.valueDateTime\":\"dateTime\",\"Extension.valueDecimal\":\"decimal\",\"Extension.valueDistance\":\"Distance\",\"Extension.valueDosage\":\"Dosage\",\"Extension.valueDuration\":\"Duration\",\"Extension.valueExpression\":\"Expression\",\"Extension.valueHumanName\":\"HumanName\",\"Extension.valueId\":\"id\",\"Extension.valueIdentifier\":\"Identifier\",\"Extension.valueInstant\":\"instant\",\"Extension.valueInteger\":\"integer\",\"Extension.valueMarkdown\":\"markdown\",\"Extension.valueMeta\":\"Meta\",\"Extension.valueMoney\":\"Money\",\"Extension.valueOid\":\"oid\",\"Extension.valueParameterDefinition\":\"ParameterDefinition\",\"Extension.valuePeriod\":\"Period\",\"Extension.valuePositiveInt\":\"positiveInt\",\"Extension.valueQuantity\":\"Quantity\",\"Extension.valueRange\":\"Range\",\"Extension.valueRatio\":\"Ratio\",\"Extension.valueReference\":\"Reference\",\"Extension.valueRelatedArtifact\":\"RelatedArtifact\",\"Extension.valueSampledData\":\"SampledData\",\"Extension.valueSignature\":\"Signature\",\"Extension.valueString\":\"string\",\"Extension.valueTime\":\"time\",\"Extension.valueTiming\":\"Timing\",\"Extension.valueTriggerDefinition\":\"TriggerDefinition\",\"Extension.valueUnsignedInt\":\"unsignedInt\",\"Extension.valueUri\":\"uri\",\"Extension.valueUrl\":\"url\",\"Extension.valueUsageContext\":\"UsageContext\",\"Extension.valueUuid\":\"uuid\",\"FamilyMemberHistory.ageAge\":\"Age\",\"FamilyMemberHistory.ageRange\":\"Range\",\"FamilyMemberHistory.ageString\":\"string\",\"FamilyMemberHistory.bornDate\":\"date\",\"FamilyMemberHistory.bornPeriod\":\"Period\",\"FamilyMemberHistory.bornString\":\"string\",\"FamilyMemberHistory.condition\":\"BackboneElement\",\"FamilyMemberHistory.condition.code\":\"CodeableConcept\",\"FamilyMemberHistory.condition.contributedToDeath\":\"boolean\",\"FamilyMemberHistory.condition.extension\":\"Extension\",\"FamilyMemberHistory.condition.id\":\"System.String\",\"FamilyMemberHistory.condition.modifierExtension\":\"Extension\",\"FamilyMemberHistory.condition.note\":\"Annotation\",\"FamilyMemberHistory.condition.onsetAge\":\"Age\",\"FamilyMemberHistory.condition.onsetPeriod\":\"Period\",\"FamilyMemberHistory.condition.onsetRange\":\"Range\",\"FamilyMemberHistory.condition.onsetString\":\"string\",\"FamilyMemberHistory.condition.outcome\":\"CodeableConcept\",\"FamilyMemberHistory.contained\":\"Resource\",\"FamilyMemberHistory.dataAbsentReason\":\"CodeableConcept\",\"FamilyMemberHistory.date\":\"dateTime\",\"FamilyMemberHistory.deceasedAge\":\"Age\",\"FamilyMemberHistory.deceasedBoolean\":\"boolean\",\"FamilyMemberHistory.deceasedDate\":\"date\",\"FamilyMemberHistory.deceasedRange\":\"Range\",\"FamilyMemberHistory.deceasedString\":\"string\",\"FamilyMemberHistory.estimatedAge\":\"boolean\",\"FamilyMemberHistory.extension\":\"Extension\",\"FamilyMemberHistory.id\":\"System.String\",\"FamilyMemberHistory.identifier\":\"Identifier\",\"FamilyMemberHistory.implicitRules\":\"uri\",\"FamilyMemberHistory.instantiatesCanonical\":\"canonical\",\"FamilyMemberHistory.instantiatesUri\":\"uri\",\"FamilyMemberHistory.language\":\"code\",\"FamilyMemberHistory.meta\":\"Meta\",\"FamilyMemberHistory.modifierExtension\":\"Extension\",\"FamilyMemberHistory.name\":\"string\",\"FamilyMemberHistory.note\":\"Annotation\",\"FamilyMemberHistory.patient\":\"Reference\",\"FamilyMemberHistory.reasonCode\":\"CodeableConcept\",\"FamilyMemberHistory.reasonReference\":\"Reference\",\"FamilyMemberHistory.relationship\":\"CodeableConcept\",\"FamilyMemberHistory.sex\":\"CodeableConcept\",\"FamilyMemberHistory.status\":\"code\",\"FamilyMemberHistory.text\":\"Narrative\",\"Flag.author\":\"Reference\",\"Flag.category\":\"CodeableConcept\",\"Flag.code\":\"CodeableConcept\",\"Flag.contained\":\"Resource\",\"Flag.encounter\":\"Reference\",\"Flag.extension\":\"Extension\",\"Flag.id\":\"System.String\",\"Flag.identifier\":\"Identifier\",\"Flag.implicitRules\":\"uri\",\"Flag.language\":\"code\",\"Flag.meta\":\"Meta\",\"Flag.modifierExtension\":\"Extension\",\"Flag.period\":\"Period\",\"Flag.status\":\"code\",\"Flag.subject\":\"Reference\",\"Flag.text\":\"Narrative\",\"Goal.achievementStatus\":\"CodeableConcept\",\"Goal.addresses\":\"Reference\",\"Goal.category\":\"CodeableConcept\",\"Goal.contained\":\"Resource\",\"Goal.description\":\"CodeableConcept\",\"Goal.expressedBy\":\"Reference\",\"Goal.extension\":\"Extension\",\"Goal.id\":\"System.String\",\"Goal.identifier\":\"Identifier\",\"Goal.implicitRules\":\"uri\",\"Goal.language\":\"code\",\"Goal.lifecycleStatus\":\"code\",\"Goal.meta\":\"Meta\",\"Goal.modifierExtension\":\"Extension\",\"Goal.note\":\"Annotation\",\"Goal.outcomeCode\":\"CodeableConcept\",\"Goal.outcomeReference\":\"Reference\",\"Goal.priority\":\"CodeableConcept\",\"Goal.startCodeableConcept\":\"CodeableConcept\",\"Goal.startDate\":\"date\",\"Goal.statusDate\":\"date\",\"Goal.statusReason\":\"string\",\"Goal.subject\":\"Reference\",\"Goal.target\":\"BackboneElement\",\"Goal.target.detailBoolean\":\"boolean\",\"Goal.target.detailCodeableConcept\":\"CodeableConcept\",\"Goal.target.detailInteger\":\"integer\",\"Goal.target.detailQuantity\":\"Quantity\",\"Goal.target.detailRange\":\"Range\",\"Goal.target.detailRatio\":\"Ratio\",\"Goal.target.detailString\":\"string\",\"Goal.target.dueDate\":\"date\",\"Goal.target.dueDuration\":\"Duration\",\"Goal.target.extension\":\"Extension\",\"Goal.target.id\":\"System.String\",\"Goal.target.measure\":\"CodeableConcept\",\"Goal.target.modifierExtension\":\"Extension\",\"Goal.text\":\"Narrative\",\"GraphDefinition.contact\":\"ContactDetail\",\"GraphDefinition.contained\":\"Resource\",\"GraphDefinition.date\":\"dateTime\",\"GraphDefinition.description\":\"markdown\",\"GraphDefinition.experimental\":\"boolean\",\"GraphDefinition.extension\":\"Extension\",\"GraphDefinition.id\":\"System.String\",\"GraphDefinition.implicitRules\":\"uri\",\"GraphDefinition.jurisdiction\":\"CodeableConcept\",\"GraphDefinition.language\":\"code\",\"GraphDefinition.link\":\"BackboneElement\",\"GraphDefinition.link.description\":\"string\",\"GraphDefinition.link.extension\":\"Extension\",\"GraphDefinition.link.id\":\"System.String\",\"GraphDefinition.link.max\":\"string\",\"GraphDefinition.link.min\":\"integer\",\"GraphDefinition.link.modifierExtension\":\"Extension\",\"GraphDefinition.link.path\":\"string\",\"GraphDefinition.link.sliceName\":\"string\",\"GraphDefinition.link.target\":\"BackboneElement\",\"GraphDefinition.link.target.compartment\":\"BackboneElement\",\"GraphDefinition.link.target.compartment.code\":\"code\",\"GraphDefinition.link.target.compartment.description\":\"string\",\"GraphDefinition.link.target.compartment.expression\":\"string\",\"GraphDefinition.link.target.compartment.extension\":\"Extension\",\"GraphDefinition.link.target.compartment.id\":\"System.String\",\"GraphDefinition.link.target.compartment.modifierExtension\":\"Extension\",\"GraphDefinition.link.target.compartment.rule\":\"code\",\"GraphDefinition.link.target.compartment.use\":\"code\",\"GraphDefinition.link.target.extension\":\"Extension\",\"GraphDefinition.link.target.id\":\"System.String\",\"GraphDefinition.link.target.modifierExtension\":\"Extension\",\"GraphDefinition.link.target.params\":\"string\",\"GraphDefinition.link.target.profile\":\"canonical\",\"GraphDefinition.link.target.type\":\"code\",\"GraphDefinition.meta\":\"Meta\",\"GraphDefinition.modifierExtension\":\"Extension\",\"GraphDefinition.name\":\"string\",\"GraphDefinition.profile\":\"canonical\",\"GraphDefinition.publisher\":\"string\",\"GraphDefinition.purpose\":\"markdown\",\"GraphDefinition.start\":\"code\",\"GraphDefinition.status\":\"code\",\"GraphDefinition.text\":\"Narrative\",\"GraphDefinition.url\":\"uri\",\"GraphDefinition.useContext\":\"UsageContext\",\"GraphDefinition.version\":\"string\",\"Group.active\":\"boolean\",\"Group.actual\":\"boolean\",\"Group.characteristic\":\"BackboneElement\",\"Group.characteristic.code\":\"CodeableConcept\",\"Group.characteristic.exclude\":\"boolean\",\"Group.characteristic.extension\":\"Extension\",\"Group.characteristic.id\":\"System.String\",\"Group.characteristic.modifierExtension\":\"Extension\",\"Group.characteristic.period\":\"Period\",\"Group.characteristic.valueBoolean\":\"boolean\",\"Group.characteristic.valueCodeableConcept\":\"CodeableConcept\",\"Group.characteristic.valueQuantity\":\"Quantity\",\"Group.characteristic.valueRange\":\"Range\",\"Group.characteristic.valueReference\":\"Reference\",\"Group.code\":\"CodeableConcept\",\"Group.contained\":\"Resource\",\"Group.extension\":\"Extension\",\"Group.id\":\"System.String\",\"Group.identifier\":\"Identifier\",\"Group.implicitRules\":\"uri\",\"Group.language\":\"code\",\"Group.managingEntity\":\"Reference\",\"Group.member\":\"BackboneElement\",\"Group.member.entity\":\"Reference\",\"Group.member.extension\":\"Extension\",\"Group.member.id\":\"System.String\",\"Group.member.inactive\":\"boolean\",\"Group.member.modifierExtension\":\"Extension\",\"Group.member.period\":\"Period\",\"Group.meta\":\"Meta\",\"Group.modifierExtension\":\"Extension\",\"Group.name\":\"string\",\"Group.quantity\":\"unsignedInt\",\"Group.text\":\"Narrative\",\"Group.type\":\"code\",\"GuidanceResponse.contained\":\"Resource\",\"GuidanceResponse.dataRequirement\":\"DataRequirement\",\"GuidanceResponse.encounter\":\"Reference\",\"GuidanceResponse.evaluationMessage\":\"Reference\",\"GuidanceResponse.extension\":\"Extension\",\"GuidanceResponse.id\":\"System.String\",\"GuidanceResponse.identifier\":\"Identifier\",\"GuidanceResponse.implicitRules\":\"uri\",\"GuidanceResponse.language\":\"code\",\"GuidanceResponse.meta\":\"Meta\",\"GuidanceResponse.modifierExtension\":\"Extension\",\"GuidanceResponse.moduleCanonical\":\"canonical\",\"GuidanceResponse.moduleCodeableConcept\":\"CodeableConcept\",\"GuidanceResponse.moduleUri\":\"uri\",\"GuidanceResponse.note\":\"Annotation\",\"GuidanceResponse.occurrenceDateTime\":\"dateTime\",\"GuidanceResponse.outputParameters\":\"Reference\",\"GuidanceResponse.performer\":\"Reference\",\"GuidanceResponse.reasonCode\":\"CodeableConcept\",\"GuidanceResponse.reasonReference\":\"Reference\",\"GuidanceResponse.requestIdentifier\":\"Identifier\",\"GuidanceResponse.result\":\"Reference\",\"GuidanceResponse.status\":\"code\",\"GuidanceResponse.subject\":\"Reference\",\"GuidanceResponse.text\":\"Narrative\",\"HealthcareService.active\":\"boolean\",\"HealthcareService.appointmentRequired\":\"boolean\",\"HealthcareService.availabilityExceptions\":\"string\",\"HealthcareService.availableTime\":\"BackboneElement\",\"HealthcareService.availableTime.allDay\":\"boolean\",\"HealthcareService.availableTime.availableEndTime\":\"time\",\"HealthcareService.availableTime.availableStartTime\":\"time\",\"HealthcareService.availableTime.daysOfWeek\":\"code\",\"HealthcareService.availableTime.extension\":\"Extension\",\"HealthcareService.availableTime.id\":\"System.String\",\"HealthcareService.availableTime.modifierExtension\":\"Extension\",\"HealthcareService.category\":\"CodeableConcept\",\"HealthcareService.characteristic\":\"CodeableConcept\",\"HealthcareService.comment\":\"string\",\"HealthcareService.communication\":\"CodeableConcept\",\"HealthcareService.contained\":\"Resource\",\"HealthcareService.coverageArea\":\"Reference\",\"HealthcareService.eligibility\":\"BackboneElement\",\"HealthcareService.eligibility.code\":\"CodeableConcept\",\"HealthcareService.eligibility.comment\":\"markdown\",\"HealthcareService.eligibility.extension\":\"Extension\",\"HealthcareService.eligibility.id\":\"System.String\",\"HealthcareService.eligibility.modifierExtension\":\"Extension\",\"HealthcareService.endpoint\":\"Reference\",\"HealthcareService.extension\":\"Extension\",\"HealthcareService.extraDetails\":\"markdown\",\"HealthcareService.id\":\"System.String\",\"HealthcareService.identifier\":\"Identifier\",\"HealthcareService.implicitRules\":\"uri\",\"HealthcareService.language\":\"code\",\"HealthcareService.location\":\"Reference\",\"HealthcareService.meta\":\"Meta\",\"HealthcareService.modifierExtension\":\"Extension\",\"HealthcareService.name\":\"string\",\"HealthcareService.notAvailable\":\"BackboneElement\",\"HealthcareService.notAvailable.description\":\"string\",\"HealthcareService.notAvailable.during\":\"Period\",\"HealthcareService.notAvailable.extension\":\"Extension\",\"HealthcareService.notAvailable.id\":\"System.String\",\"HealthcareService.notAvailable.modifierExtension\":\"Extension\",\"HealthcareService.photo\":\"Attachment\",\"HealthcareService.program\":\"CodeableConcept\",\"HealthcareService.providedBy\":\"Reference\",\"HealthcareService.referralMethod\":\"CodeableConcept\",\"HealthcareService.serviceProvisionCode\":\"CodeableConcept\",\"HealthcareService.specialty\":\"CodeableConcept\",\"HealthcareService.telecom\":\"ContactPoint\",\"HealthcareService.text\":\"Narrative\",\"HealthcareService.type\":\"CodeableConcept\",\"HumanName.extension\":\"Extension\",\"HumanName.family\":\"string\",\"HumanName.given\":\"string\",\"HumanName.id\":\"System.String\",\"HumanName.period\":\"Period\",\"HumanName.prefix\":\"string\",\"HumanName.suffix\":\"string\",\"HumanName.text\":\"string\",\"HumanName.use\":\"code\",\"Identifier.assigner\":\"Reference\",\"Identifier.extension\":\"Extension\",\"Identifier.id\":\"System.String\",\"Identifier.period\":\"Period\",\"Identifier.system\":\"uri\",\"Identifier.type\":\"CodeableConcept\",\"Identifier.use\":\"code\",\"Identifier.value\":\"string\",\"ImagingStudy.basedOn\":\"Reference\",\"ImagingStudy.contained\":\"Resource\",\"ImagingStudy.description\":\"string\",\"ImagingStudy.encounter\":\"Reference\",\"ImagingStudy.endpoint\":\"Reference\",\"ImagingStudy.extension\":\"Extension\",\"ImagingStudy.id\":\"System.String\",\"ImagingStudy.identifier\":\"Identifier\",\"ImagingStudy.implicitRules\":\"uri\",\"ImagingStudy.interpreter\":\"Reference\",\"ImagingStudy.language\":\"code\",\"ImagingStudy.location\":\"Reference\",\"ImagingStudy.meta\":\"Meta\",\"ImagingStudy.modality\":\"Coding\",\"ImagingStudy.modifierExtension\":\"Extension\",\"ImagingStudy.note\":\"Annotation\",\"ImagingStudy.numberOfInstances\":\"unsignedInt\",\"ImagingStudy.numberOfSeries\":\"unsignedInt\",\"ImagingStudy.procedureCode\":\"CodeableConcept\",\"ImagingStudy.procedureReference\":\"Reference\",\"ImagingStudy.reasonCode\":\"CodeableConcept\",\"ImagingStudy.reasonReference\":\"Reference\",\"ImagingStudy.referrer\":\"Reference\",\"ImagingStudy.series\":\"BackboneElement\",\"ImagingStudy.series.bodySite\":\"Coding\",\"ImagingStudy.series.description\":\"string\",\"ImagingStudy.series.endpoint\":\"Reference\",\"ImagingStudy.series.extension\":\"Extension\",\"ImagingStudy.series.id\":\"System.String\",\"ImagingStudy.series.instance\":\"BackboneElement\",\"ImagingStudy.series.instance.extension\":\"Extension\",\"ImagingStudy.series.instance.id\":\"System.String\",\"ImagingStudy.series.instance.modifierExtension\":\"Extension\",\"ImagingStudy.series.instance.number\":\"unsignedInt\",\"ImagingStudy.series.instance.sopClass\":\"Coding\",\"ImagingStudy.series.instance.title\":\"string\",\"ImagingStudy.series.instance.uid\":\"id\",\"ImagingStudy.series.laterality\":\"Coding\",\"ImagingStudy.series.modality\":\"Coding\",\"ImagingStudy.series.modifierExtension\":\"Extension\",\"ImagingStudy.series.number\":\"unsignedInt\",\"ImagingStudy.series.numberOfInstances\":\"unsignedInt\",\"ImagingStudy.series.performer\":\"BackboneElement\",\"ImagingStudy.series.performer.actor\":\"Reference\",\"ImagingStudy.series.performer.extension\":\"Extension\",\"ImagingStudy.series.performer.function\":\"CodeableConcept\",\"ImagingStudy.series.performer.id\":\"System.String\",\"ImagingStudy.series.performer.modifierExtension\":\"Extension\",\"ImagingStudy.series.specimen\":\"Reference\",\"ImagingStudy.series.started\":\"dateTime\",\"ImagingStudy.series.uid\":\"id\",\"ImagingStudy.started\":\"dateTime\",\"ImagingStudy.status\":\"code\",\"ImagingStudy.subject\":\"Reference\",\"ImagingStudy.text\":\"Narrative\",\"Immunization.contained\":\"Resource\",\"Immunization.doseQuantity\":\"Quantity\",\"Immunization.education\":\"BackboneElement\",\"Immunization.education.documentType\":\"string\",\"Immunization.education.extension\":\"Extension\",\"Immunization.education.id\":\"System.String\",\"Immunization.education.modifierExtension\":\"Extension\",\"Immunization.education.presentationDate\":\"dateTime\",\"Immunization.education.publicationDate\":\"dateTime\",\"Immunization.education.reference\":\"uri\",\"Immunization.encounter\":\"Reference\",\"Immunization.expirationDate\":\"date\",\"Immunization.extension\":\"Extension\",\"Immunization.fundingSource\":\"CodeableConcept\",\"Immunization.id\":\"System.String\",\"Immunization.identifier\":\"Identifier\",\"Immunization.implicitRules\":\"uri\",\"Immunization.isSubpotent\":\"boolean\",\"Immunization.language\":\"code\",\"Immunization.location\":\"Reference\",\"Immunization.lotNumber\":\"string\",\"Immunization.manufacturer\":\"Reference\",\"Immunization.meta\":\"Meta\",\"Immunization.modifierExtension\":\"Extension\",\"Immunization.note\":\"Annotation\",\"Immunization.occurrenceDateTime\":\"dateTime\",\"Immunization.occurrenceString\":\"string\",\"Immunization.patient\":\"Reference\",\"Immunization.performer\":\"BackboneElement\",\"Immunization.performer.actor\":\"Reference\",\"Immunization.performer.extension\":\"Extension\",\"Immunization.performer.function\":\"CodeableConcept\",\"Immunization.performer.id\":\"System.String\",\"Immunization.performer.modifierExtension\":\"Extension\",\"Immunization.primarySource\":\"boolean\",\"Immunization.programEligibility\":\"CodeableConcept\",\"Immunization.protocolApplied\":\"BackboneElement\",\"Immunization.protocolApplied.authority\":\"Reference\",\"Immunization.protocolApplied.doseNumberPositiveInt\":\"positiveInt\",\"Immunization.protocolApplied.doseNumberString\":\"string\",\"Immunization.protocolApplied.extension\":\"Extension\",\"Immunization.protocolApplied.id\":\"System.String\",\"Immunization.protocolApplied.modifierExtension\":\"Extension\",\"Immunization.protocolApplied.series\":\"string\",\"Immunization.protocolApplied.seriesDosesPositiveInt\":\"positiveInt\",\"Immunization.protocolApplied.seriesDosesString\":\"string\",\"Immunization.protocolApplied.targetDisease\":\"CodeableConcept\",\"Immunization.reaction\":\"BackboneElement\",\"Immunization.reaction.date\":\"dateTime\",\"Immunization.reaction.detail\":\"Reference\",\"Immunization.reaction.extension\":\"Extension\",\"Immunization.reaction.id\":\"System.String\",\"Immunization.reaction.modifierExtension\":\"Extension\",\"Immunization.reaction.reported\":\"boolean\",\"Immunization.reasonCode\":\"CodeableConcept\",\"Immunization.reasonReference\":\"Reference\",\"Immunization.recorded\":\"dateTime\",\"Immunization.reportOrigin\":\"CodeableConcept\",\"Immunization.route\":\"CodeableConcept\",\"Immunization.site\":\"CodeableConcept\",\"Immunization.status\":\"code\",\"Immunization.statusReason\":\"CodeableConcept\",\"Immunization.subpotentReason\":\"CodeableConcept\",\"Immunization.text\":\"Narrative\",\"Immunization.vaccineCode\":\"CodeableConcept\",\"ImmunizationEvaluation.authority\":\"Reference\",\"ImmunizationEvaluation.contained\":\"Resource\",\"ImmunizationEvaluation.date\":\"dateTime\",\"ImmunizationEvaluation.description\":\"string\",\"ImmunizationEvaluation.doseNumberPositiveInt\":\"positiveInt\",\"ImmunizationEvaluation.doseNumberString\":\"string\",\"ImmunizationEvaluation.doseStatus\":\"CodeableConcept\",\"ImmunizationEvaluation.doseStatusReason\":\"CodeableConcept\",\"ImmunizationEvaluation.extension\":\"Extension\",\"ImmunizationEvaluation.id\":\"System.String\",\"ImmunizationEvaluation.identifier\":\"Identifier\",\"ImmunizationEvaluation.immunizationEvent\":\"Reference\",\"ImmunizationEvaluation.implicitRules\":\"uri\",\"ImmunizationEvaluation.language\":\"code\",\"ImmunizationEvaluation.meta\":\"Meta\",\"ImmunizationEvaluation.modifierExtension\":\"Extension\",\"ImmunizationEvaluation.patient\":\"Reference\",\"ImmunizationEvaluation.series\":\"string\",\"ImmunizationEvaluation.seriesDosesPositiveInt\":\"positiveInt\",\"ImmunizationEvaluation.seriesDosesString\":\"string\",\"ImmunizationEvaluation.status\":\"code\",\"ImmunizationEvaluation.targetDisease\":\"CodeableConcept\",\"ImmunizationEvaluation.text\":\"Narrative\",\"ImmunizationRecommendation.authority\":\"Reference\",\"ImmunizationRecommendation.contained\":\"Resource\",\"ImmunizationRecommendation.date\":\"dateTime\",\"ImmunizationRecommendation.extension\":\"Extension\",\"ImmunizationRecommendation.id\":\"System.String\",\"ImmunizationRecommendation.identifier\":\"Identifier\",\"ImmunizationRecommendation.implicitRules\":\"uri\",\"ImmunizationRecommendation.language\":\"code\",\"ImmunizationRecommendation.meta\":\"Meta\",\"ImmunizationRecommendation.modifierExtension\":\"Extension\",\"ImmunizationRecommendation.patient\":\"Reference\",\"ImmunizationRecommendation.recommendation\":\"BackboneElement\",\"ImmunizationRecommendation.recommendation.contraindicatedVaccineCode\":\"CodeableConcept\",\"ImmunizationRecommendation.recommendation.dateCriterion\":\"BackboneElement\",\"ImmunizationRecommendation.recommendation.dateCriterion.code\":\"CodeableConcept\",\"ImmunizationRecommendation.recommendation.dateCriterion.extension\":\"Extension\",\"ImmunizationRecommendation.recommendation.dateCriterion.id\":\"System.String\",\"ImmunizationRecommendation.recommendation.dateCriterion.modifierExtension\":\"Extension\",\"ImmunizationRecommendation.recommendation.dateCriterion.value\":\"dateTime\",\"ImmunizationRecommendation.recommendation.description\":\"string\",\"ImmunizationRecommendation.recommendation.doseNumberPositiveInt\":\"positiveInt\",\"ImmunizationRecommendation.recommendation.doseNumberString\":\"string\",\"ImmunizationRecommendation.recommendation.extension\":\"Extension\",\"ImmunizationRecommendation.recommendation.forecastReason\":\"CodeableConcept\",\"ImmunizationRecommendation.recommendation.forecastStatus\":\"CodeableConcept\",\"ImmunizationRecommendation.recommendation.id\":\"System.String\",\"ImmunizationRecommendation.recommendation.modifierExtension\":\"Extension\",\"ImmunizationRecommendation.recommendation.series\":\"string\",\"ImmunizationRecommendation.recommendation.seriesDosesPositiveInt\":\"positiveInt\",\"ImmunizationRecommendation.recommendation.seriesDosesString\":\"string\",\"ImmunizationRecommendation.recommendation.supportingImmunization\":\"Reference\",\"ImmunizationRecommendation.recommendation.supportingPatientInformation\":\"Reference\",\"ImmunizationRecommendation.recommendation.targetDisease\":\"CodeableConcept\",\"ImmunizationRecommendation.recommendation.vaccineCode\":\"CodeableConcept\",\"ImmunizationRecommendation.text\":\"Narrative\",\"ImplementationGuide.contact\":\"ContactDetail\",\"ImplementationGuide.contained\":\"Resource\",\"ImplementationGuide.copyright\":\"markdown\",\"ImplementationGuide.date\":\"dateTime\",\"ImplementationGuide.definition\":\"BackboneElement\",\"ImplementationGuide.definition.extension\":\"Extension\",\"ImplementationGuide.definition.grouping\":\"BackboneElement\",\"ImplementationGuide.definition.grouping.description\":\"string\",\"ImplementationGuide.definition.grouping.extension\":\"Extension\",\"ImplementationGuide.definition.grouping.id\":\"System.String\",\"ImplementationGuide.definition.grouping.modifierExtension\":\"Extension\",\"ImplementationGuide.definition.grouping.name\":\"string\",\"ImplementationGuide.definition.id\":\"System.String\",\"ImplementationGuide.definition.modifierExtension\":\"Extension\",\"ImplementationGuide.definition.page\":\"BackboneElement\",\"ImplementationGuide.definition.page.extension\":\"Extension\",\"ImplementationGuide.definition.page.generation\":\"code\",\"ImplementationGuide.definition.page.id\":\"System.String\",\"ImplementationGuide.definition.page.modifierExtension\":\"Extension\",\"ImplementationGuide.definition.page.nameReference\":\"Reference\",\"ImplementationGuide.definition.page.nameUrl\":\"url\",\"ImplementationGuide.definition.page.title\":\"string\",\"ImplementationGuide.definition.parameter\":\"BackboneElement\",\"ImplementationGuide.definition.parameter.code\":\"code\",\"ImplementationGuide.definition.parameter.extension\":\"Extension\",\"ImplementationGuide.definition.parameter.id\":\"System.String\",\"ImplementationGuide.definition.parameter.modifierExtension\":\"Extension\",\"ImplementationGuide.definition.parameter.value\":\"string\",\"ImplementationGuide.definition.resource\":\"BackboneElement\",\"ImplementationGuide.definition.resource.description\":\"string\",\"ImplementationGuide.definition.resource.exampleBoolean\":\"boolean\",\"ImplementationGuide.definition.resource.exampleCanonical\":\"canonical\",\"ImplementationGuide.definition.resource.extension\":\"Extension\",\"ImplementationGuide.definition.resource.fhirVersion\":\"code\",\"ImplementationGuide.definition.resource.groupingId\":\"id\",\"ImplementationGuide.definition.resource.id\":\"System.String\",\"ImplementationGuide.definition.resource.modifierExtension\":\"Extension\",\"ImplementationGuide.definition.resource.name\":\"string\",\"ImplementationGuide.definition.resource.reference\":\"Reference\",\"ImplementationGuide.definition.template\":\"BackboneElement\",\"ImplementationGuide.definition.template.code\":\"code\",\"ImplementationGuide.definition.template.extension\":\"Extension\",\"ImplementationGuide.definition.template.id\":\"System.String\",\"ImplementationGuide.definition.template.modifierExtension\":\"Extension\",\"ImplementationGuide.definition.template.scope\":\"string\",\"ImplementationGuide.definition.template.source\":\"string\",\"ImplementationGuide.dependsOn\":\"BackboneElement\",\"ImplementationGuide.dependsOn.extension\":\"Extension\",\"ImplementationGuide.dependsOn.id\":\"System.String\",\"ImplementationGuide.dependsOn.modifierExtension\":\"Extension\",\"ImplementationGuide.dependsOn.packageId\":\"id\",\"ImplementationGuide.dependsOn.uri\":\"canonical\",\"ImplementationGuide.dependsOn.version\":\"string\",\"ImplementationGuide.description\":\"markdown\",\"ImplementationGuide.experimental\":\"boolean\",\"ImplementationGuide.extension\":\"Extension\",\"ImplementationGuide.fhirVersion\":\"code\",\"ImplementationGuide.global\":\"BackboneElement\",\"ImplementationGuide.global.extension\":\"Extension\",\"ImplementationGuide.global.id\":\"System.String\",\"ImplementationGuide.global.modifierExtension\":\"Extension\",\"ImplementationGuide.global.profile\":\"canonical\",\"ImplementationGuide.global.type\":\"code\",\"ImplementationGuide.id\":\"System.String\",\"ImplementationGuide.implicitRules\":\"uri\",\"ImplementationGuide.jurisdiction\":\"CodeableConcept\",\"ImplementationGuide.language\":\"code\",\"ImplementationGuide.license\":\"code\",\"ImplementationGuide.manifest\":\"BackboneElement\",\"ImplementationGuide.manifest.extension\":\"Extension\",\"ImplementationGuide.manifest.id\":\"System.String\",\"ImplementationGuide.manifest.image\":\"string\",\"ImplementationGuide.manifest.modifierExtension\":\"Extension\",\"ImplementationGuide.manifest.other\":\"string\",\"ImplementationGuide.manifest.page\":\"BackboneElement\",\"ImplementationGuide.manifest.page.anchor\":\"string\",\"ImplementationGuide.manifest.page.extension\":\"Extension\",\"ImplementationGuide.manifest.page.id\":\"System.String\",\"ImplementationGuide.manifest.page.modifierExtension\":\"Extension\",\"ImplementationGuide.manifest.page.name\":\"string\",\"ImplementationGuide.manifest.page.title\":\"string\",\"ImplementationGuide.manifest.rendering\":\"url\",\"ImplementationGuide.manifest.resource\":\"BackboneElement\",\"ImplementationGuide.manifest.resource.exampleBoolean\":\"boolean\",\"ImplementationGuide.manifest.resource.exampleCanonical\":\"canonical\",\"ImplementationGuide.manifest.resource.extension\":\"Extension\",\"ImplementationGuide.manifest.resource.id\":\"System.String\",\"ImplementationGuide.manifest.resource.modifierExtension\":\"Extension\",\"ImplementationGuide.manifest.resource.reference\":\"Reference\",\"ImplementationGuide.manifest.resource.relativePath\":\"url\",\"ImplementationGuide.meta\":\"Meta\",\"ImplementationGuide.modifierExtension\":\"Extension\",\"ImplementationGuide.name\":\"string\",\"ImplementationGuide.packageId\":\"id\",\"ImplementationGuide.publisher\":\"string\",\"ImplementationGuide.status\":\"code\",\"ImplementationGuide.text\":\"Narrative\",\"ImplementationGuide.title\":\"string\",\"ImplementationGuide.url\":\"uri\",\"ImplementationGuide.useContext\":\"UsageContext\",\"ImplementationGuide.version\":\"string\",\"InsurancePlan.administeredBy\":\"Reference\",\"InsurancePlan.alias\":\"string\",\"InsurancePlan.contact\":\"BackboneElement\",\"InsurancePlan.contact.address\":\"Address\",\"InsurancePlan.contact.extension\":\"Extension\",\"InsurancePlan.contact.id\":\"System.String\",\"InsurancePlan.contact.modifierExtension\":\"Extension\",\"InsurancePlan.contact.name\":\"HumanName\",\"InsurancePlan.contact.purpose\":\"CodeableConcept\",\"InsurancePlan.contact.telecom\":\"ContactPoint\",\"InsurancePlan.contained\":\"Resource\",\"InsurancePlan.coverage\":\"BackboneElement\",\"InsurancePlan.coverage.benefit\":\"BackboneElement\",\"InsurancePlan.coverage.benefit.extension\":\"Extension\",\"InsurancePlan.coverage.benefit.id\":\"System.String\",\"InsurancePlan.coverage.benefit.limit\":\"BackboneElement\",\"InsurancePlan.coverage.benefit.limit.code\":\"CodeableConcept\",\"InsurancePlan.coverage.benefit.limit.extension\":\"Extension\",\"InsurancePlan.coverage.benefit.limit.id\":\"System.String\",\"InsurancePlan.coverage.benefit.limit.modifierExtension\":\"Extension\",\"InsurancePlan.coverage.benefit.limit.value\":\"Quantity\",\"InsurancePlan.coverage.benefit.modifierExtension\":\"Extension\",\"InsurancePlan.coverage.benefit.requirement\":\"string\",\"InsurancePlan.coverage.benefit.type\":\"CodeableConcept\",\"InsurancePlan.coverage.extension\":\"Extension\",\"InsurancePlan.coverage.id\":\"System.String\",\"InsurancePlan.coverage.modifierExtension\":\"Extension\",\"InsurancePlan.coverage.network\":\"Reference\",\"InsurancePlan.coverage.type\":\"CodeableConcept\",\"InsurancePlan.coverageArea\":\"Reference\",\"InsurancePlan.endpoint\":\"Reference\",\"InsurancePlan.extension\":\"Extension\",\"InsurancePlan.id\":\"System.String\",\"InsurancePlan.identifier\":\"Identifier\",\"InsurancePlan.implicitRules\":\"uri\",\"InsurancePlan.language\":\"code\",\"InsurancePlan.meta\":\"Meta\",\"InsurancePlan.modifierExtension\":\"Extension\",\"InsurancePlan.name\":\"string\",\"InsurancePlan.network\":\"Reference\",\"InsurancePlan.ownedBy\":\"Reference\",\"InsurancePlan.period\":\"Period\",\"InsurancePlan.plan\":\"BackboneElement\",\"InsurancePlan.plan.coverageArea\":\"Reference\",\"InsurancePlan.plan.extension\":\"Extension\",\"InsurancePlan.plan.generalCost\":\"BackboneElement\",\"InsurancePlan.plan.generalCost.comment\":\"string\",\"InsurancePlan.plan.generalCost.cost\":\"Money\",\"InsurancePlan.plan.generalCost.extension\":\"Extension\",\"InsurancePlan.plan.generalCost.groupSize\":\"positiveInt\",\"InsurancePlan.plan.generalCost.id\":\"System.String\",\"InsurancePlan.plan.generalCost.modifierExtension\":\"Extension\",\"InsurancePlan.plan.generalCost.type\":\"CodeableConcept\",\"InsurancePlan.plan.id\":\"System.String\",\"InsurancePlan.plan.identifier\":\"Identifier\",\"InsurancePlan.plan.modifierExtension\":\"Extension\",\"InsurancePlan.plan.network\":\"Reference\",\"InsurancePlan.plan.specificCost\":\"BackboneElement\",\"InsurancePlan.plan.specificCost.benefit\":\"BackboneElement\",\"InsurancePlan.plan.specificCost.benefit.cost\":\"BackboneElement\",\"InsurancePlan.plan.specificCost.benefit.cost.applicability\":\"CodeableConcept\",\"InsurancePlan.plan.specificCost.benefit.cost.extension\":\"Extension\",\"InsurancePlan.plan.specificCost.benefit.cost.id\":\"System.String\",\"InsurancePlan.plan.specificCost.benefit.cost.modifierExtension\":\"Extension\",\"InsurancePlan.plan.specificCost.benefit.cost.qualifiers\":\"CodeableConcept\",\"InsurancePlan.plan.specificCost.benefit.cost.type\":\"CodeableConcept\",\"InsurancePlan.plan.specificCost.benefit.cost.value\":\"Quantity\",\"InsurancePlan.plan.specificCost.benefit.extension\":\"Extension\",\"InsurancePlan.plan.specificCost.benefit.id\":\"System.String\",\"InsurancePlan.plan.specificCost.benefit.modifierExtension\":\"Extension\",\"InsurancePlan.plan.specificCost.benefit.type\":\"CodeableConcept\",\"InsurancePlan.plan.specificCost.category\":\"CodeableConcept\",\"InsurancePlan.plan.specificCost.extension\":\"Extension\",\"InsurancePlan.plan.specificCost.id\":\"System.String\",\"InsurancePlan.plan.specificCost.modifierExtension\":\"Extension\",\"InsurancePlan.plan.type\":\"CodeableConcept\",\"InsurancePlan.status\":\"code\",\"InsurancePlan.text\":\"Narrative\",\"InsurancePlan.type\":\"CodeableConcept\",\"Invoice.account\":\"Reference\",\"Invoice.cancelledReason\":\"string\",\"Invoice.contained\":\"Resource\",\"Invoice.date\":\"dateTime\",\"Invoice.extension\":\"Extension\",\"Invoice.id\":\"System.String\",\"Invoice.identifier\":\"Identifier\",\"Invoice.implicitRules\":\"uri\",\"Invoice.issuer\":\"Reference\",\"Invoice.language\":\"code\",\"Invoice.lineItem\":\"BackboneElement\",\"Invoice.lineItem.chargeItemCodeableConcept\":\"CodeableConcept\",\"Invoice.lineItem.chargeItemReference\":\"Reference\",\"Invoice.lineItem.extension\":\"Extension\",\"Invoice.lineItem.id\":\"System.String\",\"Invoice.lineItem.modifierExtension\":\"Extension\",\"Invoice.lineItem.priceComponent\":\"BackboneElement\",\"Invoice.lineItem.priceComponent.amount\":\"Money\",\"Invoice.lineItem.priceComponent.code\":\"CodeableConcept\",\"Invoice.lineItem.priceComponent.extension\":\"Extension\",\"Invoice.lineItem.priceComponent.factor\":\"decimal\",\"Invoice.lineItem.priceComponent.id\":\"System.String\",\"Invoice.lineItem.priceComponent.modifierExtension\":\"Extension\",\"Invoice.lineItem.priceComponent.type\":\"code\",\"Invoice.lineItem.sequence\":\"positiveInt\",\"Invoice.meta\":\"Meta\",\"Invoice.modifierExtension\":\"Extension\",\"Invoice.note\":\"Annotation\",\"Invoice.participant\":\"BackboneElement\",\"Invoice.participant.actor\":\"Reference\",\"Invoice.participant.extension\":\"Extension\",\"Invoice.participant.id\":\"System.String\",\"Invoice.participant.modifierExtension\":\"Extension\",\"Invoice.participant.role\":\"CodeableConcept\",\"Invoice.paymentTerms\":\"markdown\",\"Invoice.recipient\":\"Reference\",\"Invoice.status\":\"code\",\"Invoice.subject\":\"Reference\",\"Invoice.text\":\"Narrative\",\"Invoice.totalGross\":\"Money\",\"Invoice.totalNet\":\"Money\",\"Invoice.type\":\"CodeableConcept\",\"Library.approvalDate\":\"date\",\"Library.author\":\"ContactDetail\",\"Library.contact\":\"ContactDetail\",\"Library.contained\":\"Resource\",\"Library.content\":\"Attachment\",\"Library.copyright\":\"markdown\",\"Library.dataRequirement\":\"DataRequirement\",\"Library.date\":\"dateTime\",\"Library.description\":\"markdown\",\"Library.editor\":\"ContactDetail\",\"Library.effectivePeriod\":\"Period\",\"Library.endorser\":\"ContactDetail\",\"Library.experimental\":\"boolean\",\"Library.extension\":\"Extension\",\"Library.id\":\"System.String\",\"Library.identifier\":\"Identifier\",\"Library.implicitRules\":\"uri\",\"Library.jurisdiction\":\"CodeableConcept\",\"Library.language\":\"code\",\"Library.lastReviewDate\":\"date\",\"Library.meta\":\"Meta\",\"Library.modifierExtension\":\"Extension\",\"Library.name\":\"string\",\"Library.parameter\":\"ParameterDefinition\",\"Library.publisher\":\"string\",\"Library.purpose\":\"markdown\",\"Library.relatedArtifact\":\"RelatedArtifact\",\"Library.reviewer\":\"ContactDetail\",\"Library.status\":\"code\",\"Library.subjectCodeableConcept\":\"CodeableConcept\",\"Library.subjectReference\":\"Reference\",\"Library.subtitle\":\"string\",\"Library.text\":\"Narrative\",\"Library.title\":\"string\",\"Library.topic\":\"CodeableConcept\",\"Library.type\":\"CodeableConcept\",\"Library.url\":\"uri\",\"Library.usage\":\"string\",\"Library.useContext\":\"UsageContext\",\"Library.version\":\"string\",\"Linkage.active\":\"boolean\",\"Linkage.author\":\"Reference\",\"Linkage.contained\":\"Resource\",\"Linkage.extension\":\"Extension\",\"Linkage.id\":\"System.String\",\"Linkage.implicitRules\":\"uri\",\"Linkage.item\":\"BackboneElement\",\"Linkage.item.extension\":\"Extension\",\"Linkage.item.id\":\"System.String\",\"Linkage.item.modifierExtension\":\"Extension\",\"Linkage.item.resource\":\"Reference\",\"Linkage.item.type\":\"code\",\"Linkage.language\":\"code\",\"Linkage.meta\":\"Meta\",\"Linkage.modifierExtension\":\"Extension\",\"Linkage.text\":\"Narrative\",\"List.code\":\"CodeableConcept\",\"List.contained\":\"Resource\",\"List.date\":\"dateTime\",\"List.emptyReason\":\"CodeableConcept\",\"List.encounter\":\"Reference\",\"List.entry\":\"BackboneElement\",\"List.entry.date\":\"dateTime\",\"List.entry.deleted\":\"boolean\",\"List.entry.extension\":\"Extension\",\"List.entry.flag\":\"CodeableConcept\",\"List.entry.id\":\"System.String\",\"List.entry.item\":\"Reference\",\"List.entry.modifierExtension\":\"Extension\",\"List.extension\":\"Extension\",\"List.id\":\"System.String\",\"List.identifier\":\"Identifier\",\"List.implicitRules\":\"uri\",\"List.language\":\"code\",\"List.meta\":\"Meta\",\"List.mode\":\"code\",\"List.modifierExtension\":\"Extension\",\"List.note\":\"Annotation\",\"List.orderedBy\":\"CodeableConcept\",\"List.source\":\"Reference\",\"List.status\":\"code\",\"List.subject\":\"Reference\",\"List.text\":\"Narrative\",\"List.title\":\"string\",\"Location.address\":\"Address\",\"Location.alias\":\"string\",\"Location.availabilityExceptions\":\"string\",\"Location.contained\":\"Resource\",\"Location.description\":\"string\",\"Location.endpoint\":\"Reference\",\"Location.extension\":\"Extension\",\"Location.hoursOfOperation\":\"BackboneElement\",\"Location.hoursOfOperation.allDay\":\"boolean\",\"Location.hoursOfOperation.closingTime\":\"time\",\"Location.hoursOfOperation.daysOfWeek\":\"code\",\"Location.hoursOfOperation.extension\":\"Extension\",\"Location.hoursOfOperation.id\":\"System.String\",\"Location.hoursOfOperation.modifierExtension\":\"Extension\",\"Location.hoursOfOperation.openingTime\":\"time\",\"Location.id\":\"System.String\",\"Location.identifier\":\"Identifier\",\"Location.implicitRules\":\"uri\",\"Location.language\":\"code\",\"Location.managingOrganization\":\"Reference\",\"Location.meta\":\"Meta\",\"Location.mode\":\"code\",\"Location.modifierExtension\":\"Extension\",\"Location.name\":\"string\",\"Location.operationalStatus\":\"Coding\",\"Location.partOf\":\"Reference\",\"Location.physicalType\":\"CodeableConcept\",\"Location.position\":\"BackboneElement\",\"Location.position.altitude\":\"decimal\",\"Location.position.extension\":\"Extension\",\"Location.position.id\":\"System.String\",\"Location.position.latitude\":\"decimal\",\"Location.position.longitude\":\"decimal\",\"Location.position.modifierExtension\":\"Extension\",\"Location.status\":\"code\",\"Location.telecom\":\"ContactPoint\",\"Location.text\":\"Narrative\",\"Location.type\":\"CodeableConcept\",\"MarketingStatus.country\":\"CodeableConcept\",\"MarketingStatus.dateRange\":\"Period\",\"MarketingStatus.extension\":\"Extension\",\"MarketingStatus.id\":\"System.String\",\"MarketingStatus.jurisdiction\":\"CodeableConcept\",\"MarketingStatus.modifierExtension\":\"Extension\",\"MarketingStatus.restoreDate\":\"dateTime\",\"MarketingStatus.status\":\"CodeableConcept\",\"Measure.approvalDate\":\"date\",\"Measure.author\":\"ContactDetail\",\"Measure.clinicalRecommendationStatement\":\"markdown\",\"Measure.compositeScoring\":\"CodeableConcept\",\"Measure.contact\":\"ContactDetail\",\"Measure.contained\":\"Resource\",\"Measure.copyright\":\"markdown\",\"Measure.date\":\"dateTime\",\"Measure.definition\":\"markdown\",\"Measure.description\":\"markdown\",\"Measure.disclaimer\":\"markdown\",\"Measure.editor\":\"ContactDetail\",\"Measure.effectivePeriod\":\"Period\",\"Measure.endorser\":\"ContactDetail\",\"Measure.experimental\":\"boolean\",\"Measure.extension\":\"Extension\",\"Measure.group\":\"BackboneElement\",\"Measure.group.code\":\"CodeableConcept\",\"Measure.group.description\":\"string\",\"Measure.group.extension\":\"Extension\",\"Measure.group.id\":\"System.String\",\"Measure.group.modifierExtension\":\"Extension\",\"Measure.group.population\":\"BackboneElement\",\"Measure.group.population.code\":\"CodeableConcept\",\"Measure.group.population.criteria\":\"Expression\",\"Measure.group.population.description\":\"string\",\"Measure.group.population.extension\":\"Extension\",\"Measure.group.population.id\":\"System.String\",\"Measure.group.population.modifierExtension\":\"Extension\",\"Measure.group.stratifier\":\"BackboneElement\",\"Measure.group.stratifier.code\":\"CodeableConcept\",\"Measure.group.stratifier.component\":\"BackboneElement\",\"Measure.group.stratifier.component.code\":\"CodeableConcept\",\"Measure.group.stratifier.component.criteria\":\"Expression\",\"Measure.group.stratifier.component.description\":\"string\",\"Measure.group.stratifier.component.extension\":\"Extension\",\"Measure.group.stratifier.component.id\":\"System.String\",\"Measure.group.stratifier.component.modifierExtension\":\"Extension\",\"Measure.group.stratifier.criteria\":\"Expression\",\"Measure.group.stratifier.description\":\"string\",\"Measure.group.stratifier.extension\":\"Extension\",\"Measure.group.stratifier.id\":\"System.String\",\"Measure.group.stratifier.modifierExtension\":\"Extension\",\"Measure.guidance\":\"markdown\",\"Measure.id\":\"System.String\",\"Measure.identifier\":\"Identifier\",\"Measure.implicitRules\":\"uri\",\"Measure.improvementNotation\":\"CodeableConcept\",\"Measure.jurisdiction\":\"CodeableConcept\",\"Measure.language\":\"code\",\"Measure.lastReviewDate\":\"date\",\"Measure.library\":\"canonical\",\"Measure.meta\":\"Meta\",\"Measure.modifierExtension\":\"Extension\",\"Measure.name\":\"string\",\"Measure.publisher\":\"string\",\"Measure.purpose\":\"markdown\",\"Measure.rateAggregation\":\"string\",\"Measure.rationale\":\"markdown\",\"Measure.relatedArtifact\":\"RelatedArtifact\",\"Measure.reviewer\":\"ContactDetail\",\"Measure.riskAdjustment\":\"string\",\"Measure.scoring\":\"CodeableConcept\",\"Measure.status\":\"code\",\"Measure.subjectCodeableConcept\":\"CodeableConcept\",\"Measure.subjectReference\":\"Reference\",\"Measure.subtitle\":\"string\",\"Measure.supplementalData\":\"BackboneElement\",\"Measure.supplementalData.code\":\"CodeableConcept\",\"Measure.supplementalData.criteria\":\"Expression\",\"Measure.supplementalData.description\":\"string\",\"Measure.supplementalData.extension\":\"Extension\",\"Measure.supplementalData.id\":\"System.String\",\"Measure.supplementalData.modifierExtension\":\"Extension\",\"Measure.supplementalData.usage\":\"CodeableConcept\",\"Measure.text\":\"Narrative\",\"Measure.title\":\"string\",\"Measure.topic\":\"CodeableConcept\",\"Measure.type\":\"CodeableConcept\",\"Measure.url\":\"uri\",\"Measure.usage\":\"string\",\"Measure.useContext\":\"UsageContext\",\"Measure.version\":\"string\",\"MeasureReport.contained\":\"Resource\",\"MeasureReport.date\":\"dateTime\",\"MeasureReport.evaluatedResource\":\"Reference\",\"MeasureReport.extension\":\"Extension\",\"MeasureReport.group\":\"BackboneElement\",\"MeasureReport.group.code\":\"CodeableConcept\",\"MeasureReport.group.extension\":\"Extension\",\"MeasureReport.group.id\":\"System.String\",\"MeasureReport.group.measureScore\":\"Quantity\",\"MeasureReport.group.modifierExtension\":\"Extension\",\"MeasureReport.group.population\":\"BackboneElement\",\"MeasureReport.group.population.code\":\"CodeableConcept\",\"MeasureReport.group.population.count\":\"integer\",\"MeasureReport.group.population.extension\":\"Extension\",\"MeasureReport.group.population.id\":\"System.String\",\"MeasureReport.group.population.modifierExtension\":\"Extension\",\"MeasureReport.group.population.subjectResults\":\"Reference\",\"MeasureReport.group.stratifier\":\"BackboneElement\",\"MeasureReport.group.stratifier.code\":\"CodeableConcept\",\"MeasureReport.group.stratifier.extension\":\"Extension\",\"MeasureReport.group.stratifier.id\":\"System.String\",\"MeasureReport.group.stratifier.modifierExtension\":\"Extension\",\"MeasureReport.group.stratifier.stratum\":\"BackboneElement\",\"MeasureReport.group.stratifier.stratum.component\":\"BackboneElement\",\"MeasureReport.group.stratifier.stratum.component.code\":\"CodeableConcept\",\"MeasureReport.group.stratifier.stratum.component.extension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.component.id\":\"System.String\",\"MeasureReport.group.stratifier.stratum.component.modifierExtension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.component.value\":\"CodeableConcept\",\"MeasureReport.group.stratifier.stratum.extension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.id\":\"System.String\",\"MeasureReport.group.stratifier.stratum.measureScore\":\"Quantity\",\"MeasureReport.group.stratifier.stratum.modifierExtension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.population\":\"BackboneElement\",\"MeasureReport.group.stratifier.stratum.population.code\":\"CodeableConcept\",\"MeasureReport.group.stratifier.stratum.population.count\":\"integer\",\"MeasureReport.group.stratifier.stratum.population.extension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.population.id\":\"System.String\",\"MeasureReport.group.stratifier.stratum.population.modifierExtension\":\"Extension\",\"MeasureReport.group.stratifier.stratum.population.subjectResults\":\"Reference\",\"MeasureReport.group.stratifier.stratum.value\":\"CodeableConcept\",\"MeasureReport.id\":\"System.String\",\"MeasureReport.identifier\":\"Identifier\",\"MeasureReport.implicitRules\":\"uri\",\"MeasureReport.improvementNotation\":\"CodeableConcept\",\"MeasureReport.language\":\"code\",\"MeasureReport.measure\":\"canonical\",\"MeasureReport.meta\":\"Meta\",\"MeasureReport.modifierExtension\":\"Extension\",\"MeasureReport.period\":\"Period\",\"MeasureReport.reporter\":\"Reference\",\"MeasureReport.status\":\"code\",\"MeasureReport.subject\":\"Reference\",\"MeasureReport.text\":\"Narrative\",\"MeasureReport.type\":\"code\",\"Media.basedOn\":\"Reference\",\"Media.bodySite\":\"CodeableConcept\",\"Media.contained\":\"Resource\",\"Media.content\":\"Attachment\",\"Media.createdDateTime\":\"dateTime\",\"Media.createdPeriod\":\"Period\",\"Media.device\":\"Reference\",\"Media.deviceName\":\"string\",\"Media.duration\":\"decimal\",\"Media.encounter\":\"Reference\",\"Media.extension\":\"Extension\",\"Media.frames\":\"positiveInt\",\"Media.height\":\"positiveInt\",\"Media.id\":\"System.String\",\"Media.identifier\":\"Identifier\",\"Media.implicitRules\":\"uri\",\"Media.issued\":\"instant\",\"Media.language\":\"code\",\"Media.meta\":\"Meta\",\"Media.modality\":\"CodeableConcept\",\"Media.modifierExtension\":\"Extension\",\"Media.note\":\"Annotation\",\"Media.operator\":\"Reference\",\"Media.partOf\":\"Reference\",\"Media.reasonCode\":\"CodeableConcept\",\"Media.status\":\"code\",\"Media.subject\":\"Reference\",\"Media.text\":\"Narrative\",\"Media.type\":\"CodeableConcept\",\"Media.view\":\"CodeableConcept\",\"Media.width\":\"positiveInt\",\"Medication.amount\":\"Ratio\",\"Medication.batch\":\"BackboneElement\",\"Medication.batch.expirationDate\":\"dateTime\",\"Medication.batch.extension\":\"Extension\",\"Medication.batch.id\":\"System.String\",\"Medication.batch.lotNumber\":\"string\",\"Medication.batch.modifierExtension\":\"Extension\",\"Medication.code\":\"CodeableConcept\",\"Medication.contained\":\"Resource\",\"Medication.extension\":\"Extension\",\"Medication.form\":\"CodeableConcept\",\"Medication.id\":\"System.String\",\"Medication.identifier\":\"Identifier\",\"Medication.implicitRules\":\"uri\",\"Medication.ingredient\":\"BackboneElement\",\"Medication.ingredient.extension\":\"Extension\",\"Medication.ingredient.id\":\"System.String\",\"Medication.ingredient.isActive\":\"boolean\",\"Medication.ingredient.itemCodeableConcept\":\"CodeableConcept\",\"Medication.ingredient.itemReference\":\"Reference\",\"Medication.ingredient.modifierExtension\":\"Extension\",\"Medication.ingredient.strength\":\"Ratio\",\"Medication.language\":\"code\",\"Medication.manufacturer\":\"Reference\",\"Medication.meta\":\"Meta\",\"Medication.modifierExtension\":\"Extension\",\"Medication.status\":\"code\",\"Medication.text\":\"Narrative\",\"MedicationAdministration.category\":\"CodeableConcept\",\"MedicationAdministration.contained\":\"Resource\",\"MedicationAdministration.context\":\"Reference\",\"MedicationAdministration.device\":\"Reference\",\"MedicationAdministration.dosage\":\"BackboneElement\",\"MedicationAdministration.dosage.dose\":\"Quantity\",\"MedicationAdministration.dosage.extension\":\"Extension\",\"MedicationAdministration.dosage.id\":\"System.String\",\"MedicationAdministration.dosage.method\":\"CodeableConcept\",\"MedicationAdministration.dosage.modifierExtension\":\"Extension\",\"MedicationAdministration.dosage.rateQuantity\":\"Quantity\",\"MedicationAdministration.dosage.rateRatio\":\"Ratio\",\"MedicationAdministration.dosage.route\":\"CodeableConcept\",\"MedicationAdministration.dosage.site\":\"CodeableConcept\",\"MedicationAdministration.dosage.text\":\"string\",\"MedicationAdministration.effectiveDateTime\":\"dateTime\",\"MedicationAdministration.effectivePeriod\":\"Period\",\"MedicationAdministration.eventHistory\":\"Reference\",\"MedicationAdministration.extension\":\"Extension\",\"MedicationAdministration.id\":\"System.String\",\"MedicationAdministration.identifier\":\"Identifier\",\"MedicationAdministration.implicitRules\":\"uri\",\"MedicationAdministration.instantiates\":\"uri\",\"MedicationAdministration.language\":\"code\",\"MedicationAdministration.medicationCodeableConcept\":\"CodeableConcept\",\"MedicationAdministration.medicationReference\":\"Reference\",\"MedicationAdministration.meta\":\"Meta\",\"MedicationAdministration.modifierExtension\":\"Extension\",\"MedicationAdministration.note\":\"Annotation\",\"MedicationAdministration.partOf\":\"Reference\",\"MedicationAdministration.performer\":\"BackboneElement\",\"MedicationAdministration.performer.actor\":\"Reference\",\"MedicationAdministration.performer.extension\":\"Extension\",\"MedicationAdministration.performer.function\":\"CodeableConcept\",\"MedicationAdministration.performer.id\":\"System.String\",\"MedicationAdministration.performer.modifierExtension\":\"Extension\",\"MedicationAdministration.reasonCode\":\"CodeableConcept\",\"MedicationAdministration.reasonReference\":\"Reference\",\"MedicationAdministration.request\":\"Reference\",\"MedicationAdministration.status\":\"code\",\"MedicationAdministration.statusReason\":\"CodeableConcept\",\"MedicationAdministration.subject\":\"Reference\",\"MedicationAdministration.supportingInformation\":\"Reference\",\"MedicationAdministration.text\":\"Narrative\",\"MedicationDispense.authorizingPrescription\":\"Reference\",\"MedicationDispense.category\":\"CodeableConcept\",\"MedicationDispense.contained\":\"Resource\",\"MedicationDispense.context\":\"Reference\",\"MedicationDispense.daysSupply\":\"Quantity\",\"MedicationDispense.destination\":\"Reference\",\"MedicationDispense.detectedIssue\":\"Reference\",\"MedicationDispense.dosageInstruction\":\"Dosage\",\"MedicationDispense.eventHistory\":\"Reference\",\"MedicationDispense.extension\":\"Extension\",\"MedicationDispense.id\":\"System.String\",\"MedicationDispense.identifier\":\"Identifier\",\"MedicationDispense.implicitRules\":\"uri\",\"MedicationDispense.language\":\"code\",\"MedicationDispense.location\":\"Reference\",\"MedicationDispense.medicationCodeableConcept\":\"CodeableConcept\",\"MedicationDispense.medicationReference\":\"Reference\",\"MedicationDispense.meta\":\"Meta\",\"MedicationDispense.modifierExtension\":\"Extension\",\"MedicationDispense.note\":\"Annotation\",\"MedicationDispense.partOf\":\"Reference\",\"MedicationDispense.performer\":\"BackboneElement\",\"MedicationDispense.performer.actor\":\"Reference\",\"MedicationDispense.performer.extension\":\"Extension\",\"MedicationDispense.performer.function\":\"CodeableConcept\",\"MedicationDispense.performer.id\":\"System.String\",\"MedicationDispense.performer.modifierExtension\":\"Extension\",\"MedicationDispense.quantity\":\"Quantity\",\"MedicationDispense.receiver\":\"Reference\",\"MedicationDispense.status\":\"code\",\"MedicationDispense.statusReasonCodeableConcept\":\"CodeableConcept\",\"MedicationDispense.statusReasonReference\":\"Reference\",\"MedicationDispense.subject\":\"Reference\",\"MedicationDispense.substitution\":\"BackboneElement\",\"MedicationDispense.substitution.extension\":\"Extension\",\"MedicationDispense.substitution.id\":\"System.String\",\"MedicationDispense.substitution.modifierExtension\":\"Extension\",\"MedicationDispense.substitution.reason\":\"CodeableConcept\",\"MedicationDispense.substitution.responsibleParty\":\"Reference\",\"MedicationDispense.substitution.type\":\"CodeableConcept\",\"MedicationDispense.substitution.wasSubstituted\":\"boolean\",\"MedicationDispense.supportingInformation\":\"Reference\",\"MedicationDispense.text\":\"Narrative\",\"MedicationDispense.type\":\"CodeableConcept\",\"MedicationDispense.whenHandedOver\":\"dateTime\",\"MedicationDispense.whenPrepared\":\"dateTime\",\"MedicationKnowledge.administrationGuidelines\":\"BackboneElement\",\"MedicationKnowledge.administrationGuidelines.dosage\":\"BackboneElement\",\"MedicationKnowledge.administrationGuidelines.dosage.dosage\":\"Dosage\",\"MedicationKnowledge.administrationGuidelines.dosage.extension\":\"Extension\",\"MedicationKnowledge.administrationGuidelines.dosage.id\":\"System.String\",\"MedicationKnowledge.administrationGuidelines.dosage.modifierExtension\":\"Extension\",\"MedicationKnowledge.administrationGuidelines.dosage.type\":\"CodeableConcept\",\"MedicationKnowledge.administrationGuidelines.extension\":\"Extension\",\"MedicationKnowledge.administrationGuidelines.id\":\"System.String\",\"MedicationKnowledge.administrationGuidelines.indicationCodeableConcept\":\"CodeableConcept\",\"MedicationKnowledge.administrationGuidelines.indicationReference\":\"Reference\",\"MedicationKnowledge.administrationGuidelines.modifierExtension\":\"Extension\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics\":\"BackboneElement\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicCodeableConcept\":\"CodeableConcept\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.characteristicQuantity\":\"Quantity\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.extension\":\"Extension\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.id\":\"System.String\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.modifierExtension\":\"Extension\",\"MedicationKnowledge.administrationGuidelines.patientCharacteristics.value\":\"string\",\"MedicationKnowledge.amount\":\"Quantity\",\"MedicationKnowledge.associatedMedication\":\"Reference\",\"MedicationKnowledge.code\":\"CodeableConcept\",\"MedicationKnowledge.contained\":\"Resource\",\"MedicationKnowledge.contraindication\":\"Reference\",\"MedicationKnowledge.cost\":\"BackboneElement\",\"MedicationKnowledge.cost.cost\":\"Money\",\"MedicationKnowledge.cost.extension\":\"Extension\",\"MedicationKnowledge.cost.id\":\"System.String\",\"MedicationKnowledge.cost.modifierExtension\":\"Extension\",\"MedicationKnowledge.cost.source\":\"string\",\"MedicationKnowledge.cost.type\":\"CodeableConcept\",\"MedicationKnowledge.doseForm\":\"CodeableConcept\",\"MedicationKnowledge.drugCharacteristic\":\"BackboneElement\",\"MedicationKnowledge.drugCharacteristic.extension\":\"Extension\",\"MedicationKnowledge.drugCharacteristic.id\":\"System.String\",\"MedicationKnowledge.drugCharacteristic.modifierExtension\":\"Extension\",\"MedicationKnowledge.drugCharacteristic.type\":\"CodeableConcept\",\"MedicationKnowledge.drugCharacteristic.valueBase64Binary\":\"base64Binary\",\"MedicationKnowledge.drugCharacteristic.valueCodeableConcept\":\"CodeableConcept\",\"MedicationKnowledge.drugCharacteristic.valueQuantity\":\"Quantity\",\"MedicationKnowledge.drugCharacteristic.valueString\":\"string\",\"MedicationKnowledge.extension\":\"Extension\",\"MedicationKnowledge.id\":\"System.String\",\"MedicationKnowledge.implicitRules\":\"uri\",\"MedicationKnowledge.ingredient\":\"BackboneElement\",\"MedicationKnowledge.ingredient.extension\":\"Extension\",\"MedicationKnowledge.ingredient.id\":\"System.String\",\"MedicationKnowledge.ingredient.isActive\":\"boolean\",\"MedicationKnowledge.ingredient.itemCodeableConcept\":\"CodeableConcept\",\"MedicationKnowledge.ingredient.itemReference\":\"Reference\",\"MedicationKnowledge.ingredient.modifierExtension\":\"Extension\",\"MedicationKnowledge.ingredient.strength\":\"Ratio\",\"MedicationKnowledge.intendedRoute\":\"CodeableConcept\",\"MedicationKnowledge.kinetics\":\"BackboneElement\",\"MedicationKnowledge.kinetics.areaUnderCurve\":\"Quantity\",\"MedicationKnowledge.kinetics.extension\":\"Extension\",\"MedicationKnowledge.kinetics.halfLifePeriod\":\"Duration\",\"MedicationKnowledge.kinetics.id\":\"System.String\",\"MedicationKnowledge.kinetics.lethalDose50\":\"Quantity\",\"MedicationKnowledge.kinetics.modifierExtension\":\"Extension\",\"MedicationKnowledge.language\":\"code\",\"MedicationKnowledge.manufacturer\":\"Reference\",\"MedicationKnowledge.medicineClassification\":\"BackboneElement\",\"MedicationKnowledge.medicineClassification.classification\":\"CodeableConcept\",\"MedicationKnowledge.medicineClassification.extension\":\"Extension\",\"MedicationKnowledge.medicineClassification.id\":\"System.String\",\"MedicationKnowledge.medicineClassification.modifierExtension\":\"Extension\",\"MedicationKnowledge.medicineClassification.type\":\"CodeableConcept\",\"MedicationKnowledge.meta\":\"Meta\",\"MedicationKnowledge.modifierExtension\":\"Extension\",\"MedicationKnowledge.monitoringProgram\":\"BackboneElement\",\"MedicationKnowledge.monitoringProgram.extension\":\"Extension\",\"MedicationKnowledge.monitoringProgram.id\":\"System.String\",\"MedicationKnowledge.monitoringProgram.modifierExtension\":\"Extension\",\"MedicationKnowledge.monitoringProgram.name\":\"string\",\"MedicationKnowledge.monitoringProgram.type\":\"CodeableConcept\",\"MedicationKnowledge.monograph\":\"BackboneElement\",\"MedicationKnowledge.monograph.extension\":\"Extension\",\"MedicationKnowledge.monograph.id\":\"System.String\",\"MedicationKnowledge.monograph.modifierExtension\":\"Extension\",\"MedicationKnowledge.monograph.source\":\"Reference\",\"MedicationKnowledge.monograph.type\":\"CodeableConcept\",\"MedicationKnowledge.packaging\":\"BackboneElement\",\"MedicationKnowledge.packaging.extension\":\"Extension\",\"MedicationKnowledge.packaging.id\":\"System.String\",\"MedicationKnowledge.packaging.modifierExtension\":\"Extension\",\"MedicationKnowledge.packaging.quantity\":\"Quantity\",\"MedicationKnowledge.packaging.type\":\"CodeableConcept\",\"MedicationKnowledge.preparationInstruction\":\"markdown\",\"MedicationKnowledge.productType\":\"CodeableConcept\",\"MedicationKnowledge.regulatory\":\"BackboneElement\",\"MedicationKnowledge.regulatory.extension\":\"Extension\",\"MedicationKnowledge.regulatory.id\":\"System.String\",\"MedicationKnowledge.regulatory.maxDispense\":\"BackboneElement\",\"MedicationKnowledge.regulatory.maxDispense.extension\":\"Extension\",\"MedicationKnowledge.regulatory.maxDispense.id\":\"System.String\",\"MedicationKnowledge.regulatory.maxDispense.modifierExtension\":\"Extension\",\"MedicationKnowledge.regulatory.maxDispense.period\":\"Duration\",\"MedicationKnowledge.regulatory.maxDispense.quantity\":\"Quantity\",\"MedicationKnowledge.regulatory.modifierExtension\":\"Extension\",\"MedicationKnowledge.regulatory.regulatoryAuthority\":\"Reference\",\"MedicationKnowledge.regulatory.schedule\":\"BackboneElement\",\"MedicationKnowledge.regulatory.schedule.extension\":\"Extension\",\"MedicationKnowledge.regulatory.schedule.id\":\"System.String\",\"MedicationKnowledge.regulatory.schedule.modifierExtension\":\"Extension\",\"MedicationKnowledge.regulatory.schedule.schedule\":\"CodeableConcept\",\"MedicationKnowledge.regulatory.substitution\":\"BackboneElement\",\"MedicationKnowledge.regulatory.substitution.allowed\":\"boolean\",\"MedicationKnowledge.regulatory.substitution.extension\":\"Extension\",\"MedicationKnowledge.regulatory.substitution.id\":\"System.String\",\"MedicationKnowledge.regulatory.substitution.modifierExtension\":\"Extension\",\"MedicationKnowledge.regulatory.substitution.type\":\"CodeableConcept\",\"MedicationKnowledge.relatedMedicationKnowledge\":\"BackboneElement\",\"MedicationKnowledge.relatedMedicationKnowledge.extension\":\"Extension\",\"MedicationKnowledge.relatedMedicationKnowledge.id\":\"System.String\",\"MedicationKnowledge.relatedMedicationKnowledge.modifierExtension\":\"Extension\",\"MedicationKnowledge.relatedMedicationKnowledge.reference\":\"Reference\",\"MedicationKnowledge.relatedMedicationKnowledge.type\":\"CodeableConcept\",\"MedicationKnowledge.status\":\"code\",\"MedicationKnowledge.synonym\":\"string\",\"MedicationKnowledge.text\":\"Narrative\",\"MedicationRequest.authoredOn\":\"dateTime\",\"MedicationRequest.basedOn\":\"Reference\",\"MedicationRequest.category\":\"CodeableConcept\",\"MedicationRequest.contained\":\"Resource\",\"MedicationRequest.courseOfTherapyType\":\"CodeableConcept\",\"MedicationRequest.detectedIssue\":\"Reference\",\"MedicationRequest.dispenseRequest\":\"BackboneElement\",\"MedicationRequest.dispenseRequest.dispenseInterval\":\"Duration\",\"MedicationRequest.dispenseRequest.expectedSupplyDuration\":\"Duration\",\"MedicationRequest.dispenseRequest.extension\":\"Extension\",\"MedicationRequest.dispenseRequest.id\":\"System.String\",\"MedicationRequest.dispenseRequest.initialFill\":\"BackboneElement\",\"MedicationRequest.dispenseRequest.initialFill.duration\":\"Duration\",\"MedicationRequest.dispenseRequest.initialFill.extension\":\"Extension\",\"MedicationRequest.dispenseRequest.initialFill.id\":\"System.String\",\"MedicationRequest.dispenseRequest.initialFill.modifierExtension\":\"Extension\",\"MedicationRequest.dispenseRequest.initialFill.quantity\":\"Quantity\",\"MedicationRequest.dispenseRequest.modifierExtension\":\"Extension\",\"MedicationRequest.dispenseRequest.numberOfRepeatsAllowed\":\"unsignedInt\",\"MedicationRequest.dispenseRequest.performer\":\"Reference\",\"MedicationRequest.dispenseRequest.quantity\":\"Quantity\",\"MedicationRequest.dispenseRequest.validityPeriod\":\"Period\",\"MedicationRequest.doNotPerform\":\"boolean\",\"MedicationRequest.dosageInstruction\":\"Dosage\",\"MedicationRequest.encounter\":\"Reference\",\"MedicationRequest.eventHistory\":\"Reference\",\"MedicationRequest.extension\":\"Extension\",\"MedicationRequest.groupIdentifier\":\"Identifier\",\"MedicationRequest.id\":\"System.String\",\"MedicationRequest.identifier\":\"Identifier\",\"MedicationRequest.implicitRules\":\"uri\",\"MedicationRequest.instantiatesCanonical\":\"canonical\",\"MedicationRequest.instantiatesUri\":\"uri\",\"MedicationRequest.insurance\":\"Reference\",\"MedicationRequest.intent\":\"code\",\"MedicationRequest.language\":\"code\",\"MedicationRequest.medicationCodeableConcept\":\"CodeableConcept\",\"MedicationRequest.medicationReference\":\"Reference\",\"MedicationRequest.meta\":\"Meta\",\"MedicationRequest.modifierExtension\":\"Extension\",\"MedicationRequest.note\":\"Annotation\",\"MedicationRequest.performer\":\"Reference\",\"MedicationRequest.performerType\":\"CodeableConcept\",\"MedicationRequest.priorPrescription\":\"Reference\",\"MedicationRequest.priority\":\"code\",\"MedicationRequest.reasonCode\":\"CodeableConcept\",\"MedicationRequest.reasonReference\":\"Reference\",\"MedicationRequest.recorder\":\"Reference\",\"MedicationRequest.reportedBoolean\":\"boolean\",\"MedicationRequest.reportedReference\":\"Reference\",\"MedicationRequest.requester\":\"Reference\",\"MedicationRequest.status\":\"code\",\"MedicationRequest.statusReason\":\"CodeableConcept\",\"MedicationRequest.subject\":\"Reference\",\"MedicationRequest.substitution\":\"BackboneElement\",\"MedicationRequest.substitution.allowedBoolean\":\"boolean\",\"MedicationRequest.substitution.allowedCodeableConcept\":\"CodeableConcept\",\"MedicationRequest.substitution.extension\":\"Extension\",\"MedicationRequest.substitution.id\":\"System.String\",\"MedicationRequest.substitution.modifierExtension\":\"Extension\",\"MedicationRequest.substitution.reason\":\"CodeableConcept\",\"MedicationRequest.supportingInformation\":\"Reference\",\"MedicationRequest.text\":\"Narrative\",\"MedicationStatement.basedOn\":\"Reference\",\"MedicationStatement.category\":\"CodeableConcept\",\"MedicationStatement.contained\":\"Resource\",\"MedicationStatement.context\":\"Reference\",\"MedicationStatement.dateAsserted\":\"dateTime\",\"MedicationStatement.derivedFrom\":\"Reference\",\"MedicationStatement.dosage\":\"Dosage\",\"MedicationStatement.effectiveDateTime\":\"dateTime\",\"MedicationStatement.effectivePeriod\":\"Period\",\"MedicationStatement.extension\":\"Extension\",\"MedicationStatement.id\":\"System.String\",\"MedicationStatement.identifier\":\"Identifier\",\"MedicationStatement.implicitRules\":\"uri\",\"MedicationStatement.informationSource\":\"Reference\",\"MedicationStatement.language\":\"code\",\"MedicationStatement.medicationCodeableConcept\":\"CodeableConcept\",\"MedicationStatement.medicationReference\":\"Reference\",\"MedicationStatement.meta\":\"Meta\",\"MedicationStatement.modifierExtension\":\"Extension\",\"MedicationStatement.note\":\"Annotation\",\"MedicationStatement.partOf\":\"Reference\",\"MedicationStatement.reasonCode\":\"CodeableConcept\",\"MedicationStatement.reasonReference\":\"Reference\",\"MedicationStatement.status\":\"code\",\"MedicationStatement.statusReason\":\"CodeableConcept\",\"MedicationStatement.subject\":\"Reference\",\"MedicationStatement.text\":\"Narrative\",\"MedicinalProduct.additionalMonitoringIndicator\":\"CodeableConcept\",\"MedicinalProduct.attachedDocument\":\"Reference\",\"MedicinalProduct.clinicalTrial\":\"Reference\",\"MedicinalProduct.combinedPharmaceuticalDoseForm\":\"CodeableConcept\",\"MedicinalProduct.contact\":\"Reference\",\"MedicinalProduct.contained\":\"Resource\",\"MedicinalProduct.crossReference\":\"Identifier\",\"MedicinalProduct.domain\":\"Coding\",\"MedicinalProduct.extension\":\"Extension\",\"MedicinalProduct.id\":\"System.String\",\"MedicinalProduct.identifier\":\"Identifier\",\"MedicinalProduct.implicitRules\":\"uri\",\"MedicinalProduct.language\":\"code\",\"MedicinalProduct.legalStatusOfSupply\":\"CodeableConcept\",\"MedicinalProduct.manufacturingBusinessOperation\":\"BackboneElement\",\"MedicinalProduct.manufacturingBusinessOperation.authorisationReferenceNumber\":\"Identifier\",\"MedicinalProduct.manufacturingBusinessOperation.confidentialityIndicator\":\"CodeableConcept\",\"MedicinalProduct.manufacturingBusinessOperation.effectiveDate\":\"dateTime\",\"MedicinalProduct.manufacturingBusinessOperation.extension\":\"Extension\",\"MedicinalProduct.manufacturingBusinessOperation.id\":\"System.String\",\"MedicinalProduct.manufacturingBusinessOperation.manufacturer\":\"Reference\",\"MedicinalProduct.manufacturingBusinessOperation.modifierExtension\":\"Extension\",\"MedicinalProduct.manufacturingBusinessOperation.operationType\":\"CodeableConcept\",\"MedicinalProduct.manufacturingBusinessOperation.regulator\":\"Reference\",\"MedicinalProduct.marketingStatus\":\"MarketingStatus\",\"MedicinalProduct.masterFile\":\"Reference\",\"MedicinalProduct.meta\":\"Meta\",\"MedicinalProduct.modifierExtension\":\"Extension\",\"MedicinalProduct.name\":\"BackboneElement\",\"MedicinalProduct.name.countryLanguage\":\"BackboneElement\",\"MedicinalProduct.name.countryLanguage.country\":\"CodeableConcept\",\"MedicinalProduct.name.countryLanguage.extension\":\"Extension\",\"MedicinalProduct.name.countryLanguage.id\":\"System.String\",\"MedicinalProduct.name.countryLanguage.jurisdiction\":\"CodeableConcept\",\"MedicinalProduct.name.countryLanguage.language\":\"CodeableConcept\",\"MedicinalProduct.name.countryLanguage.modifierExtension\":\"Extension\",\"MedicinalProduct.name.extension\":\"Extension\",\"MedicinalProduct.name.id\":\"System.String\",\"MedicinalProduct.name.modifierExtension\":\"Extension\",\"MedicinalProduct.name.namePart\":\"BackboneElement\",\"MedicinalProduct.name.namePart.extension\":\"Extension\",\"MedicinalProduct.name.namePart.id\":\"System.String\",\"MedicinalProduct.name.namePart.modifierExtension\":\"Extension\",\"MedicinalProduct.name.namePart.part\":\"string\",\"MedicinalProduct.name.namePart.type\":\"Coding\",\"MedicinalProduct.name.productName\":\"string\",\"MedicinalProduct.packagedMedicinalProduct\":\"Reference\",\"MedicinalProduct.paediatricUseIndicator\":\"CodeableConcept\",\"MedicinalProduct.pharmaceuticalProduct\":\"Reference\",\"MedicinalProduct.productClassification\":\"CodeableConcept\",\"MedicinalProduct.specialDesignation\":\"BackboneElement\",\"MedicinalProduct.specialDesignation.date\":\"dateTime\",\"MedicinalProduct.specialDesignation.extension\":\"Extension\",\"MedicinalProduct.specialDesignation.id\":\"System.String\",\"MedicinalProduct.specialDesignation.identifier\":\"Identifier\",\"MedicinalProduct.specialDesignation.indicationCodeableConcept\":\"CodeableConcept\",\"MedicinalProduct.specialDesignation.indicationReference\":\"Reference\",\"MedicinalProduct.specialDesignation.intendedUse\":\"CodeableConcept\",\"MedicinalProduct.specialDesignation.modifierExtension\":\"Extension\",\"MedicinalProduct.specialDesignation.species\":\"CodeableConcept\",\"MedicinalProduct.specialDesignation.status\":\"CodeableConcept\",\"MedicinalProduct.specialDesignation.type\":\"CodeableConcept\",\"MedicinalProduct.specialMeasures\":\"string\",\"MedicinalProduct.text\":\"Narrative\",\"MedicinalProduct.type\":\"CodeableConcept\",\"MedicinalProductAuthorization.contained\":\"Resource\",\"MedicinalProductAuthorization.country\":\"CodeableConcept\",\"MedicinalProductAuthorization.dataExclusivityPeriod\":\"Period\",\"MedicinalProductAuthorization.dateOfFirstAuthorization\":\"dateTime\",\"MedicinalProductAuthorization.extension\":\"Extension\",\"MedicinalProductAuthorization.holder\":\"Reference\",\"MedicinalProductAuthorization.id\":\"System.String\",\"MedicinalProductAuthorization.identifier\":\"Identifier\",\"MedicinalProductAuthorization.implicitRules\":\"uri\",\"MedicinalProductAuthorization.internationalBirthDate\":\"dateTime\",\"MedicinalProductAuthorization.jurisdiction\":\"CodeableConcept\",\"MedicinalProductAuthorization.jurisdictionalAuthorization\":\"BackboneElement\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.country\":\"CodeableConcept\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.extension\":\"Extension\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.id\":\"System.String\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.identifier\":\"Identifier\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.jurisdiction\":\"CodeableConcept\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.legalStatusOfSupply\":\"CodeableConcept\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.modifierExtension\":\"Extension\",\"MedicinalProductAuthorization.jurisdictionalAuthorization.validityPeriod\":\"Period\",\"MedicinalProductAuthorization.language\":\"code\",\"MedicinalProductAuthorization.legalBasis\":\"CodeableConcept\",\"MedicinalProductAuthorization.meta\":\"Meta\",\"MedicinalProductAuthorization.modifierExtension\":\"Extension\",\"MedicinalProductAuthorization.procedure\":\"BackboneElement\",\"MedicinalProductAuthorization.procedure.dateDateTime\":\"dateTime\",\"MedicinalProductAuthorization.procedure.datePeriod\":\"Period\",\"MedicinalProductAuthorization.procedure.extension\":\"Extension\",\"MedicinalProductAuthorization.procedure.id\":\"System.String\",\"MedicinalProductAuthorization.procedure.identifier\":\"Identifier\",\"MedicinalProductAuthorization.procedure.modifierExtension\":\"Extension\",\"MedicinalProductAuthorization.procedure.type\":\"CodeableConcept\",\"MedicinalProductAuthorization.regulator\":\"Reference\",\"MedicinalProductAuthorization.restoreDate\":\"dateTime\",\"MedicinalProductAuthorization.status\":\"CodeableConcept\",\"MedicinalProductAuthorization.statusDate\":\"dateTime\",\"MedicinalProductAuthorization.subject\":\"Reference\",\"MedicinalProductAuthorization.text\":\"Narrative\",\"MedicinalProductAuthorization.validityPeriod\":\"Period\",\"MedicinalProductContraindication.comorbidity\":\"CodeableConcept\",\"MedicinalProductContraindication.contained\":\"Resource\",\"MedicinalProductContraindication.disease\":\"CodeableConcept\",\"MedicinalProductContraindication.diseaseStatus\":\"CodeableConcept\",\"MedicinalProductContraindication.extension\":\"Extension\",\"MedicinalProductContraindication.id\":\"System.String\",\"MedicinalProductContraindication.implicitRules\":\"uri\",\"MedicinalProductContraindication.language\":\"code\",\"MedicinalProductContraindication.meta\":\"Meta\",\"MedicinalProductContraindication.modifierExtension\":\"Extension\",\"MedicinalProductContraindication.otherTherapy\":\"BackboneElement\",\"MedicinalProductContraindication.otherTherapy.extension\":\"Extension\",\"MedicinalProductContraindication.otherTherapy.id\":\"System.String\",\"MedicinalProductContraindication.otherTherapy.medicationCodeableConcept\":\"CodeableConcept\",\"MedicinalProductContraindication.otherTherapy.medicationReference\":\"Reference\",\"MedicinalProductContraindication.otherTherapy.modifierExtension\":\"Extension\",\"MedicinalProductContraindication.otherTherapy.therapyRelationshipType\":\"CodeableConcept\",\"MedicinalProductContraindication.population\":\"Population\",\"MedicinalProductContraindication.subject\":\"Reference\",\"MedicinalProductContraindication.text\":\"Narrative\",\"MedicinalProductContraindication.therapeuticIndication\":\"Reference\",\"MedicinalProductIndication.comorbidity\":\"CodeableConcept\",\"MedicinalProductIndication.contained\":\"Resource\",\"MedicinalProductIndication.diseaseStatus\":\"CodeableConcept\",\"MedicinalProductIndication.diseaseSymptomProcedure\":\"CodeableConcept\",\"MedicinalProductIndication.duration\":\"Quantity\",\"MedicinalProductIndication.extension\":\"Extension\",\"MedicinalProductIndication.id\":\"System.String\",\"MedicinalProductIndication.implicitRules\":\"uri\",\"MedicinalProductIndication.intendedEffect\":\"CodeableConcept\",\"MedicinalProductIndication.language\":\"code\",\"MedicinalProductIndication.meta\":\"Meta\",\"MedicinalProductIndication.modifierExtension\":\"Extension\",\"MedicinalProductIndication.otherTherapy\":\"BackboneElement\",\"MedicinalProductIndication.otherTherapy.extension\":\"Extension\",\"MedicinalProductIndication.otherTherapy.id\":\"System.String\",\"MedicinalProductIndication.otherTherapy.medicationCodeableConcept\":\"CodeableConcept\",\"MedicinalProductIndication.otherTherapy.medicationReference\":\"Reference\",\"MedicinalProductIndication.otherTherapy.modifierExtension\":\"Extension\",\"MedicinalProductIndication.otherTherapy.therapyRelationshipType\":\"CodeableConcept\",\"MedicinalProductIndication.population\":\"Population\",\"MedicinalProductIndication.subject\":\"Reference\",\"MedicinalProductIndication.text\":\"Narrative\",\"MedicinalProductIndication.undesirableEffect\":\"Reference\",\"MedicinalProductIngredient.allergenicIndicator\":\"boolean\",\"MedicinalProductIngredient.contained\":\"Resource\",\"MedicinalProductIngredient.extension\":\"Extension\",\"MedicinalProductIngredient.id\":\"System.String\",\"MedicinalProductIngredient.identifier\":\"Identifier\",\"MedicinalProductIngredient.implicitRules\":\"uri\",\"MedicinalProductIngredient.language\":\"code\",\"MedicinalProductIngredient.manufacturer\":\"Reference\",\"MedicinalProductIngredient.meta\":\"Meta\",\"MedicinalProductIngredient.modifierExtension\":\"Extension\",\"MedicinalProductIngredient.role\":\"CodeableConcept\",\"MedicinalProductIngredient.specifiedSubstance\":\"BackboneElement\",\"MedicinalProductIngredient.specifiedSubstance.code\":\"CodeableConcept\",\"MedicinalProductIngredient.specifiedSubstance.confidentiality\":\"CodeableConcept\",\"MedicinalProductIngredient.specifiedSubstance.extension\":\"Extension\",\"MedicinalProductIngredient.specifiedSubstance.group\":\"CodeableConcept\",\"MedicinalProductIngredient.specifiedSubstance.id\":\"System.String\",\"MedicinalProductIngredient.specifiedSubstance.modifierExtension\":\"Extension\",\"MedicinalProductIngredient.specifiedSubstance.strength\":\"BackboneElement\",\"MedicinalProductIngredient.specifiedSubstance.strength.concentration\":\"Ratio\",\"MedicinalProductIngredient.specifiedSubstance.strength.concentrationLowLimit\":\"Ratio\",\"MedicinalProductIngredient.specifiedSubstance.strength.country\":\"CodeableConcept\",\"MedicinalProductIngredient.specifiedSubstance.strength.extension\":\"Extension\",\"MedicinalProductIngredient.specifiedSubstance.strength.id\":\"System.String\",\"MedicinalProductIngredient.specifiedSubstance.strength.measurementPoint\":\"string\",\"MedicinalProductIngredient.specifiedSubstance.strength.modifierExtension\":\"Extension\",\"MedicinalProductIngredient.specifiedSubstance.strength.presentation\":\"Ratio\",\"MedicinalProductIngredient.specifiedSubstance.strength.presentationLowLimit\":\"Ratio\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength\":\"BackboneElement\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.country\":\"CodeableConcept\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.extension\":\"Extension\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.id\":\"System.String\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.measurementPoint\":\"string\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.modifierExtension\":\"Extension\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.strength\":\"Ratio\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.strengthLowLimit\":\"Ratio\",\"MedicinalProductIngredient.specifiedSubstance.strength.referenceStrength.substance\":\"CodeableConcept\",\"MedicinalProductIngredient.substance\":\"BackboneElement\",\"MedicinalProductIngredient.substance.code\":\"CodeableConcept\",\"MedicinalProductIngredient.substance.extension\":\"Extension\",\"MedicinalProductIngredient.substance.id\":\"System.String\",\"MedicinalProductIngredient.substance.modifierExtension\":\"Extension\",\"MedicinalProductIngredient.text\":\"Narrative\",\"MedicinalProductInteraction.contained\":\"Resource\",\"MedicinalProductInteraction.description\":\"string\",\"MedicinalProductInteraction.effect\":\"CodeableConcept\",\"MedicinalProductInteraction.extension\":\"Extension\",\"MedicinalProductInteraction.id\":\"System.String\",\"MedicinalProductInteraction.implicitRules\":\"uri\",\"MedicinalProductInteraction.incidence\":\"CodeableConcept\",\"MedicinalProductInteraction.interactant\":\"BackboneElement\",\"MedicinalProductInteraction.interactant.extension\":\"Extension\",\"MedicinalProductInteraction.interactant.id\":\"System.String\",\"MedicinalProductInteraction.interactant.itemCodeableConcept\":\"CodeableConcept\",\"MedicinalProductInteraction.interactant.itemReference\":\"Reference\",\"MedicinalProductInteraction.interactant.modifierExtension\":\"Extension\",\"MedicinalProductInteraction.language\":\"code\",\"MedicinalProductInteraction.management\":\"CodeableConcept\",\"MedicinalProductInteraction.meta\":\"Meta\",\"MedicinalProductInteraction.modifierExtension\":\"Extension\",\"MedicinalProductInteraction.subject\":\"Reference\",\"MedicinalProductInteraction.text\":\"Narrative\",\"MedicinalProductInteraction.type\":\"CodeableConcept\",\"MedicinalProductManufactured.contained\":\"Resource\",\"MedicinalProductManufactured.extension\":\"Extension\",\"MedicinalProductManufactured.id\":\"System.String\",\"MedicinalProductManufactured.implicitRules\":\"uri\",\"MedicinalProductManufactured.ingredient\":\"Reference\",\"MedicinalProductManufactured.language\":\"code\",\"MedicinalProductManufactured.manufacturedDoseForm\":\"CodeableConcept\",\"MedicinalProductManufactured.manufacturer\":\"Reference\",\"MedicinalProductManufactured.meta\":\"Meta\",\"MedicinalProductManufactured.modifierExtension\":\"Extension\",\"MedicinalProductManufactured.otherCharacteristics\":\"CodeableConcept\",\"MedicinalProductManufactured.physicalCharacteristics\":\"ProdCharacteristic\",\"MedicinalProductManufactured.quantity\":\"Quantity\",\"MedicinalProductManufactured.text\":\"Narrative\",\"MedicinalProductManufactured.unitOfPresentation\":\"CodeableConcept\",\"MedicinalProductPackaged.batchIdentifier\":\"BackboneElement\",\"MedicinalProductPackaged.batchIdentifier.extension\":\"Extension\",\"MedicinalProductPackaged.batchIdentifier.id\":\"System.String\",\"MedicinalProductPackaged.batchIdentifier.immediatePackaging\":\"Identifier\",\"MedicinalProductPackaged.batchIdentifier.modifierExtension\":\"Extension\",\"MedicinalProductPackaged.batchIdentifier.outerPackaging\":\"Identifier\",\"MedicinalProductPackaged.contained\":\"Resource\",\"MedicinalProductPackaged.description\":\"string\",\"MedicinalProductPackaged.extension\":\"Extension\",\"MedicinalProductPackaged.id\":\"System.String\",\"MedicinalProductPackaged.identifier\":\"Identifier\",\"MedicinalProductPackaged.implicitRules\":\"uri\",\"MedicinalProductPackaged.language\":\"code\",\"MedicinalProductPackaged.legalStatusOfSupply\":\"CodeableConcept\",\"MedicinalProductPackaged.manufacturer\":\"Reference\",\"MedicinalProductPackaged.marketingAuthorization\":\"Reference\",\"MedicinalProductPackaged.marketingStatus\":\"MarketingStatus\",\"MedicinalProductPackaged.meta\":\"Meta\",\"MedicinalProductPackaged.modifierExtension\":\"Extension\",\"MedicinalProductPackaged.packageItem\":\"BackboneElement\",\"MedicinalProductPackaged.packageItem.alternateMaterial\":\"CodeableConcept\",\"MedicinalProductPackaged.packageItem.device\":\"Reference\",\"MedicinalProductPackaged.packageItem.extension\":\"Extension\",\"MedicinalProductPackaged.packageItem.id\":\"System.String\",\"MedicinalProductPackaged.packageItem.identifier\":\"Identifier\",\"MedicinalProductPackaged.packageItem.manufacturedItem\":\"Reference\",\"MedicinalProductPackaged.packageItem.manufacturer\":\"Reference\",\"MedicinalProductPackaged.packageItem.material\":\"CodeableConcept\",\"MedicinalProductPackaged.packageItem.modifierExtension\":\"Extension\",\"MedicinalProductPackaged.packageItem.otherCharacteristics\":\"CodeableConcept\",\"MedicinalProductPackaged.packageItem.physicalCharacteristics\":\"ProdCharacteristic\",\"MedicinalProductPackaged.packageItem.quantity\":\"Quantity\",\"MedicinalProductPackaged.packageItem.shelfLifeStorage\":\"ProductShelfLife\",\"MedicinalProductPackaged.packageItem.type\":\"CodeableConcept\",\"MedicinalProductPackaged.subject\":\"Reference\",\"MedicinalProductPackaged.text\":\"Narrative\",\"MedicinalProductPharmaceutical.administrableDoseForm\":\"CodeableConcept\",\"MedicinalProductPharmaceutical.characteristics\":\"BackboneElement\",\"MedicinalProductPharmaceutical.characteristics.code\":\"CodeableConcept\",\"MedicinalProductPharmaceutical.characteristics.extension\":\"Extension\",\"MedicinalProductPharmaceutical.characteristics.id\":\"System.String\",\"MedicinalProductPharmaceutical.characteristics.modifierExtension\":\"Extension\",\"MedicinalProductPharmaceutical.characteristics.status\":\"CodeableConcept\",\"MedicinalProductPharmaceutical.contained\":\"Resource\",\"MedicinalProductPharmaceutical.device\":\"Reference\",\"MedicinalProductPharmaceutical.extension\":\"Extension\",\"MedicinalProductPharmaceutical.id\":\"System.String\",\"MedicinalProductPharmaceutical.identifier\":\"Identifier\",\"MedicinalProductPharmaceutical.implicitRules\":\"uri\",\"MedicinalProductPharmaceutical.ingredient\":\"Reference\",\"MedicinalProductPharmaceutical.language\":\"code\",\"MedicinalProductPharmaceutical.meta\":\"Meta\",\"MedicinalProductPharmaceutical.modifierExtension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration\":\"BackboneElement\",\"MedicinalProductPharmaceutical.routeOfAdministration.code\":\"CodeableConcept\",\"MedicinalProductPharmaceutical.routeOfAdministration.extension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.firstDose\":\"Quantity\",\"MedicinalProductPharmaceutical.routeOfAdministration.id\":\"System.String\",\"MedicinalProductPharmaceutical.routeOfAdministration.maxDosePerDay\":\"Quantity\",\"MedicinalProductPharmaceutical.routeOfAdministration.maxDosePerTreatmentPeriod\":\"Ratio\",\"MedicinalProductPharmaceutical.routeOfAdministration.maxSingleDose\":\"Quantity\",\"MedicinalProductPharmaceutical.routeOfAdministration.maxTreatmentPeriod\":\"Duration\",\"MedicinalProductPharmaceutical.routeOfAdministration.modifierExtension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies\":\"BackboneElement\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.code\":\"CodeableConcept\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.extension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.id\":\"System.String\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.modifierExtension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod\":\"BackboneElement\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.extension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.id\":\"System.String\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.modifierExtension\":\"Extension\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.supportingInformation\":\"string\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.tissue\":\"CodeableConcept\",\"MedicinalProductPharmaceutical.routeOfAdministration.targetSpecies.withdrawalPeriod.value\":\"Quantity\",\"MedicinalProductPharmaceutical.text\":\"Narrative\",\"MedicinalProductPharmaceutical.unitOfPresentation\":\"CodeableConcept\",\"MedicinalProductUndesirableEffect.classification\":\"CodeableConcept\",\"MedicinalProductUndesirableEffect.contained\":\"Resource\",\"MedicinalProductUndesirableEffect.extension\":\"Extension\",\"MedicinalProductUndesirableEffect.frequencyOfOccurrence\":\"CodeableConcept\",\"MedicinalProductUndesirableEffect.id\":\"System.String\",\"MedicinalProductUndesirableEffect.implicitRules\":\"uri\",\"MedicinalProductUndesirableEffect.language\":\"code\",\"MedicinalProductUndesirableEffect.meta\":\"Meta\",\"MedicinalProductUndesirableEffect.modifierExtension\":\"Extension\",\"MedicinalProductUndesirableEffect.population\":\"Population\",\"MedicinalProductUndesirableEffect.subject\":\"Reference\",\"MedicinalProductUndesirableEffect.symptomConditionEffect\":\"CodeableConcept\",\"MedicinalProductUndesirableEffect.text\":\"Narrative\",\"MessageDefinition.allowedResponse\":\"BackboneElement\",\"MessageDefinition.allowedResponse.extension\":\"Extension\",\"MessageDefinition.allowedResponse.id\":\"System.String\",\"MessageDefinition.allowedResponse.message\":\"canonical\",\"MessageDefinition.allowedResponse.modifierExtension\":\"Extension\",\"MessageDefinition.allowedResponse.situation\":\"markdown\",\"MessageDefinition.base\":\"canonical\",\"MessageDefinition.category\":\"code\",\"MessageDefinition.contact\":\"ContactDetail\",\"MessageDefinition.contained\":\"Resource\",\"MessageDefinition.copyright\":\"markdown\",\"MessageDefinition.date\":\"dateTime\",\"MessageDefinition.description\":\"markdown\",\"MessageDefinition.eventCoding\":\"Coding\",\"MessageDefinition.eventUri\":\"uri\",\"MessageDefinition.experimental\":\"boolean\",\"MessageDefinition.extension\":\"Extension\",\"MessageDefinition.focus\":\"BackboneElement\",\"MessageDefinition.focus.code\":\"code\",\"MessageDefinition.focus.extension\":\"Extension\",\"MessageDefinition.focus.id\":\"System.String\",\"MessageDefinition.focus.max\":\"string\",\"MessageDefinition.focus.min\":\"unsignedInt\",\"MessageDefinition.focus.modifierExtension\":\"Extension\",\"MessageDefinition.focus.profile\":\"canonical\",\"MessageDefinition.graph\":\"canonical\",\"MessageDefinition.id\":\"System.String\",\"MessageDefinition.identifier\":\"Identifier\",\"MessageDefinition.implicitRules\":\"uri\",\"MessageDefinition.jurisdiction\":\"CodeableConcept\",\"MessageDefinition.language\":\"code\",\"MessageDefinition.meta\":\"Meta\",\"MessageDefinition.modifierExtension\":\"Extension\",\"MessageDefinition.name\":\"string\",\"MessageDefinition.parent\":\"canonical\",\"MessageDefinition.publisher\":\"string\",\"MessageDefinition.purpose\":\"markdown\",\"MessageDefinition.replaces\":\"canonical\",\"MessageDefinition.responseRequired\":\"code\",\"MessageDefinition.status\":\"code\",\"MessageDefinition.text\":\"Narrative\",\"MessageDefinition.title\":\"string\",\"MessageDefinition.url\":\"uri\",\"MessageDefinition.useContext\":\"UsageContext\",\"MessageDefinition.version\":\"string\",\"MessageHeader.author\":\"Reference\",\"MessageHeader.contained\":\"Resource\",\"MessageHeader.definition\":\"canonical\",\"MessageHeader.destination\":\"BackboneElement\",\"MessageHeader.destination.endpoint\":\"url\",\"MessageHeader.destination.extension\":\"Extension\",\"MessageHeader.destination.id\":\"System.String\",\"MessageHeader.destination.modifierExtension\":\"Extension\",\"MessageHeader.destination.name\":\"string\",\"MessageHeader.destination.receiver\":\"Reference\",\"MessageHeader.destination.target\":\"Reference\",\"MessageHeader.enterer\":\"Reference\",\"MessageHeader.eventCoding\":\"Coding\",\"MessageHeader.eventUri\":\"uri\",\"MessageHeader.extension\":\"Extension\",\"MessageHeader.focus\":\"Reference\",\"MessageHeader.id\":\"System.String\",\"MessageHeader.implicitRules\":\"uri\",\"MessageHeader.language\":\"code\",\"MessageHeader.meta\":\"Meta\",\"MessageHeader.modifierExtension\":\"Extension\",\"MessageHeader.reason\":\"CodeableConcept\",\"MessageHeader.response\":\"BackboneElement\",\"MessageHeader.response.code\":\"code\",\"MessageHeader.response.details\":\"Reference\",\"MessageHeader.response.extension\":\"Extension\",\"MessageHeader.response.id\":\"System.String\",\"MessageHeader.response.identifier\":\"id\",\"MessageHeader.response.modifierExtension\":\"Extension\",\"MessageHeader.responsible\":\"Reference\",\"MessageHeader.sender\":\"Reference\",\"MessageHeader.source\":\"BackboneElement\",\"MessageHeader.source.contact\":\"ContactPoint\",\"MessageHeader.source.endpoint\":\"url\",\"MessageHeader.source.extension\":\"Extension\",\"MessageHeader.source.id\":\"System.String\",\"MessageHeader.source.modifierExtension\":\"Extension\",\"MessageHeader.source.name\":\"string\",\"MessageHeader.source.software\":\"string\",\"MessageHeader.source.version\":\"string\",\"MessageHeader.text\":\"Narrative\",\"Meta.extension\":\"Extension\",\"Meta.id\":\"System.String\",\"Meta.lastUpdated\":\"instant\",\"Meta.profile\":\"canonical\",\"Meta.security\":\"Coding\",\"Meta.source\":\"uri\",\"Meta.tag\":\"Coding\",\"Meta.versionId\":\"id\",\"MetadataResource.contact\":\"ContactDetail\",\"MetadataResource.contained\":\"Resource\",\"MetadataResource.date\":\"dateTime\",\"MetadataResource.description\":\"markdown\",\"MetadataResource.experimental\":\"boolean\",\"MetadataResource.extension\":\"Extension\",\"MetadataResource.id\":\"System.String\",\"MetadataResource.implicitRules\":\"uri\",\"MetadataResource.jurisdiction\":\"CodeableConcept\",\"MetadataResource.language\":\"code\",\"MetadataResource.meta\":\"Meta\",\"MetadataResource.modifierExtension\":\"Extension\",\"MetadataResource.name\":\"string\",\"MetadataResource.publisher\":\"string\",\"MetadataResource.status\":\"code\",\"MetadataResource.text\":\"Narrative\",\"MetadataResource.title\":\"string\",\"MetadataResource.url\":\"uri\",\"MetadataResource.useContext\":\"UsageContext\",\"MetadataResource.version\":\"string\",\"MolecularSequence.contained\":\"Resource\",\"MolecularSequence.coordinateSystem\":\"integer\",\"MolecularSequence.device\":\"Reference\",\"MolecularSequence.extension\":\"Extension\",\"MolecularSequence.id\":\"System.String\",\"MolecularSequence.identifier\":\"Identifier\",\"MolecularSequence.implicitRules\":\"uri\",\"MolecularSequence.language\":\"code\",\"MolecularSequence.meta\":\"Meta\",\"MolecularSequence.modifierExtension\":\"Extension\",\"MolecularSequence.observedSeq\":\"string\",\"MolecularSequence.patient\":\"Reference\",\"MolecularSequence.performer\":\"Reference\",\"MolecularSequence.pointer\":\"Reference\",\"MolecularSequence.quality\":\"BackboneElement\",\"MolecularSequence.quality.end\":\"integer\",\"MolecularSequence.quality.extension\":\"Extension\",\"MolecularSequence.quality.fScore\":\"decimal\",\"MolecularSequence.quality.gtFP\":\"decimal\",\"MolecularSequence.quality.id\":\"System.String\",\"MolecularSequence.quality.method\":\"CodeableConcept\",\"MolecularSequence.quality.modifierExtension\":\"Extension\",\"MolecularSequence.quality.precision\":\"decimal\",\"MolecularSequence.quality.queryFP\":\"decimal\",\"MolecularSequence.quality.queryTP\":\"decimal\",\"MolecularSequence.quality.recall\":\"decimal\",\"MolecularSequence.quality.roc\":\"BackboneElement\",\"MolecularSequence.quality.roc.extension\":\"Extension\",\"MolecularSequence.quality.roc.fMeasure\":\"decimal\",\"MolecularSequence.quality.roc.id\":\"System.String\",\"MolecularSequence.quality.roc.modifierExtension\":\"Extension\",\"MolecularSequence.quality.roc.numFN\":\"integer\",\"MolecularSequence.quality.roc.numFP\":\"integer\",\"MolecularSequence.quality.roc.numTP\":\"integer\",\"MolecularSequence.quality.roc.precision\":\"decimal\",\"MolecularSequence.quality.roc.score\":\"integer\",\"MolecularSequence.quality.roc.sensitivity\":\"decimal\",\"MolecularSequence.quality.score\":\"Quantity\",\"MolecularSequence.quality.standardSequence\":\"CodeableConcept\",\"MolecularSequence.quality.start\":\"integer\",\"MolecularSequence.quality.truthFN\":\"decimal\",\"MolecularSequence.quality.truthTP\":\"decimal\",\"MolecularSequence.quality.type\":\"code\",\"MolecularSequence.quantity\":\"Quantity\",\"MolecularSequence.readCoverage\":\"integer\",\"MolecularSequence.referenceSeq\":\"BackboneElement\",\"MolecularSequence.referenceSeq.chromosome\":\"CodeableConcept\",\"MolecularSequence.referenceSeq.extension\":\"Extension\",\"MolecularSequence.referenceSeq.genomeBuild\":\"string\",\"MolecularSequence.referenceSeq.id\":\"System.String\",\"MolecularSequence.referenceSeq.modifierExtension\":\"Extension\",\"MolecularSequence.referenceSeq.orientation\":\"code\",\"MolecularSequence.referenceSeq.referenceSeqId\":\"CodeableConcept\",\"MolecularSequence.referenceSeq.referenceSeqPointer\":\"Reference\",\"MolecularSequence.referenceSeq.referenceSeqString\":\"string\",\"MolecularSequence.referenceSeq.strand\":\"code\",\"MolecularSequence.referenceSeq.windowEnd\":\"integer\",\"MolecularSequence.referenceSeq.windowStart\":\"integer\",\"MolecularSequence.repository\":\"BackboneElement\",\"MolecularSequence.repository.datasetId\":\"string\",\"MolecularSequence.repository.extension\":\"Extension\",\"MolecularSequence.repository.id\":\"System.String\",\"MolecularSequence.repository.modifierExtension\":\"Extension\",\"MolecularSequence.repository.name\":\"string\",\"MolecularSequence.repository.readsetId\":\"string\",\"MolecularSequence.repository.type\":\"code\",\"MolecularSequence.repository.url\":\"uri\",\"MolecularSequence.repository.variantsetId\":\"string\",\"MolecularSequence.specimen\":\"Reference\",\"MolecularSequence.structureVariant\":\"BackboneElement\",\"MolecularSequence.structureVariant.exact\":\"boolean\",\"MolecularSequence.structureVariant.extension\":\"Extension\",\"MolecularSequence.structureVariant.id\":\"System.String\",\"MolecularSequence.structureVariant.inner\":\"BackboneElement\",\"MolecularSequence.structureVariant.inner.end\":\"integer\",\"MolecularSequence.structureVariant.inner.extension\":\"Extension\",\"MolecularSequence.structureVariant.inner.id\":\"System.String\",\"MolecularSequence.structureVariant.inner.modifierExtension\":\"Extension\",\"MolecularSequence.structureVariant.inner.start\":\"integer\",\"MolecularSequence.structureVariant.length\":\"integer\",\"MolecularSequence.structureVariant.modifierExtension\":\"Extension\",\"MolecularSequence.structureVariant.outer\":\"BackboneElement\",\"MolecularSequence.structureVariant.outer.end\":\"integer\",\"MolecularSequence.structureVariant.outer.extension\":\"Extension\",\"MolecularSequence.structureVariant.outer.id\":\"System.String\",\"MolecularSequence.structureVariant.outer.modifierExtension\":\"Extension\",\"MolecularSequence.structureVariant.outer.start\":\"integer\",\"MolecularSequence.structureVariant.variantType\":\"CodeableConcept\",\"MolecularSequence.text\":\"Narrative\",\"MolecularSequence.type\":\"code\",\"MolecularSequence.variant\":\"BackboneElement\",\"MolecularSequence.variant.cigar\":\"string\",\"MolecularSequence.variant.end\":\"integer\",\"MolecularSequence.variant.extension\":\"Extension\",\"MolecularSequence.variant.id\":\"System.String\",\"MolecularSequence.variant.modifierExtension\":\"Extension\",\"MolecularSequence.variant.observedAllele\":\"string\",\"MolecularSequence.variant.referenceAllele\":\"string\",\"MolecularSequence.variant.start\":\"integer\",\"MolecularSequence.variant.variantPointer\":\"Reference\",\"Money.currency\":\"code\",\"Money.extension\":\"Extension\",\"Money.id\":\"System.String\",\"Money.value\":\"decimal\",\"NamingSystem.contact\":\"ContactDetail\",\"NamingSystem.contained\":\"Resource\",\"NamingSystem.date\":\"dateTime\",\"NamingSystem.description\":\"markdown\",\"NamingSystem.extension\":\"Extension\",\"NamingSystem.id\":\"System.String\",\"NamingSystem.implicitRules\":\"uri\",\"NamingSystem.jurisdiction\":\"CodeableConcept\",\"NamingSystem.kind\":\"code\",\"NamingSystem.language\":\"code\",\"NamingSystem.meta\":\"Meta\",\"NamingSystem.modifierExtension\":\"Extension\",\"NamingSystem.name\":\"string\",\"NamingSystem.publisher\":\"string\",\"NamingSystem.responsible\":\"string\",\"NamingSystem.status\":\"code\",\"NamingSystem.text\":\"Narrative\",\"NamingSystem.type\":\"CodeableConcept\",\"NamingSystem.uniqueId\":\"BackboneElement\",\"NamingSystem.uniqueId.comment\":\"string\",\"NamingSystem.uniqueId.extension\":\"Extension\",\"NamingSystem.uniqueId.id\":\"System.String\",\"NamingSystem.uniqueId.modifierExtension\":\"Extension\",\"NamingSystem.uniqueId.period\":\"Period\",\"NamingSystem.uniqueId.preferred\":\"boolean\",\"NamingSystem.uniqueId.type\":\"code\",\"NamingSystem.uniqueId.value\":\"string\",\"NamingSystem.usage\":\"string\",\"NamingSystem.useContext\":\"UsageContext\",\"Narrative.div\":\"xhtml\",\"Narrative.extension\":\"Extension\",\"Narrative.id\":\"System.String\",\"Narrative.status\":\"code\",\"NutritionOrder.allergyIntolerance\":\"Reference\",\"NutritionOrder.contained\":\"Resource\",\"NutritionOrder.dateTime\":\"dateTime\",\"NutritionOrder.encounter\":\"Reference\",\"NutritionOrder.enteralFormula\":\"BackboneElement\",\"NutritionOrder.enteralFormula.additiveProductName\":\"string\",\"NutritionOrder.enteralFormula.additiveType\":\"CodeableConcept\",\"NutritionOrder.enteralFormula.administration\":\"BackboneElement\",\"NutritionOrder.enteralFormula.administration.extension\":\"Extension\",\"NutritionOrder.enteralFormula.administration.id\":\"System.String\",\"NutritionOrder.enteralFormula.administration.modifierExtension\":\"Extension\",\"NutritionOrder.enteralFormula.administration.quantity\":\"Quantity\",\"NutritionOrder.enteralFormula.administration.rateQuantity\":\"Quantity\",\"NutritionOrder.enteralFormula.administration.rateRatio\":\"Ratio\",\"NutritionOrder.enteralFormula.administration.schedule\":\"Timing\",\"NutritionOrder.enteralFormula.administrationInstruction\":\"string\",\"NutritionOrder.enteralFormula.baseFormulaProductName\":\"string\",\"NutritionOrder.enteralFormula.baseFormulaType\":\"CodeableConcept\",\"NutritionOrder.enteralFormula.caloricDensity\":\"Quantity\",\"NutritionOrder.enteralFormula.extension\":\"Extension\",\"NutritionOrder.enteralFormula.id\":\"System.String\",\"NutritionOrder.enteralFormula.maxVolumeToDeliver\":\"Quantity\",\"NutritionOrder.enteralFormula.modifierExtension\":\"Extension\",\"NutritionOrder.enteralFormula.routeofAdministration\":\"CodeableConcept\",\"NutritionOrder.excludeFoodModifier\":\"CodeableConcept\",\"NutritionOrder.extension\":\"Extension\",\"NutritionOrder.foodPreferenceModifier\":\"CodeableConcept\",\"NutritionOrder.id\":\"System.String\",\"NutritionOrder.identifier\":\"Identifier\",\"NutritionOrder.implicitRules\":\"uri\",\"NutritionOrder.instantiates\":\"uri\",\"NutritionOrder.instantiatesCanonical\":\"canonical\",\"NutritionOrder.instantiatesUri\":\"uri\",\"NutritionOrder.intent\":\"code\",\"NutritionOrder.language\":\"code\",\"NutritionOrder.meta\":\"Meta\",\"NutritionOrder.modifierExtension\":\"Extension\",\"NutritionOrder.note\":\"Annotation\",\"NutritionOrder.oralDiet\":\"BackboneElement\",\"NutritionOrder.oralDiet.extension\":\"Extension\",\"NutritionOrder.oralDiet.fluidConsistencyType\":\"CodeableConcept\",\"NutritionOrder.oralDiet.id\":\"System.String\",\"NutritionOrder.oralDiet.instruction\":\"string\",\"NutritionOrder.oralDiet.modifierExtension\":\"Extension\",\"NutritionOrder.oralDiet.nutrient\":\"BackboneElement\",\"NutritionOrder.oralDiet.nutrient.amount\":\"Quantity\",\"NutritionOrder.oralDiet.nutrient.extension\":\"Extension\",\"NutritionOrder.oralDiet.nutrient.id\":\"System.String\",\"NutritionOrder.oralDiet.nutrient.modifier\":\"CodeableConcept\",\"NutritionOrder.oralDiet.nutrient.modifierExtension\":\"Extension\",\"NutritionOrder.oralDiet.schedule\":\"Timing\",\"NutritionOrder.oralDiet.texture\":\"BackboneElement\",\"NutritionOrder.oralDiet.texture.extension\":\"Extension\",\"NutritionOrder.oralDiet.texture.foodType\":\"CodeableConcept\",\"NutritionOrder.oralDiet.texture.id\":\"System.String\",\"NutritionOrder.oralDiet.texture.modifier\":\"CodeableConcept\",\"NutritionOrder.oralDiet.texture.modifierExtension\":\"Extension\",\"NutritionOrder.oralDiet.type\":\"CodeableConcept\",\"NutritionOrder.orderer\":\"Reference\",\"NutritionOrder.patient\":\"Reference\",\"NutritionOrder.status\":\"code\",\"NutritionOrder.supplement\":\"BackboneElement\",\"NutritionOrder.supplement.extension\":\"Extension\",\"NutritionOrder.supplement.id\":\"System.String\",\"NutritionOrder.supplement.instruction\":\"string\",\"NutritionOrder.supplement.modifierExtension\":\"Extension\",\"NutritionOrder.supplement.productName\":\"string\",\"NutritionOrder.supplement.quantity\":\"Quantity\",\"NutritionOrder.supplement.schedule\":\"Timing\",\"NutritionOrder.supplement.type\":\"CodeableConcept\",\"NutritionOrder.text\":\"Narrative\",\"Observation.basedOn\":\"Reference\",\"Observation.bodySite\":\"CodeableConcept\",\"Observation.category\":\"CodeableConcept\",\"Observation.code\":\"CodeableConcept\",\"Observation.component\":\"BackboneElement\",\"Observation.component.code\":\"CodeableConcept\",\"Observation.component.dataAbsentReason\":\"CodeableConcept\",\"Observation.component.extension\":\"Extension\",\"Observation.component.id\":\"System.String\",\"Observation.component.interpretation\":\"CodeableConcept\",\"Observation.component.modifierExtension\":\"Extension\",\"Observation.component.valueBoolean\":\"boolean\",\"Observation.component.valueCodeableConcept\":\"CodeableConcept\",\"Observation.component.valueDateTime\":\"dateTime\",\"Observation.component.valueInteger\":\"integer\",\"Observation.component.valuePeriod\":\"Period\",\"Observation.component.valueQuantity\":\"Quantity\",\"Observation.component.valueRange\":\"Range\",\"Observation.component.valueRatio\":\"Ratio\",\"Observation.component.valueSampledData\":\"SampledData\",\"Observation.component.valueString\":\"string\",\"Observation.component.valueTime\":\"time\",\"Observation.contained\":\"Resource\",\"Observation.dataAbsentReason\":\"CodeableConcept\",\"Observation.derivedFrom\":\"Reference\",\"Observation.device\":\"Reference\",\"Observation.effectiveDateTime\":\"dateTime\",\"Observation.effectiveInstant\":\"instant\",\"Observation.effectivePeriod\":\"Period\",\"Observation.effectiveTiming\":\"Timing\",\"Observation.encounter\":\"Reference\",\"Observation.extension\":\"Extension\",\"Observation.focus\":\"Reference\",\"Observation.hasMember\":\"Reference\",\"Observation.id\":\"System.String\",\"Observation.identifier\":\"Identifier\",\"Observation.implicitRules\":\"uri\",\"Observation.interpretation\":\"CodeableConcept\",\"Observation.issued\":\"instant\",\"Observation.language\":\"code\",\"Observation.meta\":\"Meta\",\"Observation.method\":\"CodeableConcept\",\"Observation.modifierExtension\":\"Extension\",\"Observation.note\":\"Annotation\",\"Observation.partOf\":\"Reference\",\"Observation.performer\":\"Reference\",\"Observation.referenceRange\":\"BackboneElement\",\"Observation.referenceRange.age\":\"Range\",\"Observation.referenceRange.appliesTo\":\"CodeableConcept\",\"Observation.referenceRange.extension\":\"Extension\",\"Observation.referenceRange.high\":\"Quantity\",\"Observation.referenceRange.id\":\"System.String\",\"Observation.referenceRange.low\":\"Quantity\",\"Observation.referenceRange.modifierExtension\":\"Extension\",\"Observation.referenceRange.text\":\"string\",\"Observation.referenceRange.type\":\"CodeableConcept\",\"Observation.specimen\":\"Reference\",\"Observation.status\":\"code\",\"Observation.subject\":\"Reference\",\"Observation.text\":\"Narrative\",\"Observation.valueBoolean\":\"boolean\",\"Observation.valueCodeableConcept\":\"CodeableConcept\",\"Observation.valueDateTime\":\"dateTime\",\"Observation.valueInteger\":\"integer\",\"Observation.valuePeriod\":\"Period\",\"Observation.valueQuantity\":\"Quantity\",\"Observation.valueRange\":\"Range\",\"Observation.valueRatio\":\"Ratio\",\"Observation.valueSampledData\":\"SampledData\",\"Observation.valueString\":\"string\",\"Observation.valueTime\":\"time\",\"ObservationDefinition.abnormalCodedValueSet\":\"Reference\",\"ObservationDefinition.category\":\"CodeableConcept\",\"ObservationDefinition.code\":\"CodeableConcept\",\"ObservationDefinition.contained\":\"Resource\",\"ObservationDefinition.criticalCodedValueSet\":\"Reference\",\"ObservationDefinition.extension\":\"Extension\",\"ObservationDefinition.id\":\"System.String\",\"ObservationDefinition.identifier\":\"Identifier\",\"ObservationDefinition.implicitRules\":\"uri\",\"ObservationDefinition.language\":\"code\",\"ObservationDefinition.meta\":\"Meta\",\"ObservationDefinition.method\":\"CodeableConcept\",\"ObservationDefinition.modifierExtension\":\"Extension\",\"ObservationDefinition.multipleResultsAllowed\":\"boolean\",\"ObservationDefinition.normalCodedValueSet\":\"Reference\",\"ObservationDefinition.permittedDataType\":\"code\",\"ObservationDefinition.preferredReportName\":\"string\",\"ObservationDefinition.qualifiedInterval\":\"BackboneElement\",\"ObservationDefinition.qualifiedInterval.age\":\"Range\",\"ObservationDefinition.qualifiedInterval.appliesTo\":\"CodeableConcept\",\"ObservationDefinition.qualifiedInterval.category\":\"code\",\"ObservationDefinition.qualifiedInterval.condition\":\"string\",\"ObservationDefinition.qualifiedInterval.context\":\"CodeableConcept\",\"ObservationDefinition.qualifiedInterval.extension\":\"Extension\",\"ObservationDefinition.qualifiedInterval.gender\":\"code\",\"ObservationDefinition.qualifiedInterval.gestationalAge\":\"Range\",\"ObservationDefinition.qualifiedInterval.id\":\"System.String\",\"ObservationDefinition.qualifiedInterval.modifierExtension\":\"Extension\",\"ObservationDefinition.qualifiedInterval.range\":\"Range\",\"ObservationDefinition.quantitativeDetails\":\"BackboneElement\",\"ObservationDefinition.quantitativeDetails.conversionFactor\":\"decimal\",\"ObservationDefinition.quantitativeDetails.customaryUnit\":\"CodeableConcept\",\"ObservationDefinition.quantitativeDetails.decimalPrecision\":\"integer\",\"ObservationDefinition.quantitativeDetails.extension\":\"Extension\",\"ObservationDefinition.quantitativeDetails.id\":\"System.String\",\"ObservationDefinition.quantitativeDetails.modifierExtension\":\"Extension\",\"ObservationDefinition.quantitativeDetails.unit\":\"CodeableConcept\",\"ObservationDefinition.text\":\"Narrative\",\"ObservationDefinition.validCodedValueSet\":\"Reference\",\"OperationDefinition.affectsState\":\"boolean\",\"OperationDefinition.base\":\"canonical\",\"OperationDefinition.code\":\"code\",\"OperationDefinition.comment\":\"markdown\",\"OperationDefinition.contact\":\"ContactDetail\",\"OperationDefinition.contained\":\"Resource\",\"OperationDefinition.date\":\"dateTime\",\"OperationDefinition.description\":\"markdown\",\"OperationDefinition.experimental\":\"boolean\",\"OperationDefinition.extension\":\"Extension\",\"OperationDefinition.id\":\"System.String\",\"OperationDefinition.implicitRules\":\"uri\",\"OperationDefinition.inputProfile\":\"canonical\",\"OperationDefinition.instance\":\"boolean\",\"OperationDefinition.jurisdiction\":\"CodeableConcept\",\"OperationDefinition.kind\":\"code\",\"OperationDefinition.language\":\"code\",\"OperationDefinition.meta\":\"Meta\",\"OperationDefinition.modifierExtension\":\"Extension\",\"OperationDefinition.name\":\"string\",\"OperationDefinition.outputProfile\":\"canonical\",\"OperationDefinition.overload\":\"BackboneElement\",\"OperationDefinition.overload.comment\":\"string\",\"OperationDefinition.overload.extension\":\"Extension\",\"OperationDefinition.overload.id\":\"System.String\",\"OperationDefinition.overload.modifierExtension\":\"Extension\",\"OperationDefinition.overload.parameterName\":\"string\",\"OperationDefinition.parameter\":\"BackboneElement\",\"OperationDefinition.parameter.binding\":\"BackboneElement\",\"OperationDefinition.parameter.binding.extension\":\"Extension\",\"OperationDefinition.parameter.binding.id\":\"System.String\",\"OperationDefinition.parameter.binding.modifierExtension\":\"Extension\",\"OperationDefinition.parameter.binding.strength\":\"code\",\"OperationDefinition.parameter.binding.valueSet\":\"canonical\",\"OperationDefinition.parameter.documentation\":\"string\",\"OperationDefinition.parameter.extension\":\"Extension\",\"OperationDefinition.parameter.id\":\"System.String\",\"OperationDefinition.parameter.max\":\"string\",\"OperationDefinition.parameter.min\":\"integer\",\"OperationDefinition.parameter.modifierExtension\":\"Extension\",\"OperationDefinition.parameter.name\":\"code\",\"OperationDefinition.parameter.referencedFrom\":\"BackboneElement\",\"OperationDefinition.parameter.referencedFrom.extension\":\"Extension\",\"OperationDefinition.parameter.referencedFrom.id\":\"System.String\",\"OperationDefinition.parameter.referencedFrom.modifierExtension\":\"Extension\",\"OperationDefinition.parameter.referencedFrom.source\":\"string\",\"OperationDefinition.parameter.referencedFrom.sourceId\":\"string\",\"OperationDefinition.parameter.searchType\":\"code\",\"OperationDefinition.parameter.targetProfile\":\"canonical\",\"OperationDefinition.parameter.type\":\"code\",\"OperationDefinition.parameter.use\":\"code\",\"OperationDefinition.publisher\":\"string\",\"OperationDefinition.purpose\":\"markdown\",\"OperationDefinition.resource\":\"code\",\"OperationDefinition.status\":\"code\",\"OperationDefinition.system\":\"boolean\",\"OperationDefinition.text\":\"Narrative\",\"OperationDefinition.title\":\"string\",\"OperationDefinition.type\":\"boolean\",\"OperationDefinition.url\":\"uri\",\"OperationDefinition.useContext\":\"UsageContext\",\"OperationDefinition.version\":\"string\",\"OperationOutcome.contained\":\"Resource\",\"OperationOutcome.extension\":\"Extension\",\"OperationOutcome.id\":\"System.String\",\"OperationOutcome.implicitRules\":\"uri\",\"OperationOutcome.issue\":\"BackboneElement\",\"OperationOutcome.issue.code\":\"code\",\"OperationOutcome.issue.details\":\"CodeableConcept\",\"OperationOutcome.issue.diagnostics\":\"string\",\"OperationOutcome.issue.expression\":\"string\",\"OperationOutcome.issue.extension\":\"Extension\",\"OperationOutcome.issue.id\":\"System.String\",\"OperationOutcome.issue.location\":\"string\",\"OperationOutcome.issue.modifierExtension\":\"Extension\",\"OperationOutcome.issue.severity\":\"code\",\"OperationOutcome.language\":\"code\",\"OperationOutcome.meta\":\"Meta\",\"OperationOutcome.modifierExtension\":\"Extension\",\"OperationOutcome.text\":\"Narrative\",\"Organization.active\":\"boolean\",\"Organization.address\":\"Address\",\"Organization.alias\":\"string\",\"Organization.contact\":\"BackboneElement\",\"Organization.contact.address\":\"Address\",\"Organization.contact.extension\":\"Extension\",\"Organization.contact.id\":\"System.String\",\"Organization.contact.modifierExtension\":\"Extension\",\"Organization.contact.name\":\"HumanName\",\"Organization.contact.purpose\":\"CodeableConcept\",\"Organization.contact.telecom\":\"ContactPoint\",\"Organization.contained\":\"Resource\",\"Organization.endpoint\":\"Reference\",\"Organization.extension\":\"Extension\",\"Organization.id\":\"System.String\",\"Organization.identifier\":\"Identifier\",\"Organization.implicitRules\":\"uri\",\"Organization.language\":\"code\",\"Organization.meta\":\"Meta\",\"Organization.modifierExtension\":\"Extension\",\"Organization.name\":\"string\",\"Organization.partOf\":\"Reference\",\"Organization.telecom\":\"ContactPoint\",\"Organization.text\":\"Narrative\",\"Organization.type\":\"CodeableConcept\",\"OrganizationAffiliation.active\":\"boolean\",\"OrganizationAffiliation.code\":\"CodeableConcept\",\"OrganizationAffiliation.contained\":\"Resource\",\"OrganizationAffiliation.endpoint\":\"Reference\",\"OrganizationAffiliation.extension\":\"Extension\",\"OrganizationAffiliation.healthcareService\":\"Reference\",\"OrganizationAffiliation.id\":\"System.String\",\"OrganizationAffiliation.identifier\":\"Identifier\",\"OrganizationAffiliation.implicitRules\":\"uri\",\"OrganizationAffiliation.language\":\"code\",\"OrganizationAffiliation.location\":\"Reference\",\"OrganizationAffiliation.meta\":\"Meta\",\"OrganizationAffiliation.modifierExtension\":\"Extension\",\"OrganizationAffiliation.network\":\"Reference\",\"OrganizationAffiliation.organization\":\"Reference\",\"OrganizationAffiliation.participatingOrganization\":\"Reference\",\"OrganizationAffiliation.period\":\"Period\",\"OrganizationAffiliation.specialty\":\"CodeableConcept\",\"OrganizationAffiliation.telecom\":\"ContactPoint\",\"OrganizationAffiliation.text\":\"Narrative\",\"ParameterDefinition.documentation\":\"string\",\"ParameterDefinition.extension\":\"Extension\",\"ParameterDefinition.id\":\"System.String\",\"ParameterDefinition.max\":\"string\",\"ParameterDefinition.min\":\"integer\",\"ParameterDefinition.name\":\"code\",\"ParameterDefinition.profile\":\"canonical\",\"ParameterDefinition.type\":\"code\",\"ParameterDefinition.use\":\"code\",\"Parameters.id\":\"System.String\",\"Parameters.implicitRules\":\"uri\",\"Parameters.language\":\"code\",\"Parameters.meta\":\"Meta\",\"Parameters.parameter\":\"BackboneElement\",\"Parameters.parameter.extension\":\"Extension\",\"Parameters.parameter.id\":\"System.String\",\"Parameters.parameter.modifierExtension\":\"Extension\",\"Parameters.parameter.name\":\"string\",\"Parameters.parameter.resource\":\"Resource\",\"Parameters.parameter.valueAddress\":\"Address\",\"Parameters.parameter.valueAge\":\"Age\",\"Parameters.parameter.valueAnnotation\":\"Annotation\",\"Parameters.parameter.valueAttachment\":\"Attachment\",\"Parameters.parameter.valueBase64Binary\":\"base64Binary\",\"Parameters.parameter.valueBoolean\":\"boolean\",\"Parameters.parameter.valueCanonical\":\"canonical\",\"Parameters.parameter.valueCode\":\"code\",\"Parameters.parameter.valueCodeableConcept\":\"CodeableConcept\",\"Parameters.parameter.valueCoding\":\"Coding\",\"Parameters.parameter.valueContactDetail\":\"ContactDetail\",\"Parameters.parameter.valueContactPoint\":\"ContactPoint\",\"Parameters.parameter.valueContributor\":\"Contributor\",\"Parameters.parameter.valueCount\":\"Count\",\"Parameters.parameter.valueDataRequirement\":\"DataRequirement\",\"Parameters.parameter.valueDate\":\"date\",\"Parameters.parameter.valueDateTime\":\"dateTime\",\"Parameters.parameter.valueDecimal\":\"decimal\",\"Parameters.parameter.valueDistance\":\"Distance\",\"Parameters.parameter.valueDosage\":\"Dosage\",\"Parameters.parameter.valueDuration\":\"Duration\",\"Parameters.parameter.valueExpression\":\"Expression\",\"Parameters.parameter.valueHumanName\":\"HumanName\",\"Parameters.parameter.valueId\":\"id\",\"Parameters.parameter.valueIdentifier\":\"Identifier\",\"Parameters.parameter.valueInstant\":\"instant\",\"Parameters.parameter.valueInteger\":\"integer\",\"Parameters.parameter.valueMarkdown\":\"markdown\",\"Parameters.parameter.valueMeta\":\"Meta\",\"Parameters.parameter.valueMoney\":\"Money\",\"Parameters.parameter.valueOid\":\"oid\",\"Parameters.parameter.valueParameterDefinition\":\"ParameterDefinition\",\"Parameters.parameter.valuePeriod\":\"Period\",\"Parameters.parameter.valuePositiveInt\":\"positiveInt\",\"Parameters.parameter.valueQuantity\":\"Quantity\",\"Parameters.parameter.valueRange\":\"Range\",\"Parameters.parameter.valueRatio\":\"Ratio\",\"Parameters.parameter.valueReference\":\"Reference\",\"Parameters.parameter.valueRelatedArtifact\":\"RelatedArtifact\",\"Parameters.parameter.valueSampledData\":\"SampledData\",\"Parameters.parameter.valueSignature\":\"Signature\",\"Parameters.parameter.valueString\":\"string\",\"Parameters.parameter.valueTime\":\"time\",\"Parameters.parameter.valueTiming\":\"Timing\",\"Parameters.parameter.valueTriggerDefinition\":\"TriggerDefinition\",\"Parameters.parameter.valueUnsignedInt\":\"unsignedInt\",\"Parameters.parameter.valueUri\":\"uri\",\"Parameters.parameter.valueUrl\":\"url\",\"Parameters.parameter.valueUsageContext\":\"UsageContext\",\"Parameters.parameter.valueUuid\":\"uuid\",\"Patient.active\":\"boolean\",\"Patient.address\":\"Address\",\"Patient.birthDate\":\"date\",\"Patient.communication\":\"BackboneElement\",\"Patient.communication.extension\":\"Extension\",\"Patient.communication.id\":\"System.String\",\"Patient.communication.language\":\"CodeableConcept\",\"Patient.communication.modifierExtension\":\"Extension\",\"Patient.communication.preferred\":\"boolean\",\"Patient.contact\":\"BackboneElement\",\"Patient.contact.address\":\"Address\",\"Patient.contact.extension\":\"Extension\",\"Patient.contact.gender\":\"code\",\"Patient.contact.id\":\"System.String\",\"Patient.contact.modifierExtension\":\"Extension\",\"Patient.contact.name\":\"HumanName\",\"Patient.contact.organization\":\"Reference\",\"Patient.contact.period\":\"Period\",\"Patient.contact.relationship\":\"CodeableConcept\",\"Patient.contact.telecom\":\"ContactPoint\",\"Patient.contained\":\"Resource\",\"Patient.deceasedBoolean\":\"boolean\",\"Patient.deceasedDateTime\":\"dateTime\",\"Patient.extension\":\"Extension\",\"Patient.gender\":\"code\",\"Patient.generalPractitioner\":\"Reference\",\"Patient.id\":\"System.String\",\"Patient.identifier\":\"Identifier\",\"Patient.implicitRules\":\"uri\",\"Patient.language\":\"code\",\"Patient.link\":\"BackboneElement\",\"Patient.link.extension\":\"Extension\",\"Patient.link.id\":\"System.String\",\"Patient.link.modifierExtension\":\"Extension\",\"Patient.link.other\":\"Reference\",\"Patient.link.type\":\"code\",\"Patient.managingOrganization\":\"Reference\",\"Patient.maritalStatus\":\"CodeableConcept\",\"Patient.meta\":\"Meta\",\"Patient.modifierExtension\":\"Extension\",\"Patient.multipleBirthBoolean\":\"boolean\",\"Patient.multipleBirthInteger\":\"integer\",\"Patient.name\":\"HumanName\",\"Patient.photo\":\"Attachment\",\"Patient.telecom\":\"ContactPoint\",\"Patient.text\":\"Narrative\",\"PaymentNotice.amount\":\"Money\",\"PaymentNotice.contained\":\"Resource\",\"PaymentNotice.created\":\"dateTime\",\"PaymentNotice.extension\":\"Extension\",\"PaymentNotice.id\":\"System.String\",\"PaymentNotice.identifier\":\"Identifier\",\"PaymentNotice.implicitRules\":\"uri\",\"PaymentNotice.language\":\"code\",\"PaymentNotice.meta\":\"Meta\",\"PaymentNotice.modifierExtension\":\"Extension\",\"PaymentNotice.payee\":\"Reference\",\"PaymentNotice.payment\":\"Reference\",\"PaymentNotice.paymentDate\":\"date\",\"PaymentNotice.paymentStatus\":\"CodeableConcept\",\"PaymentNotice.provider\":\"Reference\",\"PaymentNotice.recipient\":\"Reference\",\"PaymentNotice.request\":\"Reference\",\"PaymentNotice.response\":\"Reference\",\"PaymentNotice.status\":\"code\",\"PaymentNotice.text\":\"Narrative\",\"PaymentReconciliation.contained\":\"Resource\",\"PaymentReconciliation.created\":\"dateTime\",\"PaymentReconciliation.detail\":\"BackboneElement\",\"PaymentReconciliation.detail.amount\":\"Money\",\"PaymentReconciliation.detail.date\":\"date\",\"PaymentReconciliation.detail.extension\":\"Extension\",\"PaymentReconciliation.detail.id\":\"System.String\",\"PaymentReconciliation.detail.identifier\":\"Identifier\",\"PaymentReconciliation.detail.modifierExtension\":\"Extension\",\"PaymentReconciliation.detail.payee\":\"Reference\",\"PaymentReconciliation.detail.predecessor\":\"Identifier\",\"PaymentReconciliation.detail.request\":\"Reference\",\"PaymentReconciliation.detail.response\":\"Reference\",\"PaymentReconciliation.detail.responsible\":\"Reference\",\"PaymentReconciliation.detail.submitter\":\"Reference\",\"PaymentReconciliation.detail.type\":\"CodeableConcept\",\"PaymentReconciliation.disposition\":\"string\",\"PaymentReconciliation.extension\":\"Extension\",\"PaymentReconciliation.formCode\":\"CodeableConcept\",\"PaymentReconciliation.id\":\"System.String\",\"PaymentReconciliation.identifier\":\"Identifier\",\"PaymentReconciliation.implicitRules\":\"uri\",\"PaymentReconciliation.language\":\"code\",\"PaymentReconciliation.meta\":\"Meta\",\"PaymentReconciliation.modifierExtension\":\"Extension\",\"PaymentReconciliation.outcome\":\"code\",\"PaymentReconciliation.paymentAmount\":\"Money\",\"PaymentReconciliation.paymentDate\":\"date\",\"PaymentReconciliation.paymentIdentifier\":\"Identifier\",\"PaymentReconciliation.paymentIssuer\":\"Reference\",\"PaymentReconciliation.period\":\"Period\",\"PaymentReconciliation.processNote\":\"BackboneElement\",\"PaymentReconciliation.processNote.extension\":\"Extension\",\"PaymentReconciliation.processNote.id\":\"System.String\",\"PaymentReconciliation.processNote.modifierExtension\":\"Extension\",\"PaymentReconciliation.processNote.text\":\"string\",\"PaymentReconciliation.processNote.type\":\"code\",\"PaymentReconciliation.request\":\"Reference\",\"PaymentReconciliation.requestor\":\"Reference\",\"PaymentReconciliation.status\":\"code\",\"PaymentReconciliation.text\":\"Narrative\",\"Period.end\":\"dateTime\",\"Period.extension\":\"Extension\",\"Period.id\":\"System.String\",\"Period.start\":\"dateTime\",\"Person.active\":\"boolean\",\"Person.address\":\"Address\",\"Person.birthDate\":\"date\",\"Person.contained\":\"Resource\",\"Person.extension\":\"Extension\",\"Person.gender\":\"code\",\"Person.id\":\"System.String\",\"Person.identifier\":\"Identifier\",\"Person.implicitRules\":\"uri\",\"Person.language\":\"code\",\"Person.link\":\"BackboneElement\",\"Person.link.assurance\":\"code\",\"Person.link.extension\":\"Extension\",\"Person.link.id\":\"System.String\",\"Person.link.modifierExtension\":\"Extension\",\"Person.link.target\":\"Reference\",\"Person.managingOrganization\":\"Reference\",\"Person.meta\":\"Meta\",\"Person.modifierExtension\":\"Extension\",\"Person.name\":\"HumanName\",\"Person.photo\":\"Attachment\",\"Person.telecom\":\"ContactPoint\",\"Person.text\":\"Narrative\",\"PlanDefinition.action\":\"BackboneElement\",\"PlanDefinition.action.cardinalityBehavior\":\"code\",\"PlanDefinition.action.code\":\"CodeableConcept\",\"PlanDefinition.action.condition\":\"BackboneElement\",\"PlanDefinition.action.condition.expression\":\"Expression\",\"PlanDefinition.action.condition.extension\":\"Extension\",\"PlanDefinition.action.condition.id\":\"System.String\",\"PlanDefinition.action.condition.kind\":\"code\",\"PlanDefinition.action.condition.modifierExtension\":\"Extension\",\"PlanDefinition.action.definitionCanonical\":\"canonical\",\"PlanDefinition.action.definitionUri\":\"uri\",\"PlanDefinition.action.description\":\"string\",\"PlanDefinition.action.documentation\":\"RelatedArtifact\",\"PlanDefinition.action.dynamicValue\":\"BackboneElement\",\"PlanDefinition.action.dynamicValue.expression\":\"Expression\",\"PlanDefinition.action.dynamicValue.extension\":\"Extension\",\"PlanDefinition.action.dynamicValue.id\":\"System.String\",\"PlanDefinition.action.dynamicValue.modifierExtension\":\"Extension\",\"PlanDefinition.action.dynamicValue.path\":\"string\",\"PlanDefinition.action.extension\":\"Extension\",\"PlanDefinition.action.goalId\":\"id\",\"PlanDefinition.action.groupingBehavior\":\"code\",\"PlanDefinition.action.id\":\"System.String\",\"PlanDefinition.action.input\":\"DataRequirement\",\"PlanDefinition.action.modifierExtension\":\"Extension\",\"PlanDefinition.action.output\":\"DataRequirement\",\"PlanDefinition.action.participant\":\"BackboneElement\",\"PlanDefinition.action.participant.extension\":\"Extension\",\"PlanDefinition.action.participant.id\":\"System.String\",\"PlanDefinition.action.participant.modifierExtension\":\"Extension\",\"PlanDefinition.action.participant.role\":\"CodeableConcept\",\"PlanDefinition.action.participant.type\":\"code\",\"PlanDefinition.action.precheckBehavior\":\"code\",\"PlanDefinition.action.prefix\":\"string\",\"PlanDefinition.action.priority\":\"code\",\"PlanDefinition.action.reason\":\"CodeableConcept\",\"PlanDefinition.action.relatedAction\":\"BackboneElement\",\"PlanDefinition.action.relatedAction.actionId\":\"id\",\"PlanDefinition.action.relatedAction.extension\":\"Extension\",\"PlanDefinition.action.relatedAction.id\":\"System.String\",\"PlanDefinition.action.relatedAction.modifierExtension\":\"Extension\",\"PlanDefinition.action.relatedAction.offsetDuration\":\"Duration\",\"PlanDefinition.action.relatedAction.offsetRange\":\"Range\",\"PlanDefinition.action.relatedAction.relationship\":\"code\",\"PlanDefinition.action.requiredBehavior\":\"code\",\"PlanDefinition.action.selectionBehavior\":\"code\",\"PlanDefinition.action.subjectCodeableConcept\":\"CodeableConcept\",\"PlanDefinition.action.subjectReference\":\"Reference\",\"PlanDefinition.action.textEquivalent\":\"string\",\"PlanDefinition.action.timingAge\":\"Age\",\"PlanDefinition.action.timingDateTime\":\"dateTime\",\"PlanDefinition.action.timingDuration\":\"Duration\",\"PlanDefinition.action.timingPeriod\":\"Period\",\"PlanDefinition.action.timingRange\":\"Range\",\"PlanDefinition.action.timingTiming\":\"Timing\",\"PlanDefinition.action.title\":\"string\",\"PlanDefinition.action.transform\":\"canonical\",\"PlanDefinition.action.trigger\":\"TriggerDefinition\",\"PlanDefinition.action.type\":\"CodeableConcept\",\"PlanDefinition.approvalDate\":\"date\",\"PlanDefinition.author\":\"ContactDetail\",\"PlanDefinition.contact\":\"ContactDetail\",\"PlanDefinition.contained\":\"Resource\",\"PlanDefinition.copyright\":\"markdown\",\"PlanDefinition.date\":\"dateTime\",\"PlanDefinition.description\":\"markdown\",\"PlanDefinition.editor\":\"ContactDetail\",\"PlanDefinition.effectivePeriod\":\"Period\",\"PlanDefinition.endorser\":\"ContactDetail\",\"PlanDefinition.experimental\":\"boolean\",\"PlanDefinition.extension\":\"Extension\",\"PlanDefinition.goal\":\"BackboneElement\",\"PlanDefinition.goal.addresses\":\"CodeableConcept\",\"PlanDefinition.goal.category\":\"CodeableConcept\",\"PlanDefinition.goal.description\":\"CodeableConcept\",\"PlanDefinition.goal.documentation\":\"RelatedArtifact\",\"PlanDefinition.goal.extension\":\"Extension\",\"PlanDefinition.goal.id\":\"System.String\",\"PlanDefinition.goal.modifierExtension\":\"Extension\",\"PlanDefinition.goal.priority\":\"CodeableConcept\",\"PlanDefinition.goal.start\":\"CodeableConcept\",\"PlanDefinition.goal.target\":\"BackboneElement\",\"PlanDefinition.goal.target.detailCodeableConcept\":\"CodeableConcept\",\"PlanDefinition.goal.target.detailQuantity\":\"Quantity\",\"PlanDefinition.goal.target.detailRange\":\"Range\",\"PlanDefinition.goal.target.due\":\"Duration\",\"PlanDefinition.goal.target.extension\":\"Extension\",\"PlanDefinition.goal.target.id\":\"System.String\",\"PlanDefinition.goal.target.measure\":\"CodeableConcept\",\"PlanDefinition.goal.target.modifierExtension\":\"Extension\",\"PlanDefinition.id\":\"System.String\",\"PlanDefinition.identifier\":\"Identifier\",\"PlanDefinition.implicitRules\":\"uri\",\"PlanDefinition.jurisdiction\":\"CodeableConcept\",\"PlanDefinition.language\":\"code\",\"PlanDefinition.lastReviewDate\":\"date\",\"PlanDefinition.library\":\"canonical\",\"PlanDefinition.meta\":\"Meta\",\"PlanDefinition.modifierExtension\":\"Extension\",\"PlanDefinition.name\":\"string\",\"PlanDefinition.publisher\":\"string\",\"PlanDefinition.purpose\":\"markdown\",\"PlanDefinition.relatedArtifact\":\"RelatedArtifact\",\"PlanDefinition.reviewer\":\"ContactDetail\",\"PlanDefinition.status\":\"code\",\"PlanDefinition.subjectCodeableConcept\":\"CodeableConcept\",\"PlanDefinition.subjectReference\":\"Reference\",\"PlanDefinition.subtitle\":\"string\",\"PlanDefinition.text\":\"Narrative\",\"PlanDefinition.title\":\"string\",\"PlanDefinition.topic\":\"CodeableConcept\",\"PlanDefinition.type\":\"CodeableConcept\",\"PlanDefinition.url\":\"uri\",\"PlanDefinition.usage\":\"string\",\"PlanDefinition.useContext\":\"UsageContext\",\"PlanDefinition.version\":\"string\",\"Population.ageCodeableConcept\":\"CodeableConcept\",\"Population.ageRange\":\"Range\",\"Population.extension\":\"Extension\",\"Population.gender\":\"CodeableConcept\",\"Population.id\":\"System.String\",\"Population.modifierExtension\":\"Extension\",\"Population.physiologicalCondition\":\"CodeableConcept\",\"Population.race\":\"CodeableConcept\",\"Practitioner.active\":\"boolean\",\"Practitioner.address\":\"Address\",\"Practitioner.birthDate\":\"date\",\"Practitioner.communication\":\"CodeableConcept\",\"Practitioner.contained\":\"Resource\",\"Practitioner.extension\":\"Extension\",\"Practitioner.gender\":\"code\",\"Practitioner.id\":\"System.String\",\"Practitioner.identifier\":\"Identifier\",\"Practitioner.implicitRules\":\"uri\",\"Practitioner.language\":\"code\",\"Practitioner.meta\":\"Meta\",\"Practitioner.modifierExtension\":\"Extension\",\"Practitioner.name\":\"HumanName\",\"Practitioner.photo\":\"Attachment\",\"Practitioner.qualification\":\"BackboneElement\",\"Practitioner.qualification.code\":\"CodeableConcept\",\"Practitioner.qualification.extension\":\"Extension\",\"Practitioner.qualification.id\":\"System.String\",\"Practitioner.qualification.identifier\":\"Identifier\",\"Practitioner.qualification.issuer\":\"Reference\",\"Practitioner.qualification.modifierExtension\":\"Extension\",\"Practitioner.qualification.period\":\"Period\",\"Practitioner.telecom\":\"ContactPoint\",\"Practitioner.text\":\"Narrative\",\"PractitionerRole.active\":\"boolean\",\"PractitionerRole.availabilityExceptions\":\"string\",\"PractitionerRole.availableTime\":\"BackboneElement\",\"PractitionerRole.availableTime.allDay\":\"boolean\",\"PractitionerRole.availableTime.availableEndTime\":\"time\",\"PractitionerRole.availableTime.availableStartTime\":\"time\",\"PractitionerRole.availableTime.daysOfWeek\":\"code\",\"PractitionerRole.availableTime.extension\":\"Extension\",\"PractitionerRole.availableTime.id\":\"System.String\",\"PractitionerRole.availableTime.modifierExtension\":\"Extension\",\"PractitionerRole.code\":\"CodeableConcept\",\"PractitionerRole.contained\":\"Resource\",\"PractitionerRole.endpoint\":\"Reference\",\"PractitionerRole.extension\":\"Extension\",\"PractitionerRole.healthcareService\":\"Reference\",\"PractitionerRole.id\":\"System.String\",\"PractitionerRole.identifier\":\"Identifier\",\"PractitionerRole.implicitRules\":\"uri\",\"PractitionerRole.language\":\"code\",\"PractitionerRole.location\":\"Reference\",\"PractitionerRole.meta\":\"Meta\",\"PractitionerRole.modifierExtension\":\"Extension\",\"PractitionerRole.notAvailable\":\"BackboneElement\",\"PractitionerRole.notAvailable.description\":\"string\",\"PractitionerRole.notAvailable.during\":\"Period\",\"PractitionerRole.notAvailable.extension\":\"Extension\",\"PractitionerRole.notAvailable.id\":\"System.String\",\"PractitionerRole.notAvailable.modifierExtension\":\"Extension\",\"PractitionerRole.organization\":\"Reference\",\"PractitionerRole.period\":\"Period\",\"PractitionerRole.practitioner\":\"Reference\",\"PractitionerRole.specialty\":\"CodeableConcept\",\"PractitionerRole.telecom\":\"ContactPoint\",\"PractitionerRole.text\":\"Narrative\",\"Procedure.asserter\":\"Reference\",\"Procedure.basedOn\":\"Reference\",\"Procedure.bodySite\":\"CodeableConcept\",\"Procedure.category\":\"CodeableConcept\",\"Procedure.code\":\"CodeableConcept\",\"Procedure.complication\":\"CodeableConcept\",\"Procedure.complicationDetail\":\"Reference\",\"Procedure.contained\":\"Resource\",\"Procedure.encounter\":\"Reference\",\"Procedure.extension\":\"Extension\",\"Procedure.focalDevice\":\"BackboneElement\",\"Procedure.focalDevice.action\":\"CodeableConcept\",\"Procedure.focalDevice.extension\":\"Extension\",\"Procedure.focalDevice.id\":\"System.String\",\"Procedure.focalDevice.manipulated\":\"Reference\",\"Procedure.focalDevice.modifierExtension\":\"Extension\",\"Procedure.followUp\":\"CodeableConcept\",\"Procedure.id\":\"System.String\",\"Procedure.identifier\":\"Identifier\",\"Procedure.implicitRules\":\"uri\",\"Procedure.instantiatesCanonical\":\"canonical\",\"Procedure.instantiatesUri\":\"uri\",\"Procedure.language\":\"code\",\"Procedure.location\":\"Reference\",\"Procedure.meta\":\"Meta\",\"Procedure.modifierExtension\":\"Extension\",\"Procedure.note\":\"Annotation\",\"Procedure.outcome\":\"CodeableConcept\",\"Procedure.partOf\":\"Reference\",\"Procedure.performedAge\":\"Age\",\"Procedure.performedDateTime\":\"dateTime\",\"Procedure.performedPeriod\":\"Period\",\"Procedure.performedRange\":\"Range\",\"Procedure.performedString\":\"string\",\"Procedure.performer\":\"BackboneElement\",\"Procedure.performer.actor\":\"Reference\",\"Procedure.performer.extension\":\"Extension\",\"Procedure.performer.function\":\"CodeableConcept\",\"Procedure.performer.id\":\"System.String\",\"Procedure.performer.modifierExtension\":\"Extension\",\"Procedure.performer.onBehalfOf\":\"Reference\",\"Procedure.reasonCode\":\"CodeableConcept\",\"Procedure.reasonReference\":\"Reference\",\"Procedure.recorder\":\"Reference\",\"Procedure.report\":\"Reference\",\"Procedure.status\":\"code\",\"Procedure.statusReason\":\"CodeableConcept\",\"Procedure.subject\":\"Reference\",\"Procedure.text\":\"Narrative\",\"Procedure.usedCode\":\"CodeableConcept\",\"Procedure.usedReference\":\"Reference\",\"ProdCharacteristic.color\":\"string\",\"ProdCharacteristic.depth\":\"Quantity\",\"ProdCharacteristic.extension\":\"Extension\",\"ProdCharacteristic.externalDiameter\":\"Quantity\",\"ProdCharacteristic.height\":\"Quantity\",\"ProdCharacteristic.id\":\"System.String\",\"ProdCharacteristic.image\":\"Attachment\",\"ProdCharacteristic.imprint\":\"string\",\"ProdCharacteristic.modifierExtension\":\"Extension\",\"ProdCharacteristic.nominalVolume\":\"Quantity\",\"ProdCharacteristic.scoring\":\"CodeableConcept\",\"ProdCharacteristic.shape\":\"string\",\"ProdCharacteristic.weight\":\"Quantity\",\"ProdCharacteristic.width\":\"Quantity\",\"ProductShelfLife.extension\":\"Extension\",\"ProductShelfLife.id\":\"System.String\",\"ProductShelfLife.identifier\":\"Identifier\",\"ProductShelfLife.modifierExtension\":\"Extension\",\"ProductShelfLife.period\":\"Quantity\",\"ProductShelfLife.specialPrecautionsForStorage\":\"CodeableConcept\",\"ProductShelfLife.type\":\"CodeableConcept\",\"Provenance.activity\":\"CodeableConcept\",\"Provenance.agent\":\"BackboneElement\",\"Provenance.agent.extension\":\"Extension\",\"Provenance.agent.id\":\"System.String\",\"Provenance.agent.modifierExtension\":\"Extension\",\"Provenance.agent.onBehalfOf\":\"Reference\",\"Provenance.agent.role\":\"CodeableConcept\",\"Provenance.agent.type\":\"CodeableConcept\",\"Provenance.agent.who\":\"Reference\",\"Provenance.contained\":\"Resource\",\"Provenance.entity\":\"BackboneElement\",\"Provenance.entity.extension\":\"Extension\",\"Provenance.entity.id\":\"System.String\",\"Provenance.entity.modifierExtension\":\"Extension\",\"Provenance.entity.role\":\"code\",\"Provenance.entity.what\":\"Reference\",\"Provenance.extension\":\"Extension\",\"Provenance.id\":\"System.String\",\"Provenance.implicitRules\":\"uri\",\"Provenance.language\":\"code\",\"Provenance.location\":\"Reference\",\"Provenance.meta\":\"Meta\",\"Provenance.modifierExtension\":\"Extension\",\"Provenance.occurredDateTime\":\"dateTime\",\"Provenance.occurredPeriod\":\"Period\",\"Provenance.policy\":\"uri\",\"Provenance.reason\":\"CodeableConcept\",\"Provenance.recorded\":\"instant\",\"Provenance.signature\":\"Signature\",\"Provenance.target\":\"Reference\",\"Provenance.text\":\"Narrative\",\"Quantity.code\":\"code\",\"Quantity.comparator\":\"code\",\"Quantity.extension\":\"Extension\",\"Quantity.id\":\"System.String\",\"Quantity.system\":\"uri\",\"Quantity.unit\":\"string\",\"Quantity.value\":\"decimal\",\"Questionnaire.approvalDate\":\"date\",\"Questionnaire.code\":\"Coding\",\"Questionnaire.contact\":\"ContactDetail\",\"Questionnaire.contained\":\"Resource\",\"Questionnaire.copyright\":\"markdown\",\"Questionnaire.date\":\"dateTime\",\"Questionnaire.derivedFrom\":\"canonical\",\"Questionnaire.description\":\"markdown\",\"Questionnaire.effectivePeriod\":\"Period\",\"Questionnaire.experimental\":\"boolean\",\"Questionnaire.extension\":\"Extension\",\"Questionnaire.id\":\"System.String\",\"Questionnaire.identifier\":\"Identifier\",\"Questionnaire.implicitRules\":\"uri\",\"Questionnaire.item\":\"BackboneElement\",\"Questionnaire.item.answerOption\":\"BackboneElement\",\"Questionnaire.item.answerOption.extension\":\"Extension\",\"Questionnaire.item.answerOption.id\":\"System.String\",\"Questionnaire.item.answerOption.initialSelected\":\"boolean\",\"Questionnaire.item.answerOption.modifierExtension\":\"Extension\",\"Questionnaire.item.answerOption.valueCoding\":\"Coding\",\"Questionnaire.item.answerOption.valueDate\":\"date\",\"Questionnaire.item.answerOption.valueInteger\":\"integer\",\"Questionnaire.item.answerOption.valueReference\":\"Reference\",\"Questionnaire.item.answerOption.valueString\":\"string\",\"Questionnaire.item.answerOption.valueTime\":\"time\",\"Questionnaire.item.answerValueSet\":\"canonical\",\"Questionnaire.item.code\":\"Coding\",\"Questionnaire.item.definition\":\"uri\",\"Questionnaire.item.enableBehavior\":\"code\",\"Questionnaire.item.enableWhen\":\"BackboneElement\",\"Questionnaire.item.enableWhen.answerBoolean\":\"boolean\",\"Questionnaire.item.enableWhen.answerCoding\":\"Coding\",\"Questionnaire.item.enableWhen.answerDate\":\"date\",\"Questionnaire.item.enableWhen.answerDateTime\":\"dateTime\",\"Questionnaire.item.enableWhen.answerDecimal\":\"decimal\",\"Questionnaire.item.enableWhen.answerInteger\":\"integer\",\"Questionnaire.item.enableWhen.answerQuantity\":\"Quantity\",\"Questionnaire.item.enableWhen.answerReference\":\"Reference\",\"Questionnaire.item.enableWhen.answerString\":\"string\",\"Questionnaire.item.enableWhen.answerTime\":\"time\",\"Questionnaire.item.enableWhen.extension\":\"Extension\",\"Questionnaire.item.enableWhen.id\":\"System.String\",\"Questionnaire.item.enableWhen.modifierExtension\":\"Extension\",\"Questionnaire.item.enableWhen.operator\":\"code\",\"Questionnaire.item.enableWhen.question\":\"string\",\"Questionnaire.item.extension\":\"Extension\",\"Questionnaire.item.id\":\"System.String\",\"Questionnaire.item.initial\":\"BackboneElement\",\"Questionnaire.item.initial.extension\":\"Extension\",\"Questionnaire.item.initial.id\":\"System.String\",\"Questionnaire.item.initial.modifierExtension\":\"Extension\",\"Questionnaire.item.initial.valueAttachment\":\"Attachment\",\"Questionnaire.item.initial.valueBoolean\":\"boolean\",\"Questionnaire.item.initial.valueCoding\":\"Coding\",\"Questionnaire.item.initial.valueDate\":\"date\",\"Questionnaire.item.initial.valueDateTime\":\"dateTime\",\"Questionnaire.item.initial.valueDecimal\":\"decimal\",\"Questionnaire.item.initial.valueInteger\":\"integer\",\"Questionnaire.item.initial.valueQuantity\":\"Quantity\",\"Questionnaire.item.initial.valueReference\":\"Reference\",\"Questionnaire.item.initial.valueString\":\"string\",\"Questionnaire.item.initial.valueTime\":\"time\",\"Questionnaire.item.initial.valueUri\":\"uri\",\"Questionnaire.item.linkId\":\"string\",\"Questionnaire.item.maxLength\":\"integer\",\"Questionnaire.item.modifierExtension\":\"Extension\",\"Questionnaire.item.prefix\":\"string\",\"Questionnaire.item.readOnly\":\"boolean\",\"Questionnaire.item.repeats\":\"boolean\",\"Questionnaire.item.required\":\"boolean\",\"Questionnaire.item.text\":\"string\",\"Questionnaire.item.type\":\"code\",\"Questionnaire.jurisdiction\":\"CodeableConcept\",\"Questionnaire.language\":\"code\",\"Questionnaire.lastReviewDate\":\"date\",\"Questionnaire.meta\":\"Meta\",\"Questionnaire.modifierExtension\":\"Extension\",\"Questionnaire.name\":\"string\",\"Questionnaire.publisher\":\"string\",\"Questionnaire.purpose\":\"markdown\",\"Questionnaire.status\":\"code\",\"Questionnaire.subjectType\":\"code\",\"Questionnaire.text\":\"Narrative\",\"Questionnaire.title\":\"string\",\"Questionnaire.url\":\"uri\",\"Questionnaire.useContext\":\"UsageContext\",\"Questionnaire.version\":\"string\",\"QuestionnaireResponse.author\":\"Reference\",\"QuestionnaireResponse.authored\":\"dateTime\",\"QuestionnaireResponse.basedOn\":\"Reference\",\"QuestionnaireResponse.contained\":\"Resource\",\"QuestionnaireResponse.encounter\":\"Reference\",\"QuestionnaireResponse.extension\":\"Extension\",\"QuestionnaireResponse.id\":\"System.String\",\"QuestionnaireResponse.identifier\":\"Identifier\",\"QuestionnaireResponse.implicitRules\":\"uri\",\"QuestionnaireResponse.item\":\"BackboneElement\",\"QuestionnaireResponse.item.answer\":\"BackboneElement\",\"QuestionnaireResponse.item.answer.extension\":\"Extension\",\"QuestionnaireResponse.item.answer.id\":\"System.String\",\"QuestionnaireResponse.item.answer.modifierExtension\":\"Extension\",\"QuestionnaireResponse.item.answer.valueAttachment\":\"Attachment\",\"QuestionnaireResponse.item.answer.valueBoolean\":\"boolean\",\"QuestionnaireResponse.item.answer.valueCoding\":\"Coding\",\"QuestionnaireResponse.item.answer.valueDate\":\"date\",\"QuestionnaireResponse.item.answer.valueDateTime\":\"dateTime\",\"QuestionnaireResponse.item.answer.valueDecimal\":\"decimal\",\"QuestionnaireResponse.item.answer.valueInteger\":\"integer\",\"QuestionnaireResponse.item.answer.valueQuantity\":\"Quantity\",\"QuestionnaireResponse.item.answer.valueReference\":\"Reference\",\"QuestionnaireResponse.item.answer.valueString\":\"string\",\"QuestionnaireResponse.item.answer.valueTime\":\"time\",\"QuestionnaireResponse.item.answer.valueUri\":\"uri\",\"QuestionnaireResponse.item.definition\":\"uri\",\"QuestionnaireResponse.item.extension\":\"Extension\",\"QuestionnaireResponse.item.id\":\"System.String\",\"QuestionnaireResponse.item.linkId\":\"string\",\"QuestionnaireResponse.item.modifierExtension\":\"Extension\",\"QuestionnaireResponse.item.text\":\"string\",\"QuestionnaireResponse.language\":\"code\",\"QuestionnaireResponse.meta\":\"Meta\",\"QuestionnaireResponse.modifierExtension\":\"Extension\",\"QuestionnaireResponse.partOf\":\"Reference\",\"QuestionnaireResponse.questionnaire\":\"canonical\",\"QuestionnaireResponse.source\":\"Reference\",\"QuestionnaireResponse.status\":\"code\",\"QuestionnaireResponse.subject\":\"Reference\",\"QuestionnaireResponse.text\":\"Narrative\",\"Range.extension\":\"Extension\",\"Range.high\":\"Quantity\",\"Range.id\":\"System.String\",\"Range.low\":\"Quantity\",\"Ratio.denominator\":\"Quantity\",\"Ratio.extension\":\"Extension\",\"Ratio.id\":\"System.String\",\"Ratio.numerator\":\"Quantity\",\"Reference.display\":\"string\",\"Reference.extension\":\"Extension\",\"Reference.id\":\"System.String\",\"Reference.identifier\":\"Identifier\",\"Reference.reference\":\"string\",\"Reference.type\":\"uri\",\"RelatedArtifact.citation\":\"markdown\",\"RelatedArtifact.display\":\"string\",\"RelatedArtifact.document\":\"Attachment\",\"RelatedArtifact.extension\":\"Extension\",\"RelatedArtifact.id\":\"System.String\",\"RelatedArtifact.label\":\"string\",\"RelatedArtifact.resource\":\"canonical\",\"RelatedArtifact.type\":\"code\",\"RelatedArtifact.url\":\"url\",\"RelatedPerson.active\":\"boolean\",\"RelatedPerson.address\":\"Address\",\"RelatedPerson.birthDate\":\"date\",\"RelatedPerson.communication\":\"BackboneElement\",\"RelatedPerson.communication.extension\":\"Extension\",\"RelatedPerson.communication.id\":\"System.String\",\"RelatedPerson.communication.language\":\"CodeableConcept\",\"RelatedPerson.communication.modifierExtension\":\"Extension\",\"RelatedPerson.communication.preferred\":\"boolean\",\"RelatedPerson.contained\":\"Resource\",\"RelatedPerson.extension\":\"Extension\",\"RelatedPerson.gender\":\"code\",\"RelatedPerson.id\":\"System.String\",\"RelatedPerson.identifier\":\"Identifier\",\"RelatedPerson.implicitRules\":\"uri\",\"RelatedPerson.language\":\"code\",\"RelatedPerson.meta\":\"Meta\",\"RelatedPerson.modifierExtension\":\"Extension\",\"RelatedPerson.name\":\"HumanName\",\"RelatedPerson.patient\":\"Reference\",\"RelatedPerson.period\":\"Period\",\"RelatedPerson.photo\":\"Attachment\",\"RelatedPerson.relationship\":\"CodeableConcept\",\"RelatedPerson.telecom\":\"ContactPoint\",\"RelatedPerson.text\":\"Narrative\",\"RequestGroup.action\":\"BackboneElement\",\"RequestGroup.action.cardinalityBehavior\":\"code\",\"RequestGroup.action.code\":\"CodeableConcept\",\"RequestGroup.action.condition\":\"BackboneElement\",\"RequestGroup.action.condition.expression\":\"Expression\",\"RequestGroup.action.condition.extension\":\"Extension\",\"RequestGroup.action.condition.id\":\"System.String\",\"RequestGroup.action.condition.kind\":\"code\",\"RequestGroup.action.condition.modifierExtension\":\"Extension\",\"RequestGroup.action.description\":\"string\",\"RequestGroup.action.documentation\":\"RelatedArtifact\",\"RequestGroup.action.extension\":\"Extension\",\"RequestGroup.action.groupingBehavior\":\"code\",\"RequestGroup.action.id\":\"System.String\",\"RequestGroup.action.modifierExtension\":\"Extension\",\"RequestGroup.action.participant\":\"Reference\",\"RequestGroup.action.precheckBehavior\":\"code\",\"RequestGroup.action.prefix\":\"string\",\"RequestGroup.action.priority\":\"code\",\"RequestGroup.action.relatedAction\":\"BackboneElement\",\"RequestGroup.action.relatedAction.actionId\":\"id\",\"RequestGroup.action.relatedAction.extension\":\"Extension\",\"RequestGroup.action.relatedAction.id\":\"System.String\",\"RequestGroup.action.relatedAction.modifierExtension\":\"Extension\",\"RequestGroup.action.relatedAction.offsetDuration\":\"Duration\",\"RequestGroup.action.relatedAction.offsetRange\":\"Range\",\"RequestGroup.action.relatedAction.relationship\":\"code\",\"RequestGroup.action.requiredBehavior\":\"code\",\"RequestGroup.action.resource\":\"Reference\",\"RequestGroup.action.selectionBehavior\":\"code\",\"RequestGroup.action.textEquivalent\":\"string\",\"RequestGroup.action.timingAge\":\"Age\",\"RequestGroup.action.timingDateTime\":\"dateTime\",\"RequestGroup.action.timingDuration\":\"Duration\",\"RequestGroup.action.timingPeriod\":\"Period\",\"RequestGroup.action.timingRange\":\"Range\",\"RequestGroup.action.timingTiming\":\"Timing\",\"RequestGroup.action.title\":\"string\",\"RequestGroup.action.type\":\"CodeableConcept\",\"RequestGroup.author\":\"Reference\",\"RequestGroup.authoredOn\":\"dateTime\",\"RequestGroup.basedOn\":\"Reference\",\"RequestGroup.code\":\"CodeableConcept\",\"RequestGroup.contained\":\"Resource\",\"RequestGroup.encounter\":\"Reference\",\"RequestGroup.extension\":\"Extension\",\"RequestGroup.groupIdentifier\":\"Identifier\",\"RequestGroup.id\":\"System.String\",\"RequestGroup.identifier\":\"Identifier\",\"RequestGroup.implicitRules\":\"uri\",\"RequestGroup.instantiatesCanonical\":\"canonical\",\"RequestGroup.instantiatesUri\":\"uri\",\"RequestGroup.intent\":\"code\",\"RequestGroup.language\":\"code\",\"RequestGroup.meta\":\"Meta\",\"RequestGroup.modifierExtension\":\"Extension\",\"RequestGroup.note\":\"Annotation\",\"RequestGroup.priority\":\"code\",\"RequestGroup.reasonCode\":\"CodeableConcept\",\"RequestGroup.reasonReference\":\"Reference\",\"RequestGroup.replaces\":\"Reference\",\"RequestGroup.status\":\"code\",\"RequestGroup.subject\":\"Reference\",\"RequestGroup.text\":\"Narrative\",\"ResearchDefinition.approvalDate\":\"date\",\"ResearchDefinition.author\":\"ContactDetail\",\"ResearchDefinition.comment\":\"string\",\"ResearchDefinition.contact\":\"ContactDetail\",\"ResearchDefinition.contained\":\"Resource\",\"ResearchDefinition.copyright\":\"markdown\",\"ResearchDefinition.date\":\"dateTime\",\"ResearchDefinition.description\":\"markdown\",\"ResearchDefinition.editor\":\"ContactDetail\",\"ResearchDefinition.effectivePeriod\":\"Period\",\"ResearchDefinition.endorser\":\"ContactDetail\",\"ResearchDefinition.experimental\":\"boolean\",\"ResearchDefinition.exposure\":\"Reference\",\"ResearchDefinition.exposureAlternative\":\"Reference\",\"ResearchDefinition.extension\":\"Extension\",\"ResearchDefinition.id\":\"System.String\",\"ResearchDefinition.identifier\":\"Identifier\",\"ResearchDefinition.implicitRules\":\"uri\",\"ResearchDefinition.jurisdiction\":\"CodeableConcept\",\"ResearchDefinition.language\":\"code\",\"ResearchDefinition.lastReviewDate\":\"date\",\"ResearchDefinition.library\":\"canonical\",\"ResearchDefinition.meta\":\"Meta\",\"ResearchDefinition.modifierExtension\":\"Extension\",\"ResearchDefinition.name\":\"string\",\"ResearchDefinition.outcome\":\"Reference\",\"ResearchDefinition.population\":\"Reference\",\"ResearchDefinition.publisher\":\"string\",\"ResearchDefinition.purpose\":\"markdown\",\"ResearchDefinition.relatedArtifact\":\"RelatedArtifact\",\"ResearchDefinition.reviewer\":\"ContactDetail\",\"ResearchDefinition.shortTitle\":\"string\",\"ResearchDefinition.status\":\"code\",\"ResearchDefinition.subjectCodeableConcept\":\"CodeableConcept\",\"ResearchDefinition.subjectReference\":\"Reference\",\"ResearchDefinition.subtitle\":\"string\",\"ResearchDefinition.text\":\"Narrative\",\"ResearchDefinition.title\":\"string\",\"ResearchDefinition.topic\":\"CodeableConcept\",\"ResearchDefinition.url\":\"uri\",\"ResearchDefinition.usage\":\"string\",\"ResearchDefinition.useContext\":\"UsageContext\",\"ResearchDefinition.version\":\"string\",\"ResearchElementDefinition.approvalDate\":\"date\",\"ResearchElementDefinition.author\":\"ContactDetail\",\"ResearchElementDefinition.characteristic\":\"BackboneElement\",\"ResearchElementDefinition.characteristic.definitionCanonical\":\"canonical\",\"ResearchElementDefinition.characteristic.definitionCodeableConcept\":\"CodeableConcept\",\"ResearchElementDefinition.characteristic.definitionDataRequirement\":\"DataRequirement\",\"ResearchElementDefinition.characteristic.definitionExpression\":\"Expression\",\"ResearchElementDefinition.characteristic.exclude\":\"boolean\",\"ResearchElementDefinition.characteristic.extension\":\"Extension\",\"ResearchElementDefinition.characteristic.id\":\"System.String\",\"ResearchElementDefinition.characteristic.modifierExtension\":\"Extension\",\"ResearchElementDefinition.characteristic.participantEffectiveDateTime\":\"dateTime\",\"ResearchElementDefinition.characteristic.participantEffectiveDescription\":\"string\",\"ResearchElementDefinition.characteristic.participantEffectiveDuration\":\"Duration\",\"ResearchElementDefinition.characteristic.participantEffectiveGroupMeasure\":\"code\",\"ResearchElementDefinition.characteristic.participantEffectivePeriod\":\"Period\",\"ResearchElementDefinition.characteristic.participantEffectiveTimeFromStart\":\"Duration\",\"ResearchElementDefinition.characteristic.participantEffectiveTiming\":\"Timing\",\"ResearchElementDefinition.characteristic.studyEffectiveDateTime\":\"dateTime\",\"ResearchElementDefinition.characteristic.studyEffectiveDescription\":\"string\",\"ResearchElementDefinition.characteristic.studyEffectiveDuration\":\"Duration\",\"ResearchElementDefinition.characteristic.studyEffectiveGroupMeasure\":\"code\",\"ResearchElementDefinition.characteristic.studyEffectivePeriod\":\"Period\",\"ResearchElementDefinition.characteristic.studyEffectiveTimeFromStart\":\"Duration\",\"ResearchElementDefinition.characteristic.studyEffectiveTiming\":\"Timing\",\"ResearchElementDefinition.characteristic.unitOfMeasure\":\"CodeableConcept\",\"ResearchElementDefinition.characteristic.usageContext\":\"UsageContext\",\"ResearchElementDefinition.comment\":\"string\",\"ResearchElementDefinition.contact\":\"ContactDetail\",\"ResearchElementDefinition.contained\":\"Resource\",\"ResearchElementDefinition.copyright\":\"markdown\",\"ResearchElementDefinition.date\":\"dateTime\",\"ResearchElementDefinition.description\":\"markdown\",\"ResearchElementDefinition.editor\":\"ContactDetail\",\"ResearchElementDefinition.effectivePeriod\":\"Period\",\"ResearchElementDefinition.endorser\":\"ContactDetail\",\"ResearchElementDefinition.experimental\":\"boolean\",\"ResearchElementDefinition.extension\":\"Extension\",\"ResearchElementDefinition.id\":\"System.String\",\"ResearchElementDefinition.identifier\":\"Identifier\",\"ResearchElementDefinition.implicitRules\":\"uri\",\"ResearchElementDefinition.jurisdiction\":\"CodeableConcept\",\"ResearchElementDefinition.language\":\"code\",\"ResearchElementDefinition.lastReviewDate\":\"date\",\"ResearchElementDefinition.library\":\"canonical\",\"ResearchElementDefinition.meta\":\"Meta\",\"ResearchElementDefinition.modifierExtension\":\"Extension\",\"ResearchElementDefinition.name\":\"string\",\"ResearchElementDefinition.publisher\":\"string\",\"ResearchElementDefinition.purpose\":\"markdown\",\"ResearchElementDefinition.relatedArtifact\":\"RelatedArtifact\",\"ResearchElementDefinition.reviewer\":\"ContactDetail\",\"ResearchElementDefinition.shortTitle\":\"string\",\"ResearchElementDefinition.status\":\"code\",\"ResearchElementDefinition.subjectCodeableConcept\":\"CodeableConcept\",\"ResearchElementDefinition.subjectReference\":\"Reference\",\"ResearchElementDefinition.subtitle\":\"string\",\"ResearchElementDefinition.text\":\"Narrative\",\"ResearchElementDefinition.title\":\"string\",\"ResearchElementDefinition.topic\":\"CodeableConcept\",\"ResearchElementDefinition.type\":\"code\",\"ResearchElementDefinition.url\":\"uri\",\"ResearchElementDefinition.usage\":\"string\",\"ResearchElementDefinition.useContext\":\"UsageContext\",\"ResearchElementDefinition.variableType\":\"code\",\"ResearchElementDefinition.version\":\"string\",\"ResearchStudy.arm\":\"BackboneElement\",\"ResearchStudy.arm.description\":\"string\",\"ResearchStudy.arm.extension\":\"Extension\",\"ResearchStudy.arm.id\":\"System.String\",\"ResearchStudy.arm.modifierExtension\":\"Extension\",\"ResearchStudy.arm.name\":\"string\",\"ResearchStudy.arm.type\":\"CodeableConcept\",\"ResearchStudy.category\":\"CodeableConcept\",\"ResearchStudy.condition\":\"CodeableConcept\",\"ResearchStudy.contact\":\"ContactDetail\",\"ResearchStudy.contained\":\"Resource\",\"ResearchStudy.description\":\"markdown\",\"ResearchStudy.enrollment\":\"Reference\",\"ResearchStudy.extension\":\"Extension\",\"ResearchStudy.focus\":\"CodeableConcept\",\"ResearchStudy.id\":\"System.String\",\"ResearchStudy.identifier\":\"Identifier\",\"ResearchStudy.implicitRules\":\"uri\",\"ResearchStudy.keyword\":\"CodeableConcept\",\"ResearchStudy.language\":\"code\",\"ResearchStudy.location\":\"CodeableConcept\",\"ResearchStudy.meta\":\"Meta\",\"ResearchStudy.modifierExtension\":\"Extension\",\"ResearchStudy.note\":\"Annotation\",\"ResearchStudy.objective\":\"BackboneElement\",\"ResearchStudy.objective.extension\":\"Extension\",\"ResearchStudy.objective.id\":\"System.String\",\"ResearchStudy.objective.modifierExtension\":\"Extension\",\"ResearchStudy.objective.name\":\"string\",\"ResearchStudy.objective.type\":\"CodeableConcept\",\"ResearchStudy.partOf\":\"Reference\",\"ResearchStudy.period\":\"Period\",\"ResearchStudy.phase\":\"CodeableConcept\",\"ResearchStudy.primaryPurposeType\":\"CodeableConcept\",\"ResearchStudy.principalInvestigator\":\"Reference\",\"ResearchStudy.protocol\":\"Reference\",\"ResearchStudy.reasonStopped\":\"CodeableConcept\",\"ResearchStudy.relatedArtifact\":\"RelatedArtifact\",\"ResearchStudy.site\":\"Reference\",\"ResearchStudy.sponsor\":\"Reference\",\"ResearchStudy.status\":\"code\",\"ResearchStudy.text\":\"Narrative\",\"ResearchStudy.title\":\"string\",\"ResearchSubject.actualArm\":\"string\",\"ResearchSubject.assignedArm\":\"string\",\"ResearchSubject.consent\":\"Reference\",\"ResearchSubject.contained\":\"Resource\",\"ResearchSubject.extension\":\"Extension\",\"ResearchSubject.id\":\"System.String\",\"ResearchSubject.identifier\":\"Identifier\",\"ResearchSubject.implicitRules\":\"uri\",\"ResearchSubject.individual\":\"Reference\",\"ResearchSubject.language\":\"code\",\"ResearchSubject.meta\":\"Meta\",\"ResearchSubject.modifierExtension\":\"Extension\",\"ResearchSubject.period\":\"Period\",\"ResearchSubject.status\":\"code\",\"ResearchSubject.study\":\"Reference\",\"ResearchSubject.text\":\"Narrative\",\"Resource.id\":\"System.String\",\"Resource.implicitRules\":\"uri\",\"Resource.language\":\"code\",\"Resource.meta\":\"Meta\",\"RiskAssessment.basedOn\":\"Reference\",\"RiskAssessment.basis\":\"Reference\",\"RiskAssessment.code\":\"CodeableConcept\",\"RiskAssessment.condition\":\"Reference\",\"RiskAssessment.contained\":\"Resource\",\"RiskAssessment.encounter\":\"Reference\",\"RiskAssessment.extension\":\"Extension\",\"RiskAssessment.id\":\"System.String\",\"RiskAssessment.identifier\":\"Identifier\",\"RiskAssessment.implicitRules\":\"uri\",\"RiskAssessment.language\":\"code\",\"RiskAssessment.meta\":\"Meta\",\"RiskAssessment.method\":\"CodeableConcept\",\"RiskAssessment.mitigation\":\"string\",\"RiskAssessment.modifierExtension\":\"Extension\",\"RiskAssessment.note\":\"Annotation\",\"RiskAssessment.occurrenceDateTime\":\"dateTime\",\"RiskAssessment.occurrencePeriod\":\"Period\",\"RiskAssessment.parent\":\"Reference\",\"RiskAssessment.performer\":\"Reference\",\"RiskAssessment.prediction\":\"BackboneElement\",\"RiskAssessment.prediction.extension\":\"Extension\",\"RiskAssessment.prediction.id\":\"System.String\",\"RiskAssessment.prediction.modifierExtension\":\"Extension\",\"RiskAssessment.prediction.outcome\":\"CodeableConcept\",\"RiskAssessment.prediction.probabilityDecimal\":\"decimal\",\"RiskAssessment.prediction.probabilityRange\":\"Range\",\"RiskAssessment.prediction.qualitativeRisk\":\"CodeableConcept\",\"RiskAssessment.prediction.rationale\":\"string\",\"RiskAssessment.prediction.relativeRisk\":\"decimal\",\"RiskAssessment.prediction.whenPeriod\":\"Period\",\"RiskAssessment.prediction.whenRange\":\"Range\",\"RiskAssessment.reasonCode\":\"CodeableConcept\",\"RiskAssessment.reasonReference\":\"Reference\",\"RiskAssessment.status\":\"code\",\"RiskAssessment.subject\":\"Reference\",\"RiskAssessment.text\":\"Narrative\",\"RiskEvidenceSynthesis.approvalDate\":\"date\",\"RiskEvidenceSynthesis.author\":\"ContactDetail\",\"RiskEvidenceSynthesis.certainty\":\"BackboneElement\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent\":\"BackboneElement\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent.extension\":\"Extension\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent.id\":\"System.String\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent.modifierExtension\":\"Extension\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent.note\":\"Annotation\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent.rating\":\"CodeableConcept\",\"RiskEvidenceSynthesis.certainty.certaintySubcomponent.type\":\"CodeableConcept\",\"RiskEvidenceSynthesis.certainty.extension\":\"Extension\",\"RiskEvidenceSynthesis.certainty.id\":\"System.String\",\"RiskEvidenceSynthesis.certainty.modifierExtension\":\"Extension\",\"RiskEvidenceSynthesis.certainty.note\":\"Annotation\",\"RiskEvidenceSynthesis.certainty.rating\":\"CodeableConcept\",\"RiskEvidenceSynthesis.contact\":\"ContactDetail\",\"RiskEvidenceSynthesis.contained\":\"Resource\",\"RiskEvidenceSynthesis.copyright\":\"markdown\",\"RiskEvidenceSynthesis.date\":\"dateTime\",\"RiskEvidenceSynthesis.description\":\"markdown\",\"RiskEvidenceSynthesis.editor\":\"ContactDetail\",\"RiskEvidenceSynthesis.effectivePeriod\":\"Period\",\"RiskEvidenceSynthesis.endorser\":\"ContactDetail\",\"RiskEvidenceSynthesis.exposure\":\"Reference\",\"RiskEvidenceSynthesis.extension\":\"Extension\",\"RiskEvidenceSynthesis.id\":\"System.String\",\"RiskEvidenceSynthesis.identifier\":\"Identifier\",\"RiskEvidenceSynthesis.implicitRules\":\"uri\",\"RiskEvidenceSynthesis.jurisdiction\":\"CodeableConcept\",\"RiskEvidenceSynthesis.language\":\"code\",\"RiskEvidenceSynthesis.lastReviewDate\":\"date\",\"RiskEvidenceSynthesis.meta\":\"Meta\",\"RiskEvidenceSynthesis.modifierExtension\":\"Extension\",\"RiskEvidenceSynthesis.name\":\"string\",\"RiskEvidenceSynthesis.note\":\"Annotation\",\"RiskEvidenceSynthesis.outcome\":\"Reference\",\"RiskEvidenceSynthesis.population\":\"Reference\",\"RiskEvidenceSynthesis.publisher\":\"string\",\"RiskEvidenceSynthesis.relatedArtifact\":\"RelatedArtifact\",\"RiskEvidenceSynthesis.reviewer\":\"ContactDetail\",\"RiskEvidenceSynthesis.riskEstimate\":\"BackboneElement\",\"RiskEvidenceSynthesis.riskEstimate.denominatorCount\":\"integer\",\"RiskEvidenceSynthesis.riskEstimate.description\":\"string\",\"RiskEvidenceSynthesis.riskEstimate.extension\":\"Extension\",\"RiskEvidenceSynthesis.riskEstimate.id\":\"System.String\",\"RiskEvidenceSynthesis.riskEstimate.modifierExtension\":\"Extension\",\"RiskEvidenceSynthesis.riskEstimate.numeratorCount\":\"integer\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate\":\"BackboneElement\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.extension\":\"Extension\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.from\":\"decimal\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.id\":\"System.String\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.level\":\"decimal\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.modifierExtension\":\"Extension\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.to\":\"decimal\",\"RiskEvidenceSynthesis.riskEstimate.precisionEstimate.type\":\"CodeableConcept\",\"RiskEvidenceSynthesis.riskEstimate.type\":\"CodeableConcept\",\"RiskEvidenceSynthesis.riskEstimate.unitOfMeasure\":\"CodeableConcept\",\"RiskEvidenceSynthesis.riskEstimate.value\":\"decimal\",\"RiskEvidenceSynthesis.sampleSize\":\"BackboneElement\",\"RiskEvidenceSynthesis.sampleSize.description\":\"string\",\"RiskEvidenceSynthesis.sampleSize.extension\":\"Extension\",\"RiskEvidenceSynthesis.sampleSize.id\":\"System.String\",\"RiskEvidenceSynthesis.sampleSize.modifierExtension\":\"Extension\",\"RiskEvidenceSynthesis.sampleSize.numberOfParticipants\":\"integer\",\"RiskEvidenceSynthesis.sampleSize.numberOfStudies\":\"integer\",\"RiskEvidenceSynthesis.status\":\"code\",\"RiskEvidenceSynthesis.studyType\":\"CodeableConcept\",\"RiskEvidenceSynthesis.synthesisType\":\"CodeableConcept\",\"RiskEvidenceSynthesis.text\":\"Narrative\",\"RiskEvidenceSynthesis.title\":\"string\",\"RiskEvidenceSynthesis.topic\":\"CodeableConcept\",\"RiskEvidenceSynthesis.url\":\"uri\",\"RiskEvidenceSynthesis.useContext\":\"UsageContext\",\"RiskEvidenceSynthesis.version\":\"string\",\"SampledData.data\":\"string\",\"SampledData.dimensions\":\"positiveInt\",\"SampledData.extension\":\"Extension\",\"SampledData.factor\":\"decimal\",\"SampledData.id\":\"System.String\",\"SampledData.lowerLimit\":\"decimal\",\"SampledData.origin\":\"Quantity\",\"SampledData.period\":\"decimal\",\"SampledData.upperLimit\":\"decimal\",\"Schedule.active\":\"boolean\",\"Schedule.actor\":\"Reference\",\"Schedule.comment\":\"string\",\"Schedule.contained\":\"Resource\",\"Schedule.extension\":\"Extension\",\"Schedule.id\":\"System.String\",\"Schedule.identifier\":\"Identifier\",\"Schedule.implicitRules\":\"uri\",\"Schedule.language\":\"code\",\"Schedule.meta\":\"Meta\",\"Schedule.modifierExtension\":\"Extension\",\"Schedule.planningHorizon\":\"Period\",\"Schedule.serviceCategory\":\"CodeableConcept\",\"Schedule.serviceType\":\"CodeableConcept\",\"Schedule.specialty\":\"CodeableConcept\",\"Schedule.text\":\"Narrative\",\"SearchParameter.base\":\"code\",\"SearchParameter.chain\":\"string\",\"SearchParameter.code\":\"code\",\"SearchParameter.comparator\":\"code\",\"SearchParameter.component\":\"BackboneElement\",\"SearchParameter.component.definition\":\"canonical\",\"SearchParameter.component.expression\":\"string\",\"SearchParameter.component.extension\":\"Extension\",\"SearchParameter.component.id\":\"System.String\",\"SearchParameter.component.modifierExtension\":\"Extension\",\"SearchParameter.contact\":\"ContactDetail\",\"SearchParameter.contained\":\"Resource\",\"SearchParameter.date\":\"dateTime\",\"SearchParameter.derivedFrom\":\"canonical\",\"SearchParameter.description\":\"markdown\",\"SearchParameter.experimental\":\"boolean\",\"SearchParameter.expression\":\"string\",\"SearchParameter.extension\":\"Extension\",\"SearchParameter.id\":\"System.String\",\"SearchParameter.implicitRules\":\"uri\",\"SearchParameter.jurisdiction\":\"CodeableConcept\",\"SearchParameter.language\":\"code\",\"SearchParameter.meta\":\"Meta\",\"SearchParameter.modifier\":\"code\",\"SearchParameter.modifierExtension\":\"Extension\",\"SearchParameter.multipleAnd\":\"boolean\",\"SearchParameter.multipleOr\":\"boolean\",\"SearchParameter.name\":\"string\",\"SearchParameter.publisher\":\"string\",\"SearchParameter.purpose\":\"markdown\",\"SearchParameter.status\":\"code\",\"SearchParameter.target\":\"code\",\"SearchParameter.text\":\"Narrative\",\"SearchParameter.type\":\"code\",\"SearchParameter.url\":\"uri\",\"SearchParameter.useContext\":\"UsageContext\",\"SearchParameter.version\":\"string\",\"SearchParameter.xpath\":\"string\",\"SearchParameter.xpathUsage\":\"code\",\"ServiceRequest.asNeededBoolean\":\"boolean\",\"ServiceRequest.asNeededCodeableConcept\":\"CodeableConcept\",\"ServiceRequest.authoredOn\":\"dateTime\",\"ServiceRequest.basedOn\":\"Reference\",\"ServiceRequest.bodySite\":\"CodeableConcept\",\"ServiceRequest.category\":\"CodeableConcept\",\"ServiceRequest.code\":\"CodeableConcept\",\"ServiceRequest.contained\":\"Resource\",\"ServiceRequest.doNotPerform\":\"boolean\",\"ServiceRequest.encounter\":\"Reference\",\"ServiceRequest.extension\":\"Extension\",\"ServiceRequest.id\":\"System.String\",\"ServiceRequest.identifier\":\"Identifier\",\"ServiceRequest.implicitRules\":\"uri\",\"ServiceRequest.instantiatesCanonical\":\"canonical\",\"ServiceRequest.instantiatesUri\":\"uri\",\"ServiceRequest.insurance\":\"Reference\",\"ServiceRequest.intent\":\"code\",\"ServiceRequest.language\":\"code\",\"ServiceRequest.locationCode\":\"CodeableConcept\",\"ServiceRequest.locationReference\":\"Reference\",\"ServiceRequest.meta\":\"Meta\",\"ServiceRequest.modifierExtension\":\"Extension\",\"ServiceRequest.note\":\"Annotation\",\"ServiceRequest.occurrenceDateTime\":\"dateTime\",\"ServiceRequest.occurrencePeriod\":\"Period\",\"ServiceRequest.occurrenceTiming\":\"Timing\",\"ServiceRequest.orderDetail\":\"CodeableConcept\",\"ServiceRequest.patientInstruction\":\"string\",\"ServiceRequest.performer\":\"Reference\",\"ServiceRequest.performerType\":\"CodeableConcept\",\"ServiceRequest.priority\":\"code\",\"ServiceRequest.quantityQuantity\":\"Quantity\",\"ServiceRequest.quantityRange\":\"Range\",\"ServiceRequest.quantityRatio\":\"Ratio\",\"ServiceRequest.reasonCode\":\"CodeableConcept\",\"ServiceRequest.reasonReference\":\"Reference\",\"ServiceRequest.relevantHistory\":\"Reference\",\"ServiceRequest.replaces\":\"Reference\",\"ServiceRequest.requester\":\"Reference\",\"ServiceRequest.requisition\":\"Identifier\",\"ServiceRequest.specimen\":\"Reference\",\"ServiceRequest.status\":\"code\",\"ServiceRequest.subject\":\"Reference\",\"ServiceRequest.supportingInfo\":\"Reference\",\"ServiceRequest.text\":\"Narrative\",\"Signature.data\":\"base64Binary\",\"Signature.extension\":\"Extension\",\"Signature.id\":\"System.String\",\"Signature.onBehalfOf\":\"Reference\",\"Signature.sigFormat\":\"code\",\"Signature.targetFormat\":\"code\",\"Signature.type\":\"Coding\",\"Signature.when\":\"instant\",\"Signature.who\":\"Reference\",\"Slot.appointmentType\":\"CodeableConcept\",\"Slot.comment\":\"string\",\"Slot.contained\":\"Resource\",\"Slot.end\":\"instant\",\"Slot.extension\":\"Extension\",\"Slot.id\":\"System.String\",\"Slot.identifier\":\"Identifier\",\"Slot.implicitRules\":\"uri\",\"Slot.language\":\"code\",\"Slot.meta\":\"Meta\",\"Slot.modifierExtension\":\"Extension\",\"Slot.overbooked\":\"boolean\",\"Slot.schedule\":\"Reference\",\"Slot.serviceCategory\":\"CodeableConcept\",\"Slot.serviceType\":\"CodeableConcept\",\"Slot.specialty\":\"CodeableConcept\",\"Slot.start\":\"instant\",\"Slot.status\":\"code\",\"Slot.text\":\"Narrative\",\"Specimen.accessionIdentifier\":\"Identifier\",\"Specimen.collection\":\"BackboneElement\",\"Specimen.collection.bodySite\":\"CodeableConcept\",\"Specimen.collection.collectedDateTime\":\"dateTime\",\"Specimen.collection.collectedPeriod\":\"Period\",\"Specimen.collection.collector\":\"Reference\",\"Specimen.collection.duration\":\"Duration\",\"Specimen.collection.extension\":\"Extension\",\"Specimen.collection.fastingStatusCodeableConcept\":\"CodeableConcept\",\"Specimen.collection.fastingStatusDuration\":\"Duration\",\"Specimen.collection.id\":\"System.String\",\"Specimen.collection.method\":\"CodeableConcept\",\"Specimen.collection.modifierExtension\":\"Extension\",\"Specimen.collection.quantity\":\"Quantity\",\"Specimen.condition\":\"CodeableConcept\",\"Specimen.contained\":\"Resource\",\"Specimen.container\":\"BackboneElement\",\"Specimen.container.additiveCodeableConcept\":\"CodeableConcept\",\"Specimen.container.additiveReference\":\"Reference\",\"Specimen.container.capacity\":\"Quantity\",\"Specimen.container.description\":\"string\",\"Specimen.container.extension\":\"Extension\",\"Specimen.container.id\":\"System.String\",\"Specimen.container.identifier\":\"Identifier\",\"Specimen.container.modifierExtension\":\"Extension\",\"Specimen.container.specimenQuantity\":\"Quantity\",\"Specimen.container.type\":\"CodeableConcept\",\"Specimen.extension\":\"Extension\",\"Specimen.id\":\"System.String\",\"Specimen.identifier\":\"Identifier\",\"Specimen.implicitRules\":\"uri\",\"Specimen.language\":\"code\",\"Specimen.meta\":\"Meta\",\"Specimen.modifierExtension\":\"Extension\",\"Specimen.note\":\"Annotation\",\"Specimen.parent\":\"Reference\",\"Specimen.processing\":\"BackboneElement\",\"Specimen.processing.additive\":\"Reference\",\"Specimen.processing.description\":\"string\",\"Specimen.processing.extension\":\"Extension\",\"Specimen.processing.id\":\"System.String\",\"Specimen.processing.modifierExtension\":\"Extension\",\"Specimen.processing.procedure\":\"CodeableConcept\",\"Specimen.processing.timeDateTime\":\"dateTime\",\"Specimen.processing.timePeriod\":\"Period\",\"Specimen.receivedTime\":\"dateTime\",\"Specimen.request\":\"Reference\",\"Specimen.status\":\"code\",\"Specimen.subject\":\"Reference\",\"Specimen.text\":\"Narrative\",\"Specimen.type\":\"CodeableConcept\",\"SpecimenDefinition.collection\":\"CodeableConcept\",\"SpecimenDefinition.contained\":\"Resource\",\"SpecimenDefinition.extension\":\"Extension\",\"SpecimenDefinition.id\":\"System.String\",\"SpecimenDefinition.identifier\":\"Identifier\",\"SpecimenDefinition.implicitRules\":\"uri\",\"SpecimenDefinition.language\":\"code\",\"SpecimenDefinition.meta\":\"Meta\",\"SpecimenDefinition.modifierExtension\":\"Extension\",\"SpecimenDefinition.patientPreparation\":\"CodeableConcept\",\"SpecimenDefinition.text\":\"Narrative\",\"SpecimenDefinition.timeAspect\":\"string\",\"SpecimenDefinition.typeCollected\":\"CodeableConcept\",\"SpecimenDefinition.typeTested\":\"BackboneElement\",\"SpecimenDefinition.typeTested.container\":\"BackboneElement\",\"SpecimenDefinition.typeTested.container.additive\":\"BackboneElement\",\"SpecimenDefinition.typeTested.container.additive.additiveCodeableConcept\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.container.additive.additiveReference\":\"Reference\",\"SpecimenDefinition.typeTested.container.additive.extension\":\"Extension\",\"SpecimenDefinition.typeTested.container.additive.id\":\"System.String\",\"SpecimenDefinition.typeTested.container.additive.modifierExtension\":\"Extension\",\"SpecimenDefinition.typeTested.container.cap\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.container.capacity\":\"Quantity\",\"SpecimenDefinition.typeTested.container.description\":\"string\",\"SpecimenDefinition.typeTested.container.extension\":\"Extension\",\"SpecimenDefinition.typeTested.container.id\":\"System.String\",\"SpecimenDefinition.typeTested.container.material\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.container.minimumVolumeQuantity\":\"Quantity\",\"SpecimenDefinition.typeTested.container.minimumVolumeString\":\"string\",\"SpecimenDefinition.typeTested.container.modifierExtension\":\"Extension\",\"SpecimenDefinition.typeTested.container.preparation\":\"string\",\"SpecimenDefinition.typeTested.container.type\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.extension\":\"Extension\",\"SpecimenDefinition.typeTested.handling\":\"BackboneElement\",\"SpecimenDefinition.typeTested.handling.extension\":\"Extension\",\"SpecimenDefinition.typeTested.handling.id\":\"System.String\",\"SpecimenDefinition.typeTested.handling.instruction\":\"string\",\"SpecimenDefinition.typeTested.handling.maxDuration\":\"Duration\",\"SpecimenDefinition.typeTested.handling.modifierExtension\":\"Extension\",\"SpecimenDefinition.typeTested.handling.temperatureQualifier\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.handling.temperatureRange\":\"Range\",\"SpecimenDefinition.typeTested.id\":\"System.String\",\"SpecimenDefinition.typeTested.isDerived\":\"boolean\",\"SpecimenDefinition.typeTested.modifierExtension\":\"Extension\",\"SpecimenDefinition.typeTested.preference\":\"code\",\"SpecimenDefinition.typeTested.rejectionCriterion\":\"CodeableConcept\",\"SpecimenDefinition.typeTested.requirement\":\"string\",\"SpecimenDefinition.typeTested.retentionTime\":\"Duration\",\"SpecimenDefinition.typeTested.type\":\"CodeableConcept\",\"StructureDefinition.abstract\":\"boolean\",\"StructureDefinition.baseDefinition\":\"canonical\",\"StructureDefinition.contact\":\"ContactDetail\",\"StructureDefinition.contained\":\"Resource\",\"StructureDefinition.context\":\"BackboneElement\",\"StructureDefinition.context.expression\":\"string\",\"StructureDefinition.context.extension\":\"Extension\",\"StructureDefinition.context.id\":\"System.String\",\"StructureDefinition.context.modifierExtension\":\"Extension\",\"StructureDefinition.context.type\":\"code\",\"StructureDefinition.contextInvariant\":\"string\",\"StructureDefinition.copyright\":\"markdown\",\"StructureDefinition.date\":\"dateTime\",\"StructureDefinition.derivation\":\"code\",\"StructureDefinition.description\":\"markdown\",\"StructureDefinition.differential\":\"BackboneElement\",\"StructureDefinition.differential.element\":\"ElementDefinition\",\"StructureDefinition.differential.extension\":\"Extension\",\"StructureDefinition.differential.id\":\"System.String\",\"StructureDefinition.differential.modifierExtension\":\"Extension\",\"StructureDefinition.experimental\":\"boolean\",\"StructureDefinition.extension\":\"Extension\",\"StructureDefinition.fhirVersion\":\"code\",\"StructureDefinition.id\":\"System.String\",\"StructureDefinition.identifier\":\"Identifier\",\"StructureDefinition.implicitRules\":\"uri\",\"StructureDefinition.jurisdiction\":\"CodeableConcept\",\"StructureDefinition.keyword\":\"Coding\",\"StructureDefinition.kind\":\"code\",\"StructureDefinition.language\":\"code\",\"StructureDefinition.mapping\":\"BackboneElement\",\"StructureDefinition.mapping.comment\":\"string\",\"StructureDefinition.mapping.extension\":\"Extension\",\"StructureDefinition.mapping.id\":\"System.String\",\"StructureDefinition.mapping.identity\":\"id\",\"StructureDefinition.mapping.modifierExtension\":\"Extension\",\"StructureDefinition.mapping.name\":\"string\",\"StructureDefinition.mapping.uri\":\"uri\",\"StructureDefinition.meta\":\"Meta\",\"StructureDefinition.modifierExtension\":\"Extension\",\"StructureDefinition.name\":\"string\",\"StructureDefinition.publisher\":\"string\",\"StructureDefinition.purpose\":\"markdown\",\"StructureDefinition.snapshot\":\"BackboneElement\",\"StructureDefinition.snapshot.element\":\"ElementDefinition\",\"StructureDefinition.snapshot.extension\":\"Extension\",\"StructureDefinition.snapshot.id\":\"System.String\",\"StructureDefinition.snapshot.modifierExtension\":\"Extension\",\"StructureDefinition.status\":\"code\",\"StructureDefinition.text\":\"Narrative\",\"StructureDefinition.title\":\"string\",\"StructureDefinition.type\":\"uri\",\"StructureDefinition.url\":\"uri\",\"StructureDefinition.useContext\":\"UsageContext\",\"StructureDefinition.version\":\"string\",\"StructureMap.contact\":\"ContactDetail\",\"StructureMap.contained\":\"Resource\",\"StructureMap.copyright\":\"markdown\",\"StructureMap.date\":\"dateTime\",\"StructureMap.description\":\"markdown\",\"StructureMap.experimental\":\"boolean\",\"StructureMap.extension\":\"Extension\",\"StructureMap.group\":\"BackboneElement\",\"StructureMap.group.documentation\":\"string\",\"StructureMap.group.extends\":\"id\",\"StructureMap.group.extension\":\"Extension\",\"StructureMap.group.id\":\"System.String\",\"StructureMap.group.input\":\"BackboneElement\",\"StructureMap.group.input.documentation\":\"string\",\"StructureMap.group.input.extension\":\"Extension\",\"StructureMap.group.input.id\":\"System.String\",\"StructureMap.group.input.mode\":\"code\",\"StructureMap.group.input.modifierExtension\":\"Extension\",\"StructureMap.group.input.name\":\"id\",\"StructureMap.group.input.type\":\"string\",\"StructureMap.group.modifierExtension\":\"Extension\",\"StructureMap.group.name\":\"id\",\"StructureMap.group.rule\":\"BackboneElement\",\"StructureMap.group.rule.dependent\":\"BackboneElement\",\"StructureMap.group.rule.dependent.extension\":\"Extension\",\"StructureMap.group.rule.dependent.id\":\"System.String\",\"StructureMap.group.rule.dependent.modifierExtension\":\"Extension\",\"StructureMap.group.rule.dependent.name\":\"id\",\"StructureMap.group.rule.dependent.variable\":\"string\",\"StructureMap.group.rule.documentation\":\"string\",\"StructureMap.group.rule.extension\":\"Extension\",\"StructureMap.group.rule.id\":\"System.String\",\"StructureMap.group.rule.modifierExtension\":\"Extension\",\"StructureMap.group.rule.name\":\"id\",\"StructureMap.group.rule.source\":\"BackboneElement\",\"StructureMap.group.rule.source.check\":\"string\",\"StructureMap.group.rule.source.condition\":\"string\",\"StructureMap.group.rule.source.context\":\"id\",\"StructureMap.group.rule.source.defaultValueAddress\":\"Address\",\"StructureMap.group.rule.source.defaultValueAge\":\"Age\",\"StructureMap.group.rule.source.defaultValueAnnotation\":\"Annotation\",\"StructureMap.group.rule.source.defaultValueAttachment\":\"Attachment\",\"StructureMap.group.rule.source.defaultValueBase64Binary\":\"base64Binary\",\"StructureMap.group.rule.source.defaultValueBoolean\":\"boolean\",\"StructureMap.group.rule.source.defaultValueCanonical\":\"canonical\",\"StructureMap.group.rule.source.defaultValueCode\":\"code\",\"StructureMap.group.rule.source.defaultValueCodeableConcept\":\"CodeableConcept\",\"StructureMap.group.rule.source.defaultValueCoding\":\"Coding\",\"StructureMap.group.rule.source.defaultValueContactDetail\":\"ContactDetail\",\"StructureMap.group.rule.source.defaultValueContactPoint\":\"ContactPoint\",\"StructureMap.group.rule.source.defaultValueContributor\":\"Contributor\",\"StructureMap.group.rule.source.defaultValueCount\":\"Count\",\"StructureMap.group.rule.source.defaultValueDataRequirement\":\"DataRequirement\",\"StructureMap.group.rule.source.defaultValueDate\":\"date\",\"StructureMap.group.rule.source.defaultValueDateTime\":\"dateTime\",\"StructureMap.group.rule.source.defaultValueDecimal\":\"decimal\",\"StructureMap.group.rule.source.defaultValueDistance\":\"Distance\",\"StructureMap.group.rule.source.defaultValueDosage\":\"Dosage\",\"StructureMap.group.rule.source.defaultValueDuration\":\"Duration\",\"StructureMap.group.rule.source.defaultValueExpression\":\"Expression\",\"StructureMap.group.rule.source.defaultValueHumanName\":\"HumanName\",\"StructureMap.group.rule.source.defaultValueId\":\"id\",\"StructureMap.group.rule.source.defaultValueIdentifier\":\"Identifier\",\"StructureMap.group.rule.source.defaultValueInstant\":\"instant\",\"StructureMap.group.rule.source.defaultValueInteger\":\"integer\",\"StructureMap.group.rule.source.defaultValueMarkdown\":\"markdown\",\"StructureMap.group.rule.source.defaultValueMeta\":\"Meta\",\"StructureMap.group.rule.source.defaultValueMoney\":\"Money\",\"StructureMap.group.rule.source.defaultValueOid\":\"oid\",\"StructureMap.group.rule.source.defaultValueParameterDefinition\":\"ParameterDefinition\",\"StructureMap.group.rule.source.defaultValuePeriod\":\"Period\",\"StructureMap.group.rule.source.defaultValuePositiveInt\":\"positiveInt\",\"StructureMap.group.rule.source.defaultValueQuantity\":\"Quantity\",\"StructureMap.group.rule.source.defaultValueRange\":\"Range\",\"StructureMap.group.rule.source.defaultValueRatio\":\"Ratio\",\"StructureMap.group.rule.source.defaultValueReference\":\"Reference\",\"StructureMap.group.rule.source.defaultValueRelatedArtifact\":\"RelatedArtifact\",\"StructureMap.group.rule.source.defaultValueSampledData\":\"SampledData\",\"StructureMap.group.rule.source.defaultValueSignature\":\"Signature\",\"StructureMap.group.rule.source.defaultValueString\":\"string\",\"StructureMap.group.rule.source.defaultValueTime\":\"time\",\"StructureMap.group.rule.source.defaultValueTiming\":\"Timing\",\"StructureMap.group.rule.source.defaultValueTriggerDefinition\":\"TriggerDefinition\",\"StructureMap.group.rule.source.defaultValueUnsignedInt\":\"unsignedInt\",\"StructureMap.group.rule.source.defaultValueUri\":\"uri\",\"StructureMap.group.rule.source.defaultValueUrl\":\"url\",\"StructureMap.group.rule.source.defaultValueUsageContext\":\"UsageContext\",\"StructureMap.group.rule.source.defaultValueUuid\":\"uuid\",\"StructureMap.group.rule.source.element\":\"string\",\"StructureMap.group.rule.source.extension\":\"Extension\",\"StructureMap.group.rule.source.id\":\"System.String\",\"StructureMap.group.rule.source.listMode\":\"code\",\"StructureMap.group.rule.source.logMessage\":\"string\",\"StructureMap.group.rule.source.max\":\"string\",\"StructureMap.group.rule.source.min\":\"integer\",\"StructureMap.group.rule.source.modifierExtension\":\"Extension\",\"StructureMap.group.rule.source.type\":\"string\",\"StructureMap.group.rule.source.variable\":\"id\",\"StructureMap.group.rule.target\":\"BackboneElement\",\"StructureMap.group.rule.target.context\":\"id\",\"StructureMap.group.rule.target.contextType\":\"code\",\"StructureMap.group.rule.target.element\":\"string\",\"StructureMap.group.rule.target.extension\":\"Extension\",\"StructureMap.group.rule.target.id\":\"System.String\",\"StructureMap.group.rule.target.listMode\":\"code\",\"StructureMap.group.rule.target.listRuleId\":\"id\",\"StructureMap.group.rule.target.modifierExtension\":\"Extension\",\"StructureMap.group.rule.target.parameter\":\"BackboneElement\",\"StructureMap.group.rule.target.parameter.extension\":\"Extension\",\"StructureMap.group.rule.target.parameter.id\":\"System.String\",\"StructureMap.group.rule.target.parameter.modifierExtension\":\"Extension\",\"StructureMap.group.rule.target.parameter.valueBoolean\":\"boolean\",\"StructureMap.group.rule.target.parameter.valueDecimal\":\"decimal\",\"StructureMap.group.rule.target.parameter.valueId\":\"id\",\"StructureMap.group.rule.target.parameter.valueInteger\":\"integer\",\"StructureMap.group.rule.target.parameter.valueString\":\"string\",\"StructureMap.group.rule.target.transform\":\"code\",\"StructureMap.group.rule.target.variable\":\"id\",\"StructureMap.group.typeMode\":\"code\",\"StructureMap.id\":\"System.String\",\"StructureMap.identifier\":\"Identifier\",\"StructureMap.implicitRules\":\"uri\",\"StructureMap.import\":\"canonical\",\"StructureMap.jurisdiction\":\"CodeableConcept\",\"StructureMap.language\":\"code\",\"StructureMap.meta\":\"Meta\",\"StructureMap.modifierExtension\":\"Extension\",\"StructureMap.name\":\"string\",\"StructureMap.publisher\":\"string\",\"StructureMap.purpose\":\"markdown\",\"StructureMap.status\":\"code\",\"StructureMap.structure\":\"BackboneElement\",\"StructureMap.structure.alias\":\"string\",\"StructureMap.structure.documentation\":\"string\",\"StructureMap.structure.extension\":\"Extension\",\"StructureMap.structure.id\":\"System.String\",\"StructureMap.structure.mode\":\"code\",\"StructureMap.structure.modifierExtension\":\"Extension\",\"StructureMap.structure.url\":\"canonical\",\"StructureMap.text\":\"Narrative\",\"StructureMap.title\":\"string\",\"StructureMap.url\":\"uri\",\"StructureMap.useContext\":\"UsageContext\",\"StructureMap.version\":\"string\",\"Subscription.channel\":\"BackboneElement\",\"Subscription.channel.endpoint\":\"url\",\"Subscription.channel.extension\":\"Extension\",\"Subscription.channel.header\":\"string\",\"Subscription.channel.id\":\"System.String\",\"Subscription.channel.modifierExtension\":\"Extension\",\"Subscription.channel.payload\":\"code\",\"Subscription.channel.type\":\"code\",\"Subscription.contact\":\"ContactPoint\",\"Subscription.contained\":\"Resource\",\"Subscription.criteria\":\"string\",\"Subscription.end\":\"instant\",\"Subscription.error\":\"string\",\"Subscription.extension\":\"Extension\",\"Subscription.id\":\"System.String\",\"Subscription.implicitRules\":\"uri\",\"Subscription.language\":\"code\",\"Subscription.meta\":\"Meta\",\"Subscription.modifierExtension\":\"Extension\",\"Subscription.reason\":\"string\",\"Subscription.status\":\"code\",\"Subscription.text\":\"Narrative\",\"Substance.category\":\"CodeableConcept\",\"Substance.code\":\"CodeableConcept\",\"Substance.contained\":\"Resource\",\"Substance.description\":\"string\",\"Substance.extension\":\"Extension\",\"Substance.id\":\"System.String\",\"Substance.identifier\":\"Identifier\",\"Substance.implicitRules\":\"uri\",\"Substance.ingredient\":\"BackboneElement\",\"Substance.ingredient.extension\":\"Extension\",\"Substance.ingredient.id\":\"System.String\",\"Substance.ingredient.modifierExtension\":\"Extension\",\"Substance.ingredient.quantity\":\"Ratio\",\"Substance.ingredient.substanceCodeableConcept\":\"CodeableConcept\",\"Substance.ingredient.substanceReference\":\"Reference\",\"Substance.instance\":\"BackboneElement\",\"Substance.instance.expiry\":\"dateTime\",\"Substance.instance.extension\":\"Extension\",\"Substance.instance.id\":\"System.String\",\"Substance.instance.identifier\":\"Identifier\",\"Substance.instance.modifierExtension\":\"Extension\",\"Substance.instance.quantity\":\"Quantity\",\"Substance.language\":\"code\",\"Substance.meta\":\"Meta\",\"Substance.modifierExtension\":\"Extension\",\"Substance.status\":\"code\",\"Substance.text\":\"Narrative\",\"SubstanceAmount.amountQuantity\":\"Quantity\",\"SubstanceAmount.amountRange\":\"Range\",\"SubstanceAmount.amountString\":\"string\",\"SubstanceAmount.amountText\":\"string\",\"SubstanceAmount.amountType\":\"CodeableConcept\",\"SubstanceAmount.extension\":\"Extension\",\"SubstanceAmount.id\":\"System.String\",\"SubstanceAmount.modifierExtension\":\"Extension\",\"SubstanceAmount.referenceRange.extension\":\"Extension\",\"SubstanceAmount.referenceRange.highLimit\":\"Quantity\",\"SubstanceAmount.referenceRange.id\":\"System.String\",\"SubstanceAmount.referenceRange.lowLimit\":\"Quantity\",\"SubstanceNucleicAcid.areaOfHybridisation\":\"string\",\"SubstanceNucleicAcid.contained\":\"Resource\",\"SubstanceNucleicAcid.extension\":\"Extension\",\"SubstanceNucleicAcid.id\":\"System.String\",\"SubstanceNucleicAcid.implicitRules\":\"uri\",\"SubstanceNucleicAcid.language\":\"code\",\"SubstanceNucleicAcid.meta\":\"Meta\",\"SubstanceNucleicAcid.modifierExtension\":\"Extension\",\"SubstanceNucleicAcid.numberOfSubunits\":\"integer\",\"SubstanceNucleicAcid.oligoNucleotideType\":\"CodeableConcept\",\"SubstanceNucleicAcid.sequenceType\":\"CodeableConcept\",\"SubstanceNucleicAcid.subunit\":\"BackboneElement\",\"SubstanceNucleicAcid.subunit.extension\":\"Extension\",\"SubstanceNucleicAcid.subunit.fivePrime\":\"CodeableConcept\",\"SubstanceNucleicAcid.subunit.id\":\"System.String\",\"SubstanceNucleicAcid.subunit.length\":\"integer\",\"SubstanceNucleicAcid.subunit.linkage\":\"BackboneElement\",\"SubstanceNucleicAcid.subunit.linkage.connectivity\":\"string\",\"SubstanceNucleicAcid.subunit.linkage.extension\":\"Extension\",\"SubstanceNucleicAcid.subunit.linkage.id\":\"System.String\",\"SubstanceNucleicAcid.subunit.linkage.identifier\":\"Identifier\",\"SubstanceNucleicAcid.subunit.linkage.modifierExtension\":\"Extension\",\"SubstanceNucleicAcid.subunit.linkage.name\":\"string\",\"SubstanceNucleicAcid.subunit.linkage.residueSite\":\"string\",\"SubstanceNucleicAcid.subunit.modifierExtension\":\"Extension\",\"SubstanceNucleicAcid.subunit.sequence\":\"string\",\"SubstanceNucleicAcid.subunit.sequenceAttachment\":\"Attachment\",\"SubstanceNucleicAcid.subunit.subunit\":\"integer\",\"SubstanceNucleicAcid.subunit.sugar\":\"BackboneElement\",\"SubstanceNucleicAcid.subunit.sugar.extension\":\"Extension\",\"SubstanceNucleicAcid.subunit.sugar.id\":\"System.String\",\"SubstanceNucleicAcid.subunit.sugar.identifier\":\"Identifier\",\"SubstanceNucleicAcid.subunit.sugar.modifierExtension\":\"Extension\",\"SubstanceNucleicAcid.subunit.sugar.name\":\"string\",\"SubstanceNucleicAcid.subunit.sugar.residueSite\":\"string\",\"SubstanceNucleicAcid.subunit.threePrime\":\"CodeableConcept\",\"SubstanceNucleicAcid.text\":\"Narrative\",\"SubstancePolymer.class\":\"CodeableConcept\",\"SubstancePolymer.contained\":\"Resource\",\"SubstancePolymer.copolymerConnectivity\":\"CodeableConcept\",\"SubstancePolymer.extension\":\"Extension\",\"SubstancePolymer.geometry\":\"CodeableConcept\",\"SubstancePolymer.id\":\"System.String\",\"SubstancePolymer.implicitRules\":\"uri\",\"SubstancePolymer.language\":\"code\",\"SubstancePolymer.meta\":\"Meta\",\"SubstancePolymer.modification\":\"string\",\"SubstancePolymer.modifierExtension\":\"Extension\",\"SubstancePolymer.monomerSet\":\"BackboneElement\",\"SubstancePolymer.monomerSet.extension\":\"Extension\",\"SubstancePolymer.monomerSet.id\":\"System.String\",\"SubstancePolymer.monomerSet.modifierExtension\":\"Extension\",\"SubstancePolymer.monomerSet.ratioType\":\"CodeableConcept\",\"SubstancePolymer.monomerSet.startingMaterial\":\"BackboneElement\",\"SubstancePolymer.monomerSet.startingMaterial.amount\":\"SubstanceAmount\",\"SubstancePolymer.monomerSet.startingMaterial.extension\":\"Extension\",\"SubstancePolymer.monomerSet.startingMaterial.id\":\"System.String\",\"SubstancePolymer.monomerSet.startingMaterial.isDefining\":\"boolean\",\"SubstancePolymer.monomerSet.startingMaterial.material\":\"CodeableConcept\",\"SubstancePolymer.monomerSet.startingMaterial.modifierExtension\":\"Extension\",\"SubstancePolymer.monomerSet.startingMaterial.type\":\"CodeableConcept\",\"SubstancePolymer.repeat\":\"BackboneElement\",\"SubstancePolymer.repeat.averageMolecularFormula\":\"string\",\"SubstancePolymer.repeat.extension\":\"Extension\",\"SubstancePolymer.repeat.id\":\"System.String\",\"SubstancePolymer.repeat.modifierExtension\":\"Extension\",\"SubstancePolymer.repeat.numberOfUnits\":\"integer\",\"SubstancePolymer.repeat.repeatUnit\":\"BackboneElement\",\"SubstancePolymer.repeat.repeatUnit.amount\":\"SubstanceAmount\",\"SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation\":\"BackboneElement\",\"SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.amount\":\"SubstanceAmount\",\"SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.degree\":\"CodeableConcept\",\"SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.extension\":\"Extension\",\"SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.id\":\"System.String\",\"SubstancePolymer.repeat.repeatUnit.degreeOfPolymerisation.modifierExtension\":\"Extension\",\"SubstancePolymer.repeat.repeatUnit.extension\":\"Extension\",\"SubstancePolymer.repeat.repeatUnit.id\":\"System.String\",\"SubstancePolymer.repeat.repeatUnit.modifierExtension\":\"Extension\",\"SubstancePolymer.repeat.repeatUnit.orientationOfPolymerisation\":\"CodeableConcept\",\"SubstancePolymer.repeat.repeatUnit.repeatUnit\":\"string\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation\":\"BackboneElement\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation.attachment\":\"Attachment\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation.extension\":\"Extension\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation.id\":\"System.String\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation.modifierExtension\":\"Extension\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation.representation\":\"string\",\"SubstancePolymer.repeat.repeatUnit.structuralRepresentation.type\":\"CodeableConcept\",\"SubstancePolymer.repeat.repeatUnitAmountType\":\"CodeableConcept\",\"SubstancePolymer.text\":\"Narrative\",\"SubstanceProtein.contained\":\"Resource\",\"SubstanceProtein.disulfideLinkage\":\"string\",\"SubstanceProtein.extension\":\"Extension\",\"SubstanceProtein.id\":\"System.String\",\"SubstanceProtein.implicitRules\":\"uri\",\"SubstanceProtein.language\":\"code\",\"SubstanceProtein.meta\":\"Meta\",\"SubstanceProtein.modifierExtension\":\"Extension\",\"SubstanceProtein.numberOfSubunits\":\"integer\",\"SubstanceProtein.sequenceType\":\"CodeableConcept\",\"SubstanceProtein.subunit\":\"BackboneElement\",\"SubstanceProtein.subunit.cTerminalModification\":\"string\",\"SubstanceProtein.subunit.cTerminalModificationId\":\"Identifier\",\"SubstanceProtein.subunit.extension\":\"Extension\",\"SubstanceProtein.subunit.id\":\"System.String\",\"SubstanceProtein.subunit.length\":\"integer\",\"SubstanceProtein.subunit.modifierExtension\":\"Extension\",\"SubstanceProtein.subunit.nTerminalModification\":\"string\",\"SubstanceProtein.subunit.nTerminalModificationId\":\"Identifier\",\"SubstanceProtein.subunit.sequence\":\"string\",\"SubstanceProtein.subunit.sequenceAttachment\":\"Attachment\",\"SubstanceProtein.subunit.subunit\":\"integer\",\"SubstanceProtein.text\":\"Narrative\",\"SubstanceReferenceInformation.classification\":\"BackboneElement\",\"SubstanceReferenceInformation.classification.classification\":\"CodeableConcept\",\"SubstanceReferenceInformation.classification.domain\":\"CodeableConcept\",\"SubstanceReferenceInformation.classification.extension\":\"Extension\",\"SubstanceReferenceInformation.classification.id\":\"System.String\",\"SubstanceReferenceInformation.classification.modifierExtension\":\"Extension\",\"SubstanceReferenceInformation.classification.source\":\"Reference\",\"SubstanceReferenceInformation.classification.subtype\":\"CodeableConcept\",\"SubstanceReferenceInformation.comment\":\"string\",\"SubstanceReferenceInformation.contained\":\"Resource\",\"SubstanceReferenceInformation.extension\":\"Extension\",\"SubstanceReferenceInformation.gene\":\"BackboneElement\",\"SubstanceReferenceInformation.gene.extension\":\"Extension\",\"SubstanceReferenceInformation.gene.gene\":\"CodeableConcept\",\"SubstanceReferenceInformation.gene.geneSequenceOrigin\":\"CodeableConcept\",\"SubstanceReferenceInformation.gene.id\":\"System.String\",\"SubstanceReferenceInformation.gene.modifierExtension\":\"Extension\",\"SubstanceReferenceInformation.gene.source\":\"Reference\",\"SubstanceReferenceInformation.geneElement\":\"BackboneElement\",\"SubstanceReferenceInformation.geneElement.element\":\"Identifier\",\"SubstanceReferenceInformation.geneElement.extension\":\"Extension\",\"SubstanceReferenceInformation.geneElement.id\":\"System.String\",\"SubstanceReferenceInformation.geneElement.modifierExtension\":\"Extension\",\"SubstanceReferenceInformation.geneElement.source\":\"Reference\",\"SubstanceReferenceInformation.geneElement.type\":\"CodeableConcept\",\"SubstanceReferenceInformation.id\":\"System.String\",\"SubstanceReferenceInformation.implicitRules\":\"uri\",\"SubstanceReferenceInformation.language\":\"code\",\"SubstanceReferenceInformation.meta\":\"Meta\",\"SubstanceReferenceInformation.modifierExtension\":\"Extension\",\"SubstanceReferenceInformation.target\":\"BackboneElement\",\"SubstanceReferenceInformation.target.amountQuantity\":\"Quantity\",\"SubstanceReferenceInformation.target.amountRange\":\"Range\",\"SubstanceReferenceInformation.target.amountString\":\"string\",\"SubstanceReferenceInformation.target.amountType\":\"CodeableConcept\",\"SubstanceReferenceInformation.target.extension\":\"Extension\",\"SubstanceReferenceInformation.target.id\":\"System.String\",\"SubstanceReferenceInformation.target.interaction\":\"CodeableConcept\",\"SubstanceReferenceInformation.target.modifierExtension\":\"Extension\",\"SubstanceReferenceInformation.target.organism\":\"CodeableConcept\",\"SubstanceReferenceInformation.target.organismType\":\"CodeableConcept\",\"SubstanceReferenceInformation.target.source\":\"Reference\",\"SubstanceReferenceInformation.target.target\":\"Identifier\",\"SubstanceReferenceInformation.target.type\":\"CodeableConcept\",\"SubstanceReferenceInformation.text\":\"Narrative\",\"SubstanceSourceMaterial.contained\":\"Resource\",\"SubstanceSourceMaterial.countryOfOrigin\":\"CodeableConcept\",\"SubstanceSourceMaterial.developmentStage\":\"CodeableConcept\",\"SubstanceSourceMaterial.extension\":\"Extension\",\"SubstanceSourceMaterial.fractionDescription\":\"BackboneElement\",\"SubstanceSourceMaterial.fractionDescription.extension\":\"Extension\",\"SubstanceSourceMaterial.fractionDescription.fraction\":\"string\",\"SubstanceSourceMaterial.fractionDescription.id\":\"System.String\",\"SubstanceSourceMaterial.fractionDescription.materialType\":\"CodeableConcept\",\"SubstanceSourceMaterial.fractionDescription.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.geographicalLocation\":\"string\",\"SubstanceSourceMaterial.id\":\"System.String\",\"SubstanceSourceMaterial.implicitRules\":\"uri\",\"SubstanceSourceMaterial.language\":\"code\",\"SubstanceSourceMaterial.meta\":\"Meta\",\"SubstanceSourceMaterial.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.organism\":\"BackboneElement\",\"SubstanceSourceMaterial.organism.author\":\"BackboneElement\",\"SubstanceSourceMaterial.organism.author.authorDescription\":\"string\",\"SubstanceSourceMaterial.organism.author.authorType\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.author.extension\":\"Extension\",\"SubstanceSourceMaterial.organism.author.id\":\"System.String\",\"SubstanceSourceMaterial.organism.author.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.organism.extension\":\"Extension\",\"SubstanceSourceMaterial.organism.family\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.genus\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.hybrid\":\"BackboneElement\",\"SubstanceSourceMaterial.organism.hybrid.extension\":\"Extension\",\"SubstanceSourceMaterial.organism.hybrid.hybridType\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.hybrid.id\":\"System.String\",\"SubstanceSourceMaterial.organism.hybrid.maternalOrganismId\":\"string\",\"SubstanceSourceMaterial.organism.hybrid.maternalOrganismName\":\"string\",\"SubstanceSourceMaterial.organism.hybrid.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.organism.hybrid.paternalOrganismId\":\"string\",\"SubstanceSourceMaterial.organism.hybrid.paternalOrganismName\":\"string\",\"SubstanceSourceMaterial.organism.id\":\"System.String\",\"SubstanceSourceMaterial.organism.intraspecificDescription\":\"string\",\"SubstanceSourceMaterial.organism.intraspecificType\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.organism.organismGeneral\":\"BackboneElement\",\"SubstanceSourceMaterial.organism.organismGeneral.class\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.organismGeneral.extension\":\"Extension\",\"SubstanceSourceMaterial.organism.organismGeneral.id\":\"System.String\",\"SubstanceSourceMaterial.organism.organismGeneral.kingdom\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.organismGeneral.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.organism.organismGeneral.order\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.organismGeneral.phylum\":\"CodeableConcept\",\"SubstanceSourceMaterial.organism.species\":\"CodeableConcept\",\"SubstanceSourceMaterial.organismId\":\"Identifier\",\"SubstanceSourceMaterial.organismName\":\"string\",\"SubstanceSourceMaterial.parentSubstanceId\":\"Identifier\",\"SubstanceSourceMaterial.parentSubstanceName\":\"string\",\"SubstanceSourceMaterial.partDescription\":\"BackboneElement\",\"SubstanceSourceMaterial.partDescription.extension\":\"Extension\",\"SubstanceSourceMaterial.partDescription.id\":\"System.String\",\"SubstanceSourceMaterial.partDescription.modifierExtension\":\"Extension\",\"SubstanceSourceMaterial.partDescription.part\":\"CodeableConcept\",\"SubstanceSourceMaterial.partDescription.partLocation\":\"CodeableConcept\",\"SubstanceSourceMaterial.sourceMaterialClass\":\"CodeableConcept\",\"SubstanceSourceMaterial.sourceMaterialState\":\"CodeableConcept\",\"SubstanceSourceMaterial.sourceMaterialType\":\"CodeableConcept\",\"SubstanceSourceMaterial.text\":\"Narrative\",\"SubstanceSpecification.code\":\"BackboneElement\",\"SubstanceSpecification.code.code\":\"CodeableConcept\",\"SubstanceSpecification.code.comment\":\"string\",\"SubstanceSpecification.code.extension\":\"Extension\",\"SubstanceSpecification.code.id\":\"System.String\",\"SubstanceSpecification.code.modifierExtension\":\"Extension\",\"SubstanceSpecification.code.source\":\"Reference\",\"SubstanceSpecification.code.status\":\"CodeableConcept\",\"SubstanceSpecification.code.statusDate\":\"dateTime\",\"SubstanceSpecification.comment\":\"string\",\"SubstanceSpecification.contained\":\"Resource\",\"SubstanceSpecification.description\":\"string\",\"SubstanceSpecification.domain\":\"CodeableConcept\",\"SubstanceSpecification.extension\":\"Extension\",\"SubstanceSpecification.id\":\"System.String\",\"SubstanceSpecification.identifier\":\"Identifier\",\"SubstanceSpecification.implicitRules\":\"uri\",\"SubstanceSpecification.language\":\"code\",\"SubstanceSpecification.meta\":\"Meta\",\"SubstanceSpecification.modifierExtension\":\"Extension\",\"SubstanceSpecification.moiety\":\"BackboneElement\",\"SubstanceSpecification.moiety.amountQuantity\":\"Quantity\",\"SubstanceSpecification.moiety.amountString\":\"string\",\"SubstanceSpecification.moiety.extension\":\"Extension\",\"SubstanceSpecification.moiety.id\":\"System.String\",\"SubstanceSpecification.moiety.identifier\":\"Identifier\",\"SubstanceSpecification.moiety.modifierExtension\":\"Extension\",\"SubstanceSpecification.moiety.molecularFormula\":\"string\",\"SubstanceSpecification.moiety.name\":\"string\",\"SubstanceSpecification.moiety.opticalActivity\":\"CodeableConcept\",\"SubstanceSpecification.moiety.role\":\"CodeableConcept\",\"SubstanceSpecification.moiety.stereochemistry\":\"CodeableConcept\",\"SubstanceSpecification.name\":\"BackboneElement\",\"SubstanceSpecification.name.domain\":\"CodeableConcept\",\"SubstanceSpecification.name.extension\":\"Extension\",\"SubstanceSpecification.name.id\":\"System.String\",\"SubstanceSpecification.name.jurisdiction\":\"CodeableConcept\",\"SubstanceSpecification.name.language\":\"CodeableConcept\",\"SubstanceSpecification.name.modifierExtension\":\"Extension\",\"SubstanceSpecification.name.name\":\"string\",\"SubstanceSpecification.name.official\":\"BackboneElement\",\"SubstanceSpecification.name.official.authority\":\"CodeableConcept\",\"SubstanceSpecification.name.official.date\":\"dateTime\",\"SubstanceSpecification.name.official.extension\":\"Extension\",\"SubstanceSpecification.name.official.id\":\"System.String\",\"SubstanceSpecification.name.official.modifierExtension\":\"Extension\",\"SubstanceSpecification.name.official.status\":\"CodeableConcept\",\"SubstanceSpecification.name.preferred\":\"boolean\",\"SubstanceSpecification.name.source\":\"Reference\",\"SubstanceSpecification.name.status\":\"CodeableConcept\",\"SubstanceSpecification.name.type\":\"CodeableConcept\",\"SubstanceSpecification.nucleicAcid\":\"Reference\",\"SubstanceSpecification.polymer\":\"Reference\",\"SubstanceSpecification.property\":\"BackboneElement\",\"SubstanceSpecification.property.amountQuantity\":\"Quantity\",\"SubstanceSpecification.property.amountString\":\"string\",\"SubstanceSpecification.property.category\":\"CodeableConcept\",\"SubstanceSpecification.property.code\":\"CodeableConcept\",\"SubstanceSpecification.property.definingSubstanceCodeableConcept\":\"CodeableConcept\",\"SubstanceSpecification.property.definingSubstanceReference\":\"Reference\",\"SubstanceSpecification.property.extension\":\"Extension\",\"SubstanceSpecification.property.id\":\"System.String\",\"SubstanceSpecification.property.modifierExtension\":\"Extension\",\"SubstanceSpecification.property.parameters\":\"string\",\"SubstanceSpecification.protein\":\"Reference\",\"SubstanceSpecification.referenceInformation\":\"Reference\",\"SubstanceSpecification.relationship\":\"BackboneElement\",\"SubstanceSpecification.relationship.amountQuantity\":\"Quantity\",\"SubstanceSpecification.relationship.amountRange\":\"Range\",\"SubstanceSpecification.relationship.amountRatio\":\"Ratio\",\"SubstanceSpecification.relationship.amountRatioLowLimit\":\"Ratio\",\"SubstanceSpecification.relationship.amountString\":\"string\",\"SubstanceSpecification.relationship.amountType\":\"CodeableConcept\",\"SubstanceSpecification.relationship.extension\":\"Extension\",\"SubstanceSpecification.relationship.id\":\"System.String\",\"SubstanceSpecification.relationship.isDefining\":\"boolean\",\"SubstanceSpecification.relationship.modifierExtension\":\"Extension\",\"SubstanceSpecification.relationship.relationship\":\"CodeableConcept\",\"SubstanceSpecification.relationship.source\":\"Reference\",\"SubstanceSpecification.relationship.substanceCodeableConcept\":\"CodeableConcept\",\"SubstanceSpecification.relationship.substanceReference\":\"Reference\",\"SubstanceSpecification.source\":\"Reference\",\"SubstanceSpecification.sourceMaterial\":\"Reference\",\"SubstanceSpecification.status\":\"CodeableConcept\",\"SubstanceSpecification.structure\":\"BackboneElement\",\"SubstanceSpecification.structure.extension\":\"Extension\",\"SubstanceSpecification.structure.id\":\"System.String\",\"SubstanceSpecification.structure.isotope\":\"BackboneElement\",\"SubstanceSpecification.structure.isotope.extension\":\"Extension\",\"SubstanceSpecification.structure.isotope.halfLife\":\"Quantity\",\"SubstanceSpecification.structure.isotope.id\":\"System.String\",\"SubstanceSpecification.structure.isotope.identifier\":\"Identifier\",\"SubstanceSpecification.structure.isotope.modifierExtension\":\"Extension\",\"SubstanceSpecification.structure.isotope.molecularWeight\":\"BackboneElement\",\"SubstanceSpecification.structure.isotope.molecularWeight.amount\":\"Quantity\",\"SubstanceSpecification.structure.isotope.molecularWeight.extension\":\"Extension\",\"SubstanceSpecification.structure.isotope.molecularWeight.id\":\"System.String\",\"SubstanceSpecification.structure.isotope.molecularWeight.method\":\"CodeableConcept\",\"SubstanceSpecification.structure.isotope.molecularWeight.modifierExtension\":\"Extension\",\"SubstanceSpecification.structure.isotope.molecularWeight.type\":\"CodeableConcept\",\"SubstanceSpecification.structure.isotope.name\":\"CodeableConcept\",\"SubstanceSpecification.structure.isotope.substitution\":\"CodeableConcept\",\"SubstanceSpecification.structure.modifierExtension\":\"Extension\",\"SubstanceSpecification.structure.molecularFormula\":\"string\",\"SubstanceSpecification.structure.molecularFormulaByMoiety\":\"string\",\"SubstanceSpecification.structure.opticalActivity\":\"CodeableConcept\",\"SubstanceSpecification.structure.representation\":\"BackboneElement\",\"SubstanceSpecification.structure.representation.attachment\":\"Attachment\",\"SubstanceSpecification.structure.representation.extension\":\"Extension\",\"SubstanceSpecification.structure.representation.id\":\"System.String\",\"SubstanceSpecification.structure.representation.modifierExtension\":\"Extension\",\"SubstanceSpecification.structure.representation.representation\":\"string\",\"SubstanceSpecification.structure.representation.type\":\"CodeableConcept\",\"SubstanceSpecification.structure.source\":\"Reference\",\"SubstanceSpecification.structure.stereochemistry\":\"CodeableConcept\",\"SubstanceSpecification.text\":\"Narrative\",\"SubstanceSpecification.type\":\"CodeableConcept\",\"SupplyDelivery.basedOn\":\"Reference\",\"SupplyDelivery.contained\":\"Resource\",\"SupplyDelivery.destination\":\"Reference\",\"SupplyDelivery.extension\":\"Extension\",\"SupplyDelivery.id\":\"System.String\",\"SupplyDelivery.identifier\":\"Identifier\",\"SupplyDelivery.implicitRules\":\"uri\",\"SupplyDelivery.language\":\"code\",\"SupplyDelivery.meta\":\"Meta\",\"SupplyDelivery.modifierExtension\":\"Extension\",\"SupplyDelivery.occurrenceDateTime\":\"dateTime\",\"SupplyDelivery.occurrencePeriod\":\"Period\",\"SupplyDelivery.occurrenceTiming\":\"Timing\",\"SupplyDelivery.partOf\":\"Reference\",\"SupplyDelivery.patient\":\"Reference\",\"SupplyDelivery.receiver\":\"Reference\",\"SupplyDelivery.status\":\"code\",\"SupplyDelivery.suppliedItem\":\"BackboneElement\",\"SupplyDelivery.suppliedItem.extension\":\"Extension\",\"SupplyDelivery.suppliedItem.id\":\"System.String\",\"SupplyDelivery.suppliedItem.itemCodeableConcept\":\"CodeableConcept\",\"SupplyDelivery.suppliedItem.itemReference\":\"Reference\",\"SupplyDelivery.suppliedItem.modifierExtension\":\"Extension\",\"SupplyDelivery.suppliedItem.quantity\":\"Quantity\",\"SupplyDelivery.supplier\":\"Reference\",\"SupplyDelivery.text\":\"Narrative\",\"SupplyDelivery.type\":\"CodeableConcept\",\"SupplyRequest.authoredOn\":\"dateTime\",\"SupplyRequest.category\":\"CodeableConcept\",\"SupplyRequest.contained\":\"Resource\",\"SupplyRequest.deliverFrom\":\"Reference\",\"SupplyRequest.deliverTo\":\"Reference\",\"SupplyRequest.extension\":\"Extension\",\"SupplyRequest.id\":\"System.String\",\"SupplyRequest.identifier\":\"Identifier\",\"SupplyRequest.implicitRules\":\"uri\",\"SupplyRequest.itemCodeableConcept\":\"CodeableConcept\",\"SupplyRequest.itemReference\":\"Reference\",\"SupplyRequest.language\":\"code\",\"SupplyRequest.meta\":\"Meta\",\"SupplyRequest.modifierExtension\":\"Extension\",\"SupplyRequest.occurrenceDateTime\":\"dateTime\",\"SupplyRequest.occurrencePeriod\":\"Period\",\"SupplyRequest.occurrenceTiming\":\"Timing\",\"SupplyRequest.parameter\":\"BackboneElement\",\"SupplyRequest.parameter.code\":\"CodeableConcept\",\"SupplyRequest.parameter.extension\":\"Extension\",\"SupplyRequest.parameter.id\":\"System.String\",\"SupplyRequest.parameter.modifierExtension\":\"Extension\",\"SupplyRequest.parameter.valueBoolean\":\"boolean\",\"SupplyRequest.parameter.valueCodeableConcept\":\"CodeableConcept\",\"SupplyRequest.parameter.valueQuantity\":\"Quantity\",\"SupplyRequest.parameter.valueRange\":\"Range\",\"SupplyRequest.priority\":\"code\",\"SupplyRequest.quantity\":\"Quantity\",\"SupplyRequest.reasonCode\":\"CodeableConcept\",\"SupplyRequest.reasonReference\":\"Reference\",\"SupplyRequest.requester\":\"Reference\",\"SupplyRequest.status\":\"code\",\"SupplyRequest.supplier\":\"Reference\",\"SupplyRequest.text\":\"Narrative\",\"Task.authoredOn\":\"dateTime\",\"Task.basedOn\":\"Reference\",\"Task.businessStatus\":\"CodeableConcept\",\"Task.code\":\"CodeableConcept\",\"Task.contained\":\"Resource\",\"Task.description\":\"string\",\"Task.encounter\":\"Reference\",\"Task.executionPeriod\":\"Period\",\"Task.extension\":\"Extension\",\"Task.focus\":\"Reference\",\"Task.for\":\"Reference\",\"Task.groupIdentifier\":\"Identifier\",\"Task.id\":\"System.String\",\"Task.identifier\":\"Identifier\",\"Task.implicitRules\":\"uri\",\"Task.input\":\"BackboneElement\",\"Task.input.extension\":\"Extension\",\"Task.input.id\":\"System.String\",\"Task.input.modifierExtension\":\"Extension\",\"Task.input.type\":\"CodeableConcept\",\"Task.input.valueAddress\":\"Address\",\"Task.input.valueAge\":\"Age\",\"Task.input.valueAnnotation\":\"Annotation\",\"Task.input.valueAttachment\":\"Attachment\",\"Task.input.valueBase64Binary\":\"base64Binary\",\"Task.input.valueBoolean\":\"boolean\",\"Task.input.valueCanonical\":\"canonical\",\"Task.input.valueCode\":\"code\",\"Task.input.valueCodeableConcept\":\"CodeableConcept\",\"Task.input.valueCoding\":\"Coding\",\"Task.input.valueContactDetail\":\"ContactDetail\",\"Task.input.valueContactPoint\":\"ContactPoint\",\"Task.input.valueContributor\":\"Contributor\",\"Task.input.valueCount\":\"Count\",\"Task.input.valueDataRequirement\":\"DataRequirement\",\"Task.input.valueDate\":\"date\",\"Task.input.valueDateTime\":\"dateTime\",\"Task.input.valueDecimal\":\"decimal\",\"Task.input.valueDistance\":\"Distance\",\"Task.input.valueDosage\":\"Dosage\",\"Task.input.valueDuration\":\"Duration\",\"Task.input.valueExpression\":\"Expression\",\"Task.input.valueHumanName\":\"HumanName\",\"Task.input.valueId\":\"id\",\"Task.input.valueIdentifier\":\"Identifier\",\"Task.input.valueInstant\":\"instant\",\"Task.input.valueInteger\":\"integer\",\"Task.input.valueMarkdown\":\"markdown\",\"Task.input.valueMeta\":\"Meta\",\"Task.input.valueMoney\":\"Money\",\"Task.input.valueOid\":\"oid\",\"Task.input.valueParameterDefinition\":\"ParameterDefinition\",\"Task.input.valuePeriod\":\"Period\",\"Task.input.valuePositiveInt\":\"positiveInt\",\"Task.input.valueQuantity\":\"Quantity\",\"Task.input.valueRange\":\"Range\",\"Task.input.valueRatio\":\"Ratio\",\"Task.input.valueReference\":\"Reference\",\"Task.input.valueRelatedArtifact\":\"RelatedArtifact\",\"Task.input.valueSampledData\":\"SampledData\",\"Task.input.valueSignature\":\"Signature\",\"Task.input.valueString\":\"string\",\"Task.input.valueTime\":\"time\",\"Task.input.valueTiming\":\"Timing\",\"Task.input.valueTriggerDefinition\":\"TriggerDefinition\",\"Task.input.valueUnsignedInt\":\"unsignedInt\",\"Task.input.valueUri\":\"uri\",\"Task.input.valueUrl\":\"url\",\"Task.input.valueUsageContext\":\"UsageContext\",\"Task.input.valueUuid\":\"uuid\",\"Task.instantiatesCanonical\":\"canonical\",\"Task.instantiatesUri\":\"uri\",\"Task.insurance\":\"Reference\",\"Task.intent\":\"code\",\"Task.language\":\"code\",\"Task.lastModified\":\"dateTime\",\"Task.location\":\"Reference\",\"Task.meta\":\"Meta\",\"Task.modifierExtension\":\"Extension\",\"Task.note\":\"Annotation\",\"Task.output\":\"BackboneElement\",\"Task.output.extension\":\"Extension\",\"Task.output.id\":\"System.String\",\"Task.output.modifierExtension\":\"Extension\",\"Task.output.type\":\"CodeableConcept\",\"Task.output.valueAddress\":\"Address\",\"Task.output.valueAge\":\"Age\",\"Task.output.valueAnnotation\":\"Annotation\",\"Task.output.valueAttachment\":\"Attachment\",\"Task.output.valueBase64Binary\":\"base64Binary\",\"Task.output.valueBoolean\":\"boolean\",\"Task.output.valueCanonical\":\"canonical\",\"Task.output.valueCode\":\"code\",\"Task.output.valueCodeableConcept\":\"CodeableConcept\",\"Task.output.valueCoding\":\"Coding\",\"Task.output.valueContactDetail\":\"ContactDetail\",\"Task.output.valueContactPoint\":\"ContactPoint\",\"Task.output.valueContributor\":\"Contributor\",\"Task.output.valueCount\":\"Count\",\"Task.output.valueDataRequirement\":\"DataRequirement\",\"Task.output.valueDate\":\"date\",\"Task.output.valueDateTime\":\"dateTime\",\"Task.output.valueDecimal\":\"decimal\",\"Task.output.valueDistance\":\"Distance\",\"Task.output.valueDosage\":\"Dosage\",\"Task.output.valueDuration\":\"Duration\",\"Task.output.valueExpression\":\"Expression\",\"Task.output.valueHumanName\":\"HumanName\",\"Task.output.valueId\":\"id\",\"Task.output.valueIdentifier\":\"Identifier\",\"Task.output.valueInstant\":\"instant\",\"Task.output.valueInteger\":\"integer\",\"Task.output.valueMarkdown\":\"markdown\",\"Task.output.valueMeta\":\"Meta\",\"Task.output.valueMoney\":\"Money\",\"Task.output.valueOid\":\"oid\",\"Task.output.valueParameterDefinition\":\"ParameterDefinition\",\"Task.output.valuePeriod\":\"Period\",\"Task.output.valuePositiveInt\":\"positiveInt\",\"Task.output.valueQuantity\":\"Quantity\",\"Task.output.valueRange\":\"Range\",\"Task.output.valueRatio\":\"Ratio\",\"Task.output.valueReference\":\"Reference\",\"Task.output.valueRelatedArtifact\":\"RelatedArtifact\",\"Task.output.valueSampledData\":\"SampledData\",\"Task.output.valueSignature\":\"Signature\",\"Task.output.valueString\":\"string\",\"Task.output.valueTime\":\"time\",\"Task.output.valueTiming\":\"Timing\",\"Task.output.valueTriggerDefinition\":\"TriggerDefinition\",\"Task.output.valueUnsignedInt\":\"unsignedInt\",\"Task.output.valueUri\":\"uri\",\"Task.output.valueUrl\":\"url\",\"Task.output.valueUsageContext\":\"UsageContext\",\"Task.output.valueUuid\":\"uuid\",\"Task.owner\":\"Reference\",\"Task.partOf\":\"Reference\",\"Task.performerType\":\"CodeableConcept\",\"Task.priority\":\"code\",\"Task.reasonCode\":\"CodeableConcept\",\"Task.reasonReference\":\"Reference\",\"Task.relevantHistory\":\"Reference\",\"Task.requester\":\"Reference\",\"Task.restriction\":\"BackboneElement\",\"Task.restriction.extension\":\"Extension\",\"Task.restriction.id\":\"System.String\",\"Task.restriction.modifierExtension\":\"Extension\",\"Task.restriction.period\":\"Period\",\"Task.restriction.recipient\":\"Reference\",\"Task.restriction.repetitions\":\"positiveInt\",\"Task.status\":\"code\",\"Task.statusReason\":\"CodeableConcept\",\"Task.text\":\"Narrative\",\"TerminologyCapabilities.closure\":\"BackboneElement\",\"TerminologyCapabilities.closure.extension\":\"Extension\",\"TerminologyCapabilities.closure.id\":\"System.String\",\"TerminologyCapabilities.closure.modifierExtension\":\"Extension\",\"TerminologyCapabilities.closure.translation\":\"boolean\",\"TerminologyCapabilities.codeSearch\":\"code\",\"TerminologyCapabilities.codeSystem\":\"BackboneElement\",\"TerminologyCapabilities.codeSystem.extension\":\"Extension\",\"TerminologyCapabilities.codeSystem.id\":\"System.String\",\"TerminologyCapabilities.codeSystem.modifierExtension\":\"Extension\",\"TerminologyCapabilities.codeSystem.subsumption\":\"boolean\",\"TerminologyCapabilities.codeSystem.uri\":\"canonical\",\"TerminologyCapabilities.codeSystem.version\":\"BackboneElement\",\"TerminologyCapabilities.codeSystem.version.code\":\"string\",\"TerminologyCapabilities.codeSystem.version.compositional\":\"boolean\",\"TerminologyCapabilities.codeSystem.version.extension\":\"Extension\",\"TerminologyCapabilities.codeSystem.version.filter\":\"BackboneElement\",\"TerminologyCapabilities.codeSystem.version.filter.code\":\"code\",\"TerminologyCapabilities.codeSystem.version.filter.extension\":\"Extension\",\"TerminologyCapabilities.codeSystem.version.filter.id\":\"System.String\",\"TerminologyCapabilities.codeSystem.version.filter.modifierExtension\":\"Extension\",\"TerminologyCapabilities.codeSystem.version.filter.op\":\"code\",\"TerminologyCapabilities.codeSystem.version.id\":\"System.String\",\"TerminologyCapabilities.codeSystem.version.isDefault\":\"boolean\",\"TerminologyCapabilities.codeSystem.version.language\":\"code\",\"TerminologyCapabilities.codeSystem.version.modifierExtension\":\"Extension\",\"TerminologyCapabilities.codeSystem.version.property\":\"code\",\"TerminologyCapabilities.contact\":\"ContactDetail\",\"TerminologyCapabilities.contained\":\"Resource\",\"TerminologyCapabilities.copyright\":\"markdown\",\"TerminologyCapabilities.date\":\"dateTime\",\"TerminologyCapabilities.description\":\"markdown\",\"TerminologyCapabilities.expansion\":\"BackboneElement\",\"TerminologyCapabilities.expansion.extension\":\"Extension\",\"TerminologyCapabilities.expansion.hierarchical\":\"boolean\",\"TerminologyCapabilities.expansion.id\":\"System.String\",\"TerminologyCapabilities.expansion.incomplete\":\"boolean\",\"TerminologyCapabilities.expansion.modifierExtension\":\"Extension\",\"TerminologyCapabilities.expansion.paging\":\"boolean\",\"TerminologyCapabilities.expansion.parameter\":\"BackboneElement\",\"TerminologyCapabilities.expansion.parameter.documentation\":\"string\",\"TerminologyCapabilities.expansion.parameter.extension\":\"Extension\",\"TerminologyCapabilities.expansion.parameter.id\":\"System.String\",\"TerminologyCapabilities.expansion.parameter.modifierExtension\":\"Extension\",\"TerminologyCapabilities.expansion.parameter.name\":\"code\",\"TerminologyCapabilities.expansion.textFilter\":\"markdown\",\"TerminologyCapabilities.experimental\":\"boolean\",\"TerminologyCapabilities.extension\":\"Extension\",\"TerminologyCapabilities.id\":\"System.String\",\"TerminologyCapabilities.implementation\":\"BackboneElement\",\"TerminologyCapabilities.implementation.description\":\"string\",\"TerminologyCapabilities.implementation.extension\":\"Extension\",\"TerminologyCapabilities.implementation.id\":\"System.String\",\"TerminologyCapabilities.implementation.modifierExtension\":\"Extension\",\"TerminologyCapabilities.implementation.url\":\"url\",\"TerminologyCapabilities.implicitRules\":\"uri\",\"TerminologyCapabilities.jurisdiction\":\"CodeableConcept\",\"TerminologyCapabilities.kind\":\"code\",\"TerminologyCapabilities.language\":\"code\",\"TerminologyCapabilities.lockedDate\":\"boolean\",\"TerminologyCapabilities.meta\":\"Meta\",\"TerminologyCapabilities.modifierExtension\":\"Extension\",\"TerminologyCapabilities.name\":\"string\",\"TerminologyCapabilities.publisher\":\"string\",\"TerminologyCapabilities.purpose\":\"markdown\",\"TerminologyCapabilities.software\":\"BackboneElement\",\"TerminologyCapabilities.software.extension\":\"Extension\",\"TerminologyCapabilities.software.id\":\"System.String\",\"TerminologyCapabilities.software.modifierExtension\":\"Extension\",\"TerminologyCapabilities.software.name\":\"string\",\"TerminologyCapabilities.software.version\":\"string\",\"TerminologyCapabilities.status\":\"code\",\"TerminologyCapabilities.text\":\"Narrative\",\"TerminologyCapabilities.title\":\"string\",\"TerminologyCapabilities.translation\":\"BackboneElement\",\"TerminologyCapabilities.translation.extension\":\"Extension\",\"TerminologyCapabilities.translation.id\":\"System.String\",\"TerminologyCapabilities.translation.modifierExtension\":\"Extension\",\"TerminologyCapabilities.translation.needsMap\":\"boolean\",\"TerminologyCapabilities.url\":\"uri\",\"TerminologyCapabilities.useContext\":\"UsageContext\",\"TerminologyCapabilities.validateCode\":\"BackboneElement\",\"TerminologyCapabilities.validateCode.extension\":\"Extension\",\"TerminologyCapabilities.validateCode.id\":\"System.String\",\"TerminologyCapabilities.validateCode.modifierExtension\":\"Extension\",\"TerminologyCapabilities.validateCode.translations\":\"boolean\",\"TerminologyCapabilities.version\":\"string\",\"TestReport.contained\":\"Resource\",\"TestReport.extension\":\"Extension\",\"TestReport.id\":\"System.String\",\"TestReport.identifier\":\"Identifier\",\"TestReport.implicitRules\":\"uri\",\"TestReport.issued\":\"dateTime\",\"TestReport.language\":\"code\",\"TestReport.meta\":\"Meta\",\"TestReport.modifierExtension\":\"Extension\",\"TestReport.name\":\"string\",\"TestReport.participant\":\"BackboneElement\",\"TestReport.participant.display\":\"string\",\"TestReport.participant.extension\":\"Extension\",\"TestReport.participant.id\":\"System.String\",\"TestReport.participant.modifierExtension\":\"Extension\",\"TestReport.participant.type\":\"code\",\"TestReport.participant.uri\":\"uri\",\"TestReport.result\":\"code\",\"TestReport.score\":\"decimal\",\"TestReport.setup\":\"BackboneElement\",\"TestReport.setup.action\":\"BackboneElement\",\"TestReport.setup.action.assert\":\"BackboneElement\",\"TestReport.setup.action.assert.detail\":\"string\",\"TestReport.setup.action.assert.extension\":\"Extension\",\"TestReport.setup.action.assert.id\":\"System.String\",\"TestReport.setup.action.assert.message\":\"markdown\",\"TestReport.setup.action.assert.modifierExtension\":\"Extension\",\"TestReport.setup.action.assert.result\":\"code\",\"TestReport.setup.action.extension\":\"Extension\",\"TestReport.setup.action.id\":\"System.String\",\"TestReport.setup.action.modifierExtension\":\"Extension\",\"TestReport.setup.action.operation\":\"BackboneElement\",\"TestReport.setup.action.operation.detail\":\"uri\",\"TestReport.setup.action.operation.extension\":\"Extension\",\"TestReport.setup.action.operation.id\":\"System.String\",\"TestReport.setup.action.operation.message\":\"markdown\",\"TestReport.setup.action.operation.modifierExtension\":\"Extension\",\"TestReport.setup.action.operation.result\":\"code\",\"TestReport.setup.extension\":\"Extension\",\"TestReport.setup.id\":\"System.String\",\"TestReport.setup.modifierExtension\":\"Extension\",\"TestReport.status\":\"code\",\"TestReport.teardown\":\"BackboneElement\",\"TestReport.teardown.action\":\"BackboneElement\",\"TestReport.teardown.action.extension\":\"Extension\",\"TestReport.teardown.action.id\":\"System.String\",\"TestReport.teardown.action.modifierExtension\":\"Extension\",\"TestReport.teardown.extension\":\"Extension\",\"TestReport.teardown.id\":\"System.String\",\"TestReport.teardown.modifierExtension\":\"Extension\",\"TestReport.test\":\"BackboneElement\",\"TestReport.test.action\":\"BackboneElement\",\"TestReport.test.action.extension\":\"Extension\",\"TestReport.test.action.id\":\"System.String\",\"TestReport.test.action.modifierExtension\":\"Extension\",\"TestReport.test.description\":\"string\",\"TestReport.test.extension\":\"Extension\",\"TestReport.test.id\":\"System.String\",\"TestReport.test.modifierExtension\":\"Extension\",\"TestReport.test.name\":\"string\",\"TestReport.testScript\":\"Reference\",\"TestReport.tester\":\"string\",\"TestReport.text\":\"Narrative\",\"TestScript.contact\":\"ContactDetail\",\"TestScript.contained\":\"Resource\",\"TestScript.copyright\":\"markdown\",\"TestScript.date\":\"dateTime\",\"TestScript.description\":\"markdown\",\"TestScript.destination\":\"BackboneElement\",\"TestScript.destination.extension\":\"Extension\",\"TestScript.destination.id\":\"System.String\",\"TestScript.destination.index\":\"integer\",\"TestScript.destination.modifierExtension\":\"Extension\",\"TestScript.destination.profile\":\"Coding\",\"TestScript.experimental\":\"boolean\",\"TestScript.extension\":\"Extension\",\"TestScript.fixture\":\"BackboneElement\",\"TestScript.fixture.autocreate\":\"boolean\",\"TestScript.fixture.autodelete\":\"boolean\",\"TestScript.fixture.extension\":\"Extension\",\"TestScript.fixture.id\":\"System.String\",\"TestScript.fixture.modifierExtension\":\"Extension\",\"TestScript.fixture.resource\":\"Reference\",\"TestScript.id\":\"System.String\",\"TestScript.identifier\":\"Identifier\",\"TestScript.implicitRules\":\"uri\",\"TestScript.jurisdiction\":\"CodeableConcept\",\"TestScript.language\":\"code\",\"TestScript.meta\":\"Meta\",\"TestScript.metadata\":\"BackboneElement\",\"TestScript.metadata.capability\":\"BackboneElement\",\"TestScript.metadata.capability.capabilities\":\"canonical\",\"TestScript.metadata.capability.description\":\"string\",\"TestScript.metadata.capability.destination\":\"integer\",\"TestScript.metadata.capability.extension\":\"Extension\",\"TestScript.metadata.capability.id\":\"System.String\",\"TestScript.metadata.capability.link\":\"uri\",\"TestScript.metadata.capability.modifierExtension\":\"Extension\",\"TestScript.metadata.capability.origin\":\"integer\",\"TestScript.metadata.capability.required\":\"boolean\",\"TestScript.metadata.capability.validated\":\"boolean\",\"TestScript.metadata.extension\":\"Extension\",\"TestScript.metadata.id\":\"System.String\",\"TestScript.metadata.link\":\"BackboneElement\",\"TestScript.metadata.link.description\":\"string\",\"TestScript.metadata.link.extension\":\"Extension\",\"TestScript.metadata.link.id\":\"System.String\",\"TestScript.metadata.link.modifierExtension\":\"Extension\",\"TestScript.metadata.link.url\":\"uri\",\"TestScript.metadata.modifierExtension\":\"Extension\",\"TestScript.modifierExtension\":\"Extension\",\"TestScript.name\":\"string\",\"TestScript.origin\":\"BackboneElement\",\"TestScript.origin.extension\":\"Extension\",\"TestScript.origin.id\":\"System.String\",\"TestScript.origin.index\":\"integer\",\"TestScript.origin.modifierExtension\":\"Extension\",\"TestScript.origin.profile\":\"Coding\",\"TestScript.profile\":\"Reference\",\"TestScript.publisher\":\"string\",\"TestScript.purpose\":\"markdown\",\"TestScript.setup\":\"BackboneElement\",\"TestScript.setup.action\":\"BackboneElement\",\"TestScript.setup.action.assert\":\"BackboneElement\",\"TestScript.setup.action.assert.compareToSourceExpression\":\"string\",\"TestScript.setup.action.assert.compareToSourceId\":\"string\",\"TestScript.setup.action.assert.compareToSourcePath\":\"string\",\"TestScript.setup.action.assert.contentType\":\"code\",\"TestScript.setup.action.assert.description\":\"string\",\"TestScript.setup.action.assert.direction\":\"code\",\"TestScript.setup.action.assert.expression\":\"string\",\"TestScript.setup.action.assert.extension\":\"Extension\",\"TestScript.setup.action.assert.headerField\":\"string\",\"TestScript.setup.action.assert.id\":\"System.String\",\"TestScript.setup.action.assert.label\":\"string\",\"TestScript.setup.action.assert.minimumId\":\"string\",\"TestScript.setup.action.assert.modifierExtension\":\"Extension\",\"TestScript.setup.action.assert.navigationLinks\":\"boolean\",\"TestScript.setup.action.assert.operator\":\"code\",\"TestScript.setup.action.assert.path\":\"string\",\"TestScript.setup.action.assert.requestMethod\":\"code\",\"TestScript.setup.action.assert.requestURL\":\"string\",\"TestScript.setup.action.assert.resource\":\"code\",\"TestScript.setup.action.assert.response\":\"code\",\"TestScript.setup.action.assert.responseCode\":\"string\",\"TestScript.setup.action.assert.sourceId\":\"id\",\"TestScript.setup.action.assert.validateProfileId\":\"id\",\"TestScript.setup.action.assert.value\":\"string\",\"TestScript.setup.action.assert.warningOnly\":\"boolean\",\"TestScript.setup.action.extension\":\"Extension\",\"TestScript.setup.action.id\":\"System.String\",\"TestScript.setup.action.modifierExtension\":\"Extension\",\"TestScript.setup.action.operation\":\"BackboneElement\",\"TestScript.setup.action.operation.accept\":\"code\",\"TestScript.setup.action.operation.contentType\":\"code\",\"TestScript.setup.action.operation.description\":\"string\",\"TestScript.setup.action.operation.destination\":\"integer\",\"TestScript.setup.action.operation.encodeRequestUrl\":\"boolean\",\"TestScript.setup.action.operation.extension\":\"Extension\",\"TestScript.setup.action.operation.id\":\"System.String\",\"TestScript.setup.action.operation.label\":\"string\",\"TestScript.setup.action.operation.method\":\"code\",\"TestScript.setup.action.operation.modifierExtension\":\"Extension\",\"TestScript.setup.action.operation.origin\":\"integer\",\"TestScript.setup.action.operation.params\":\"string\",\"TestScript.setup.action.operation.requestHeader\":\"BackboneElement\",\"TestScript.setup.action.operation.requestHeader.extension\":\"Extension\",\"TestScript.setup.action.operation.requestHeader.field\":\"string\",\"TestScript.setup.action.operation.requestHeader.id\":\"System.String\",\"TestScript.setup.action.operation.requestHeader.modifierExtension\":\"Extension\",\"TestScript.setup.action.operation.requestHeader.value\":\"string\",\"TestScript.setup.action.operation.requestId\":\"id\",\"TestScript.setup.action.operation.resource\":\"code\",\"TestScript.setup.action.operation.responseId\":\"id\",\"TestScript.setup.action.operation.sourceId\":\"id\",\"TestScript.setup.action.operation.targetId\":\"id\",\"TestScript.setup.action.operation.type\":\"Coding\",\"TestScript.setup.action.operation.url\":\"string\",\"TestScript.setup.extension\":\"Extension\",\"TestScript.setup.id\":\"System.String\",\"TestScript.setup.modifierExtension\":\"Extension\",\"TestScript.status\":\"code\",\"TestScript.teardown\":\"BackboneElement\",\"TestScript.teardown.action\":\"BackboneElement\",\"TestScript.teardown.action.extension\":\"Extension\",\"TestScript.teardown.action.id\":\"System.String\",\"TestScript.teardown.action.modifierExtension\":\"Extension\",\"TestScript.teardown.extension\":\"Extension\",\"TestScript.teardown.id\":\"System.String\",\"TestScript.teardown.modifierExtension\":\"Extension\",\"TestScript.test\":\"BackboneElement\",\"TestScript.test.action\":\"BackboneElement\",\"TestScript.test.action.extension\":\"Extension\",\"TestScript.test.action.id\":\"System.String\",\"TestScript.test.action.modifierExtension\":\"Extension\",\"TestScript.test.description\":\"string\",\"TestScript.test.extension\":\"Extension\",\"TestScript.test.id\":\"System.String\",\"TestScript.test.modifierExtension\":\"Extension\",\"TestScript.test.name\":\"string\",\"TestScript.text\":\"Narrative\",\"TestScript.title\":\"string\",\"TestScript.url\":\"uri\",\"TestScript.useContext\":\"UsageContext\",\"TestScript.variable\":\"BackboneElement\",\"TestScript.variable.defaultValue\":\"string\",\"TestScript.variable.description\":\"string\",\"TestScript.variable.expression\":\"string\",\"TestScript.variable.extension\":\"Extension\",\"TestScript.variable.headerField\":\"string\",\"TestScript.variable.hint\":\"string\",\"TestScript.variable.id\":\"System.String\",\"TestScript.variable.modifierExtension\":\"Extension\",\"TestScript.variable.name\":\"string\",\"TestScript.variable.path\":\"string\",\"TestScript.variable.sourceId\":\"id\",\"TestScript.version\":\"string\",\"Timing.code\":\"CodeableConcept\",\"Timing.event\":\"dateTime\",\"Timing.extension\":\"Extension\",\"Timing.id\":\"System.String\",\"Timing.modifierExtension\":\"Extension\",\"Timing.repeat.boundsDuration\":\"Duration\",\"Timing.repeat.boundsPeriod\":\"Period\",\"Timing.repeat.boundsRange\":\"Range\",\"Timing.repeat.count\":\"positiveInt\",\"Timing.repeat.countMax\":\"positiveInt\",\"Timing.repeat.dayOfWeek\":\"code\",\"Timing.repeat.duration\":\"decimal\",\"Timing.repeat.durationMax\":\"decimal\",\"Timing.repeat.durationUnit\":\"code\",\"Timing.repeat.extension\":\"Extension\",\"Timing.repeat.frequency\":\"positiveInt\",\"Timing.repeat.frequencyMax\":\"positiveInt\",\"Timing.repeat.id\":\"System.String\",\"Timing.repeat.offset\":\"unsignedInt\",\"Timing.repeat.period\":\"decimal\",\"Timing.repeat.periodMax\":\"decimal\",\"Timing.repeat.periodUnit\":\"code\",\"Timing.repeat.timeOfDay\":\"time\",\"Timing.repeat.when\":\"code\",\"TriggerDefinition.condition\":\"Expression\",\"TriggerDefinition.data\":\"DataRequirement\",\"TriggerDefinition.extension\":\"Extension\",\"TriggerDefinition.id\":\"System.String\",\"TriggerDefinition.name\":\"string\",\"TriggerDefinition.timingDate\":\"date\",\"TriggerDefinition.timingDateTime\":\"dateTime\",\"TriggerDefinition.timingReference\":\"Reference\",\"TriggerDefinition.timingTiming\":\"Timing\",\"TriggerDefinition.type\":\"code\",\"UsageContext.code\":\"Coding\",\"UsageContext.extension\":\"Extension\",\"UsageContext.id\":\"System.String\",\"UsageContext.valueCodeableConcept\":\"CodeableConcept\",\"UsageContext.valueQuantity\":\"Quantity\",\"UsageContext.valueRange\":\"Range\",\"UsageContext.valueReference\":\"Reference\",\"ValueSet.compose\":\"BackboneElement\",\"ValueSet.compose.extension\":\"Extension\",\"ValueSet.compose.id\":\"System.String\",\"ValueSet.compose.inactive\":\"boolean\",\"ValueSet.compose.include\":\"BackboneElement\",\"ValueSet.compose.include.concept\":\"BackboneElement\",\"ValueSet.compose.include.concept.code\":\"code\",\"ValueSet.compose.include.concept.designation\":\"BackboneElement\",\"ValueSet.compose.include.concept.designation.extension\":\"Extension\",\"ValueSet.compose.include.concept.designation.id\":\"System.String\",\"ValueSet.compose.include.concept.designation.language\":\"code\",\"ValueSet.compose.include.concept.designation.modifierExtension\":\"Extension\",\"ValueSet.compose.include.concept.designation.use\":\"Coding\",\"ValueSet.compose.include.concept.designation.value\":\"string\",\"ValueSet.compose.include.concept.display\":\"string\",\"ValueSet.compose.include.concept.extension\":\"Extension\",\"ValueSet.compose.include.concept.id\":\"System.String\",\"ValueSet.compose.include.concept.modifierExtension\":\"Extension\",\"ValueSet.compose.include.extension\":\"Extension\",\"ValueSet.compose.include.filter\":\"BackboneElement\",\"ValueSet.compose.include.filter.extension\":\"Extension\",\"ValueSet.compose.include.filter.id\":\"System.String\",\"ValueSet.compose.include.filter.modifierExtension\":\"Extension\",\"ValueSet.compose.include.filter.op\":\"code\",\"ValueSet.compose.include.filter.property\":\"code\",\"ValueSet.compose.include.filter.value\":\"string\",\"ValueSet.compose.include.id\":\"System.String\",\"ValueSet.compose.include.modifierExtension\":\"Extension\",\"ValueSet.compose.include.system\":\"uri\",\"ValueSet.compose.include.valueSet\":\"canonical\",\"ValueSet.compose.include.version\":\"string\",\"ValueSet.compose.lockedDate\":\"date\",\"ValueSet.compose.modifierExtension\":\"Extension\",\"ValueSet.contact\":\"ContactDetail\",\"ValueSet.contained\":\"Resource\",\"ValueSet.copyright\":\"markdown\",\"ValueSet.date\":\"dateTime\",\"ValueSet.description\":\"markdown\",\"ValueSet.expansion\":\"BackboneElement\",\"ValueSet.expansion.contains\":\"BackboneElement\",\"ValueSet.expansion.contains.abstract\":\"boolean\",\"ValueSet.expansion.contains.code\":\"code\",\"ValueSet.expansion.contains.display\":\"string\",\"ValueSet.expansion.contains.extension\":\"Extension\",\"ValueSet.expansion.contains.id\":\"System.String\",\"ValueSet.expansion.contains.inactive\":\"boolean\",\"ValueSet.expansion.contains.modifierExtension\":\"Extension\",\"ValueSet.expansion.contains.system\":\"uri\",\"ValueSet.expansion.contains.version\":\"string\",\"ValueSet.expansion.extension\":\"Extension\",\"ValueSet.expansion.id\":\"System.String\",\"ValueSet.expansion.identifier\":\"uri\",\"ValueSet.expansion.modifierExtension\":\"Extension\",\"ValueSet.expansion.offset\":\"integer\",\"ValueSet.expansion.parameter\":\"BackboneElement\",\"ValueSet.expansion.parameter.extension\":\"Extension\",\"ValueSet.expansion.parameter.id\":\"System.String\",\"ValueSet.expansion.parameter.modifierExtension\":\"Extension\",\"ValueSet.expansion.parameter.name\":\"string\",\"ValueSet.expansion.parameter.valueBoolean\":\"boolean\",\"ValueSet.expansion.parameter.valueCode\":\"code\",\"ValueSet.expansion.parameter.valueDateTime\":\"dateTime\",\"ValueSet.expansion.parameter.valueDecimal\":\"decimal\",\"ValueSet.expansion.parameter.valueInteger\":\"integer\",\"ValueSet.expansion.parameter.valueString\":\"string\",\"ValueSet.expansion.parameter.valueUri\":\"uri\",\"ValueSet.expansion.timestamp\":\"dateTime\",\"ValueSet.expansion.total\":\"integer\",\"ValueSet.experimental\":\"boolean\",\"ValueSet.extension\":\"Extension\",\"ValueSet.id\":\"System.String\",\"ValueSet.identifier\":\"Identifier\",\"ValueSet.immutable\":\"boolean\",\"ValueSet.implicitRules\":\"uri\",\"ValueSet.jurisdiction\":\"CodeableConcept\",\"ValueSet.language\":\"code\",\"ValueSet.meta\":\"Meta\",\"ValueSet.modifierExtension\":\"Extension\",\"ValueSet.name\":\"string\",\"ValueSet.publisher\":\"string\",\"ValueSet.purpose\":\"markdown\",\"ValueSet.status\":\"code\",\"ValueSet.text\":\"Narrative\",\"ValueSet.title\":\"string\",\"ValueSet.url\":\"uri\",\"ValueSet.useContext\":\"UsageContext\",\"ValueSet.version\":\"string\",\"VerificationResult.attestation\":\"BackboneElement\",\"VerificationResult.attestation.communicationMethod\":\"CodeableConcept\",\"VerificationResult.attestation.date\":\"date\",\"VerificationResult.attestation.extension\":\"Extension\",\"VerificationResult.attestation.id\":\"System.String\",\"VerificationResult.attestation.modifierExtension\":\"Extension\",\"VerificationResult.attestation.onBehalfOf\":\"Reference\",\"VerificationResult.attestation.proxyIdentityCertificate\":\"string\",\"VerificationResult.attestation.proxySignature\":\"Signature\",\"VerificationResult.attestation.sourceIdentityCertificate\":\"string\",\"VerificationResult.attestation.sourceSignature\":\"Signature\",\"VerificationResult.attestation.who\":\"Reference\",\"VerificationResult.contained\":\"Resource\",\"VerificationResult.extension\":\"Extension\",\"VerificationResult.failureAction\":\"CodeableConcept\",\"VerificationResult.frequency\":\"Timing\",\"VerificationResult.id\":\"System.String\",\"VerificationResult.implicitRules\":\"uri\",\"VerificationResult.language\":\"code\",\"VerificationResult.lastPerformed\":\"dateTime\",\"VerificationResult.meta\":\"Meta\",\"VerificationResult.modifierExtension\":\"Extension\",\"VerificationResult.need\":\"CodeableConcept\",\"VerificationResult.nextScheduled\":\"date\",\"VerificationResult.primarySource\":\"BackboneElement\",\"VerificationResult.primarySource.canPushUpdates\":\"CodeableConcept\",\"VerificationResult.primarySource.communicationMethod\":\"CodeableConcept\",\"VerificationResult.primarySource.extension\":\"Extension\",\"VerificationResult.primarySource.id\":\"System.String\",\"VerificationResult.primarySource.modifierExtension\":\"Extension\",\"VerificationResult.primarySource.pushTypeAvailable\":\"CodeableConcept\",\"VerificationResult.primarySource.type\":\"CodeableConcept\",\"VerificationResult.primarySource.validationDate\":\"dateTime\",\"VerificationResult.primarySource.validationStatus\":\"CodeableConcept\",\"VerificationResult.primarySource.who\":\"Reference\",\"VerificationResult.status\":\"code\",\"VerificationResult.statusDate\":\"dateTime\",\"VerificationResult.target\":\"Reference\",\"VerificationResult.targetLocation\":\"string\",\"VerificationResult.text\":\"Narrative\",\"VerificationResult.validationProcess\":\"CodeableConcept\",\"VerificationResult.validationType\":\"CodeableConcept\",\"VerificationResult.validator\":\"BackboneElement\",\"VerificationResult.validator.attestationSignature\":\"Signature\",\"VerificationResult.validator.extension\":\"Extension\",\"VerificationResult.validator.id\":\"System.String\",\"VerificationResult.validator.identityCertificate\":\"string\",\"VerificationResult.validator.modifierExtension\":\"Extension\",\"VerificationResult.validator.organization\":\"Reference\",\"VisionPrescription.contained\":\"Resource\",\"VisionPrescription.created\":\"dateTime\",\"VisionPrescription.dateWritten\":\"dateTime\",\"VisionPrescription.encounter\":\"Reference\",\"VisionPrescription.extension\":\"Extension\",\"VisionPrescription.id\":\"System.String\",\"VisionPrescription.identifier\":\"Identifier\",\"VisionPrescription.implicitRules\":\"uri\",\"VisionPrescription.language\":\"code\",\"VisionPrescription.lensSpecification\":\"BackboneElement\",\"VisionPrescription.lensSpecification.add\":\"decimal\",\"VisionPrescription.lensSpecification.axis\":\"integer\",\"VisionPrescription.lensSpecification.backCurve\":\"decimal\",\"VisionPrescription.lensSpecification.brand\":\"string\",\"VisionPrescription.lensSpecification.color\":\"string\",\"VisionPrescription.lensSpecification.cylinder\":\"decimal\",\"VisionPrescription.lensSpecification.diameter\":\"decimal\",\"VisionPrescription.lensSpecification.duration\":\"Quantity\",\"VisionPrescription.lensSpecification.extension\":\"Extension\",\"VisionPrescription.lensSpecification.eye\":\"code\",\"VisionPrescription.lensSpecification.id\":\"System.String\",\"VisionPrescription.lensSpecification.modifierExtension\":\"Extension\",\"VisionPrescription.lensSpecification.note\":\"Annotation\",\"VisionPrescription.lensSpecification.power\":\"decimal\",\"VisionPrescription.lensSpecification.prism\":\"BackboneElement\",\"VisionPrescription.lensSpecification.prism.amount\":\"decimal\",\"VisionPrescription.lensSpecification.prism.base\":\"code\",\"VisionPrescription.lensSpecification.prism.extension\":\"Extension\",\"VisionPrescription.lensSpecification.prism.id\":\"System.String\",\"VisionPrescription.lensSpecification.prism.modifierExtension\":\"Extension\",\"VisionPrescription.lensSpecification.product\":\"CodeableConcept\",\"VisionPrescription.lensSpecification.sphere\":\"decimal\",\"VisionPrescription.meta\":\"Meta\",\"VisionPrescription.modifierExtension\":\"Extension\",\"VisionPrescription.patient\":\"Reference\",\"VisionPrescription.prescriber\":\"Reference\",\"VisionPrescription.status\":\"code\",\"VisionPrescription.text\":\"Narrative\"}')},151:function(e){\"use strict\";e.exports=JSON.parse('{\"Bundle.entry.link\":\"Bundle.link\",\"CapabilityStatement.rest.operation\":\"CapabilityStatement.rest.resource.operation\",\"CapabilityStatement.rest.searchParam\":\"CapabilityStatement.rest.resource.searchParam\",\"ChargeItemDefinition.propertyGroup.applicability\":\"ChargeItemDefinition.applicability\",\"ClaimResponse.addItem.adjudication\":\"ClaimResponse.item.adjudication\",\"ClaimResponse.addItem.detail.adjudication\":\"ClaimResponse.item.adjudication\",\"ClaimResponse.addItem.detail.subDetail.adjudication\":\"ClaimResponse.item.adjudication\",\"ClaimResponse.adjudication\":\"ClaimResponse.item.adjudication\",\"ClaimResponse.item.detail.adjudication\":\"ClaimResponse.item.adjudication\",\"ClaimResponse.item.detail.subDetail.adjudication\":\"ClaimResponse.item.adjudication\",\"CodeSystem.concept.concept\":\"CodeSystem.concept\",\"Composition.section.section\":\"Composition.section\",\"ConceptMap.group.element.target.product\":\"ConceptMap.group.element.target.dependsOn\",\"Consent.provision.provision\":\"Consent.provision\",\"Contract.term.asset.answer\":\"Contract.term.offer.answer\",\"Contract.term.group\":\"Contract.term\",\"ExampleScenario.process.step.alternative.step\":\"ExampleScenario.process.step\",\"ExampleScenario.process.step.operation.request\":\"ExampleScenario.instance.containedInstance\",\"ExampleScenario.process.step.operation.response\":\"ExampleScenario.instance.containedInstance\",\"ExampleScenario.process.step.process\":\"ExampleScenario.process\",\"ExplanationOfBenefit.addItem.adjudication\":\"ExplanationOfBenefit.item.adjudication\",\"ExplanationOfBenefit.addItem.detail.adjudication\":\"ExplanationOfBenefit.item.adjudication\",\"ExplanationOfBenefit.addItem.detail.subDetail.adjudication\":\"ExplanationOfBenefit.item.adjudication\",\"ExplanationOfBenefit.adjudication\":\"ExplanationOfBenefit.item.adjudication\",\"ExplanationOfBenefit.item.detail.adjudication\":\"ExplanationOfBenefit.item.adjudication\",\"ExplanationOfBenefit.item.detail.subDetail.adjudication\":\"ExplanationOfBenefit.item.adjudication\",\"GraphDefinition.link.target.link\":\"GraphDefinition.link\",\"ImplementationGuide.definition.page.page\":\"ImplementationGuide.definition.page\",\"Invoice.totalPriceComponent\":\"Invoice.lineItem.priceComponent\",\"MedicinalProductAuthorization.procedure.application\":\"MedicinalProductAuthorization.procedure\",\"MedicinalProductIngredient.substance.strength\":\"MedicinalProductIngredient.specifiedSubstance.strength\",\"MedicinalProductPackaged.packageItem.packageItem\":\"MedicinalProductPackaged.packageItem\",\"Observation.component.referenceRange\":\"Observation.referenceRange\",\"OperationDefinition.parameter.part\":\"OperationDefinition.parameter\",\"Parameters.parameter.part\":\"Parameters.parameter\",\"PlanDefinition.action.action\":\"PlanDefinition.action\",\"Provenance.entity.agent\":\"Provenance.agent\",\"Questionnaire.item.item\":\"Questionnaire.item\",\"QuestionnaireResponse.item.answer.item\":\"QuestionnaireResponse.item\",\"QuestionnaireResponse.item.item\":\"QuestionnaireResponse.item\",\"RequestGroup.action.action\":\"RequestGroup.action\",\"StructureMap.group.rule.rule\":\"StructureMap.group.rule\",\"SubstanceSpecification.molecularWeight\":\"SubstanceSpecification.structure.isotope.molecularWeight\",\"SubstanceSpecification.name.synonym\":\"SubstanceSpecification.name\",\"SubstanceSpecification.name.translation\":\"SubstanceSpecification.name\",\"SubstanceSpecification.structure.molecularWeight\":\"SubstanceSpecification.structure.isotope.molecularWeight\",\"TestReport.teardown.action.operation\":\"TestReport.setup.action.operation\",\"TestReport.test.action.assert\":\"TestReport.setup.action.assert\",\"TestReport.test.action.operation\":\"TestReport.setup.action.operation\",\"TestScript.teardown.action.operation\":\"TestScript.setup.action.operation\",\"TestScript.test.action.assert\":\"TestScript.setup.action.assert\",\"TestScript.test.action.operation\":\"TestScript.setup.action.operation\",\"ValueSet.compose.exclude\":\"ValueSet.compose.include\",\"ValueSet.expansion.contains.contains\":\"ValueSet.expansion.contains\",\"ValueSet.expansion.contains.designation\":\"ValueSet.compose.include.concept.designation\"}')},905:function(e){\"use strict\";e.exports=JSON.parse('{\"Account\":\"DomainResource\",\"ActivityDefinition\":\"DomainResource\",\"Address\":\"Element\",\"AdverseEvent\":\"DomainResource\",\"Age\":\"Quantity\",\"AllergyIntolerance\":\"DomainResource\",\"Annotation\":\"Element\",\"Appointment\":\"DomainResource\",\"AppointmentResponse\":\"DomainResource\",\"Attachment\":\"Element\",\"AuditEvent\":\"DomainResource\",\"BackboneElement\":\"Element\",\"Basic\":\"DomainResource\",\"Binary\":\"Resource\",\"BiologicallyDerivedProduct\":\"DomainResource\",\"BodyStructure\":\"DomainResource\",\"Bundle\":\"Resource\",\"CapabilityStatement\":\"DomainResource\",\"CarePlan\":\"DomainResource\",\"CareTeam\":\"DomainResource\",\"CatalogEntry\":\"DomainResource\",\"ChargeItem\":\"DomainResource\",\"ChargeItemDefinition\":\"DomainResource\",\"Claim\":\"DomainResource\",\"ClaimResponse\":\"DomainResource\",\"ClinicalImpression\":\"DomainResource\",\"CodeSystem\":\"DomainResource\",\"CodeableConcept\":\"Element\",\"Coding\":\"Element\",\"Communication\":\"DomainResource\",\"CommunicationRequest\":\"DomainResource\",\"CompartmentDefinition\":\"DomainResource\",\"Composition\":\"DomainResource\",\"ConceptMap\":\"DomainResource\",\"Condition\":\"DomainResource\",\"Consent\":\"DomainResource\",\"ContactDetail\":\"Element\",\"ContactPoint\":\"Element\",\"Contract\":\"DomainResource\",\"Contributor\":\"Element\",\"Count\":\"Quantity\",\"Coverage\":\"DomainResource\",\"CoverageEligibilityRequest\":\"DomainResource\",\"CoverageEligibilityResponse\":\"DomainResource\",\"DataRequirement\":\"Element\",\"DetectedIssue\":\"DomainResource\",\"Device\":\"DomainResource\",\"DeviceDefinition\":\"DomainResource\",\"DeviceMetric\":\"DomainResource\",\"DeviceRequest\":\"DomainResource\",\"DeviceUseStatement\":\"DomainResource\",\"DiagnosticReport\":\"DomainResource\",\"Distance\":\"Quantity\",\"DocumentManifest\":\"DomainResource\",\"DocumentReference\":\"DomainResource\",\"DomainResource\":\"Resource\",\"Dosage\":\"BackboneElement\",\"Duration\":\"Quantity\",\"EffectEvidenceSynthesis\":\"DomainResource\",\"ElementDefinition\":\"BackboneElement\",\"Encounter\":\"DomainResource\",\"Endpoint\":\"DomainResource\",\"EnrollmentRequest\":\"DomainResource\",\"EnrollmentResponse\":\"DomainResource\",\"EpisodeOfCare\":\"DomainResource\",\"EventDefinition\":\"DomainResource\",\"Evidence\":\"DomainResource\",\"EvidenceVariable\":\"DomainResource\",\"ExampleScenario\":\"DomainResource\",\"ExplanationOfBenefit\":\"DomainResource\",\"Expression\":\"Element\",\"Extension\":\"Element\",\"FamilyMemberHistory\":\"DomainResource\",\"Flag\":\"DomainResource\",\"Goal\":\"DomainResource\",\"GraphDefinition\":\"DomainResource\",\"Group\":\"DomainResource\",\"GuidanceResponse\":\"DomainResource\",\"HealthcareService\":\"DomainResource\",\"HumanName\":\"Element\",\"Identifier\":\"Element\",\"ImagingStudy\":\"DomainResource\",\"Immunization\":\"DomainResource\",\"ImmunizationEvaluation\":\"DomainResource\",\"ImmunizationRecommendation\":\"DomainResource\",\"ImplementationGuide\":\"DomainResource\",\"InsurancePlan\":\"DomainResource\",\"Invoice\":\"DomainResource\",\"Library\":\"DomainResource\",\"Linkage\":\"DomainResource\",\"List\":\"DomainResource\",\"Location\":\"DomainResource\",\"MarketingStatus\":\"BackboneElement\",\"Measure\":\"DomainResource\",\"MeasureReport\":\"DomainResource\",\"Media\":\"DomainResource\",\"Medication\":\"DomainResource\",\"MedicationAdministration\":\"DomainResource\",\"MedicationDispense\":\"DomainResource\",\"MedicationKnowledge\":\"DomainResource\",\"MedicationRequest\":\"DomainResource\",\"MedicationStatement\":\"DomainResource\",\"MedicinalProduct\":\"DomainResource\",\"MedicinalProductAuthorization\":\"DomainResource\",\"MedicinalProductContraindication\":\"DomainResource\",\"MedicinalProductIndication\":\"DomainResource\",\"MedicinalProductIngredient\":\"DomainResource\",\"MedicinalProductInteraction\":\"DomainResource\",\"MedicinalProductManufactured\":\"DomainResource\",\"MedicinalProductPackaged\":\"DomainResource\",\"MedicinalProductPharmaceutical\":\"DomainResource\",\"MedicinalProductUndesirableEffect\":\"DomainResource\",\"MessageDefinition\":\"DomainResource\",\"MessageHeader\":\"DomainResource\",\"Meta\":\"Element\",\"MolecularSequence\":\"DomainResource\",\"Money\":\"Element\",\"MoneyQuantity\":\"Quantity\",\"NamingSystem\":\"DomainResource\",\"Narrative\":\"Element\",\"NutritionOrder\":\"DomainResource\",\"Observation\":\"DomainResource\",\"ObservationDefinition\":\"DomainResource\",\"OperationDefinition\":\"DomainResource\",\"OperationOutcome\":\"DomainResource\",\"Organization\":\"DomainResource\",\"OrganizationAffiliation\":\"DomainResource\",\"ParameterDefinition\":\"Element\",\"Parameters\":\"Resource\",\"Patient\":\"DomainResource\",\"PaymentNotice\":\"DomainResource\",\"PaymentReconciliation\":\"DomainResource\",\"Period\":\"Element\",\"Person\":\"DomainResource\",\"PlanDefinition\":\"DomainResource\",\"Population\":\"BackboneElement\",\"Practitioner\":\"DomainResource\",\"PractitionerRole\":\"DomainResource\",\"Procedure\":\"DomainResource\",\"ProdCharacteristic\":\"BackboneElement\",\"ProductShelfLife\":\"BackboneElement\",\"Provenance\":\"DomainResource\",\"Quantity\":\"Element\",\"Questionnaire\":\"DomainResource\",\"QuestionnaireResponse\":\"DomainResource\",\"Range\":\"Element\",\"Ratio\":\"Element\",\"Reference\":\"Element\",\"RelatedArtifact\":\"Element\",\"RelatedPerson\":\"DomainResource\",\"RequestGroup\":\"DomainResource\",\"ResearchDefinition\":\"DomainResource\",\"ResearchElementDefinition\":\"DomainResource\",\"ResearchStudy\":\"DomainResource\",\"ResearchSubject\":\"DomainResource\",\"RiskAssessment\":\"DomainResource\",\"RiskEvidenceSynthesis\":\"DomainResource\",\"SampledData\":\"Element\",\"Schedule\":\"DomainResource\",\"SearchParameter\":\"DomainResource\",\"ServiceRequest\":\"DomainResource\",\"Signature\":\"Element\",\"SimpleQuantity\":\"Quantity\",\"Slot\":\"DomainResource\",\"Specimen\":\"DomainResource\",\"SpecimenDefinition\":\"DomainResource\",\"StructureDefinition\":\"DomainResource\",\"StructureMap\":\"DomainResource\",\"Subscription\":\"DomainResource\",\"Substance\":\"DomainResource\",\"SubstanceAmount\":\"BackboneElement\",\"SubstanceNucleicAcid\":\"DomainResource\",\"SubstancePolymer\":\"DomainResource\",\"SubstanceProtein\":\"DomainResource\",\"SubstanceReferenceInformation\":\"DomainResource\",\"SubstanceSourceMaterial\":\"DomainResource\",\"SubstanceSpecification\":\"DomainResource\",\"SupplyDelivery\":\"DomainResource\",\"SupplyRequest\":\"DomainResource\",\"Task\":\"DomainResource\",\"TerminologyCapabilities\":\"DomainResource\",\"TestReport\":\"DomainResource\",\"TestScript\":\"DomainResource\",\"Timing\":\"BackboneElement\",\"TriggerDefinition\":\"Element\",\"UsageContext\":\"Element\",\"ValueSet\":\"DomainResource\",\"VerificationResult\":\"DomainResource\",\"VisionPrescription\":\"DomainResource\",\"base64Binary\":\"Element\",\"boolean\":\"Element\",\"canonical\":\"uri\",\"code\":\"string\",\"date\":\"Element\",\"dateTime\":\"Element\",\"decimal\":\"Element\",\"id\":\"string\",\"instant\":\"Element\",\"integer\":\"Element\",\"markdown\":\"string\",\"oid\":\"uri\",\"positiveInt\":\"integer\",\"string\":\"Element\",\"time\":\"Element\",\"unsignedInt\":\"integer\",\"uri\":\"Element\",\"url\":\"uri\",\"uuid\":\"uri\",\"xhtml\":\"Element\"}')}},i={},t=function t(n){var o=i[n];if(void 0!==o)return o.exports;var a=i[n]={exports:{}};return e[n](a,a.exports,t),a.exports}(9);window.fhirpath_r4_model=t}();\n//# sourceMappingURL=fhirpath.r4.min.js.map","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\n// Depends on js-yaml.js from https://github.com/nodeca/js-yaml\n\n// declare global: jsyaml\n\nCodeMirror.registerHelper(\"lint\", \"yaml\", function(text) {\n var found = [];\n if (!window.jsyaml) {\n if (window.console) {\n window.console.error(\"Error: window.jsyaml not defined, CodeMirror YAML linting cannot run.\");\n }\n return found;\n }\n try { jsyaml.loadAll(text); }\n catch(e) {\n var loc = e.mark,\n // js-yaml YAMLException doesn't always provide an accurate lineno\n // e.g., when there are multiple yaml docs\n // ---\n // ---\n // foo:bar\n from = loc ? CodeMirror.Pos(loc.line, loc.column) : CodeMirror.Pos(0, 0),\n to = from;\n found.push({ from: from, to: to, message: e.message });\n }\n return found;\n});\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n// This is CodeMirror (https://codemirror.net), a code editor\n// implemented in JavaScript on top of the browser's DOM.\n//\n// You can find some technical background for some of the code below\n// at http://marijnhaverbeke.nl/blog/#cm-internals .\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.CodeMirror = factory());\n}(this, (function () { 'use strict';\n\n // Kludges for bugs and behavior differences that can't be feature\n // detected are enabled based on userAgent etc sniffing.\n var userAgent = navigator.userAgent;\n var platform = navigator.platform;\n\n var gecko = /gecko\\/\\d/i.test(userAgent);\n var ie_upto10 = /MSIE \\d/.test(userAgent);\n var ie_11up = /Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(userAgent);\n var edge = /Edge\\/(\\d+)/.exec(userAgent);\n var ie = ie_upto10 || ie_11up || edge;\n var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1]);\n var webkit = !edge && /WebKit\\//.test(userAgent);\n var qtwebkit = webkit && /Qt\\/\\d+\\.\\d+/.test(userAgent);\n var chrome = !edge && /Chrome\\//.test(userAgent);\n var presto = /Opera\\//.test(userAgent);\n var safari = /Apple Computer/.test(navigator.vendor);\n var mac_geMountainLion = /Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(userAgent);\n var phantom = /PhantomJS/.test(userAgent);\n\n var ios = safari && (/Mobile\\/\\w+/.test(userAgent) || navigator.maxTouchPoints > 2);\n var android = /Android/.test(userAgent);\n // This is woefully incomplete. Suggestions for alternative methods welcome.\n var mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent);\n var mac = ios || /Mac/.test(platform);\n var chromeOS = /\\bCrOS\\b/.test(userAgent);\n var windows = /win/i.test(platform);\n\n var presto_version = presto && userAgent.match(/Version\\/(\\d*\\.\\d*)/);\n if (presto_version) { presto_version = Number(presto_version[1]); }\n if (presto_version && presto_version >= 15) { presto = false; webkit = true; }\n // Some browsers use the wrong event properties to signal cmd/ctrl on OS X\n var flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11));\n var captureRightClick = gecko || (ie && ie_version >= 9);\n\n function classTest(cls) { return new RegExp(\"(^|\\\\s)\" + cls + \"(?:$|\\\\s)\\\\s*\") }\n\n var rmClass = function(node, cls) {\n var current = node.className;\n var match = classTest(cls).exec(current);\n if (match) {\n var after = current.slice(match.index + match[0].length);\n node.className = current.slice(0, match.index) + (after ? match[1] + after : \"\");\n }\n };\n\n function removeChildren(e) {\n for (var count = e.childNodes.length; count > 0; --count)\n { e.removeChild(e.firstChild); }\n return e\n }\n\n function removeChildrenAndAdd(parent, e) {\n return removeChildren(parent).appendChild(e)\n }\n\n function elt(tag, content, className, style) {\n var e = document.createElement(tag);\n if (className) { e.className = className; }\n if (style) { e.style.cssText = style; }\n if (typeof content == \"string\") { e.appendChild(document.createTextNode(content)); }\n else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]); } }\n return e\n }\n // wrapper for elt, which removes the elt from the accessibility tree\n function eltP(tag, content, className, style) {\n var e = elt(tag, content, className, style);\n e.setAttribute(\"role\", \"presentation\");\n return e\n }\n\n var range;\n if (document.createRange) { range = function(node, start, end, endNode) {\n var r = document.createRange();\n r.setEnd(endNode || node, end);\n r.setStart(node, start);\n return r\n }; }\n else { range = function(node, start, end) {\n var r = document.body.createTextRange();\n try { r.moveToElementText(node.parentNode); }\n catch(e) { return r }\n r.collapse(true);\n r.moveEnd(\"character\", end);\n r.moveStart(\"character\", start);\n return r\n }; }\n\n function contains(parent, child) {\n if (child.nodeType == 3) // Android browser always returns false when child is a textnode\n { child = child.parentNode; }\n if (parent.contains)\n { return parent.contains(child) }\n do {\n if (child.nodeType == 11) { child = child.host; }\n if (child == parent) { return true }\n } while (child = child.parentNode)\n }\n\n function activeElt() {\n // IE and Edge may throw an \"Unspecified Error\" when accessing document.activeElement.\n // IE < 10 will throw when accessed while the page is loading or in an iframe.\n // IE > 9 and Edge will throw when accessed in an iframe if document.body is unavailable.\n var activeElement;\n try {\n activeElement = document.activeElement;\n } catch(e) {\n activeElement = document.body || null;\n }\n while (activeElement && activeElement.shadowRoot && activeElement.shadowRoot.activeElement)\n { activeElement = activeElement.shadowRoot.activeElement; }\n return activeElement\n }\n\n function addClass(node, cls) {\n var current = node.className;\n if (!classTest(cls).test(current)) { node.className += (current ? \" \" : \"\") + cls; }\n }\n function joinClasses(a, b) {\n var as = a.split(\" \");\n for (var i = 0; i < as.length; i++)\n { if (as[i] && !classTest(as[i]).test(b)) { b += \" \" + as[i]; } }\n return b\n }\n\n var selectInput = function(node) { node.select(); };\n if (ios) // Mobile Safari apparently has a bug where select() is broken.\n { selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length; }; }\n else if (ie) // Suppress mysterious IE10 errors\n { selectInput = function(node) { try { node.select(); } catch(_e) {} }; }\n\n function bind(f) {\n var args = Array.prototype.slice.call(arguments, 1);\n return function(){return f.apply(null, args)}\n }\n\n function copyObj(obj, target, overwrite) {\n if (!target) { target = {}; }\n for (var prop in obj)\n { if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop)))\n { target[prop] = obj[prop]; } }\n return target\n }\n\n // Counts the column offset in a string, taking tabs into account.\n // Used mostly to find indentation.\n function countColumn(string, end, tabSize, startIndex, startValue) {\n if (end == null) {\n end = string.search(/[^\\s\\u00a0]/);\n if (end == -1) { end = string.length; }\n }\n for (var i = startIndex || 0, n = startValue || 0;;) {\n var nextTab = string.indexOf(\"\\t\", i);\n if (nextTab < 0 || nextTab >= end)\n { return n + (end - i) }\n n += nextTab - i;\n n += tabSize - (n % tabSize);\n i = nextTab + 1;\n }\n }\n\n var Delayed = function() {\n this.id = null;\n this.f = null;\n this.time = 0;\n this.handler = bind(this.onTimeout, this);\n };\n Delayed.prototype.onTimeout = function (self) {\n self.id = 0;\n if (self.time <= +new Date) {\n self.f();\n } else {\n setTimeout(self.handler, self.time - +new Date);\n }\n };\n Delayed.prototype.set = function (ms, f) {\n this.f = f;\n var time = +new Date + ms;\n if (!this.id || time < this.time) {\n clearTimeout(this.id);\n this.id = setTimeout(this.handler, ms);\n this.time = time;\n }\n };\n\n function indexOf(array, elt) {\n for (var i = 0; i < array.length; ++i)\n { if (array[i] == elt) { return i } }\n return -1\n }\n\n // Number of pixels added to scroller and sizer to hide scrollbar\n var scrollerGap = 50;\n\n // Returned or thrown by various protocols to signal 'I'm not\n // handling this'.\n var Pass = {toString: function(){return \"CodeMirror.Pass\"}};\n\n // Reused option objects for setSelection & friends\n var sel_dontScroll = {scroll: false}, sel_mouse = {origin: \"*mouse\"}, sel_move = {origin: \"+move\"};\n\n // The inverse of countColumn -- find the offset that corresponds to\n // a particular column.\n function findColumn(string, goal, tabSize) {\n for (var pos = 0, col = 0;;) {\n var nextTab = string.indexOf(\"\\t\", pos);\n if (nextTab == -1) { nextTab = string.length; }\n var skipped = nextTab - pos;\n if (nextTab == string.length || col + skipped >= goal)\n { return pos + Math.min(skipped, goal - col) }\n col += nextTab - pos;\n col += tabSize - (col % tabSize);\n pos = nextTab + 1;\n if (col >= goal) { return pos }\n }\n }\n\n var spaceStrs = [\"\"];\n function spaceStr(n) {\n while (spaceStrs.length <= n)\n { spaceStrs.push(lst(spaceStrs) + \" \"); }\n return spaceStrs[n]\n }\n\n function lst(arr) { return arr[arr.length-1] }\n\n function map(array, f) {\n var out = [];\n for (var i = 0; i < array.length; i++) { out[i] = f(array[i], i); }\n return out\n }\n\n function insertSorted(array, value, score) {\n var pos = 0, priority = score(value);\n while (pos < array.length && score(array[pos]) <= priority) { pos++; }\n array.splice(pos, 0, value);\n }\n\n function nothing() {}\n\n function createObj(base, props) {\n var inst;\n if (Object.create) {\n inst = Object.create(base);\n } else {\n nothing.prototype = base;\n inst = new nothing();\n }\n if (props) { copyObj(props, inst); }\n return inst\n }\n\n var nonASCIISingleCaseWordChar = /[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/;\n function isWordCharBasic(ch) {\n return /\\w/.test(ch) || ch > \"\\x80\" &&\n (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch))\n }\n function isWordChar(ch, helper) {\n if (!helper) { return isWordCharBasic(ch) }\n if (helper.source.indexOf(\"\\\\w\") > -1 && isWordCharBasic(ch)) { return true }\n return helper.test(ch)\n }\n\n function isEmpty(obj) {\n for (var n in obj) { if (obj.hasOwnProperty(n) && obj[n]) { return false } }\n return true\n }\n\n // Extending unicode characters. A series of a non-extending char +\n // any number of extending chars is treated as a single unit as far\n // as editing and measuring is concerned. This is not fully correct,\n // since some scripts/fonts/browsers also treat other configurations\n // of code points as a group.\n var extendingChars = /[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/;\n function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch) }\n\n // Returns a number from the range [`0`; `str.length`] unless `pos` is outside that range.\n function skipExtendingChars(str, pos, dir) {\n while ((dir < 0 ? pos > 0 : pos < str.length) && isExtendingChar(str.charAt(pos))) { pos += dir; }\n return pos\n }\n\n // Returns the value from the range [`from`; `to`] that satisfies\n // `pred` and is closest to `from`. Assumes that at least `to`\n // satisfies `pred`. Supports `from` being greater than `to`.\n function findFirst(pred, from, to) {\n // At any point we are certain `to` satisfies `pred`, don't know\n // whether `from` does.\n var dir = from > to ? -1 : 1;\n for (;;) {\n if (from == to) { return from }\n var midF = (from + to) / 2, mid = dir < 0 ? Math.ceil(midF) : Math.floor(midF);\n if (mid == from) { return pred(mid) ? from : to }\n if (pred(mid)) { to = mid; }\n else { from = mid + dir; }\n }\n }\n\n // BIDI HELPERS\n\n function iterateBidiSections(order, from, to, f) {\n if (!order) { return f(from, to, \"ltr\", 0) }\n var found = false;\n for (var i = 0; i < order.length; ++i) {\n var part = order[i];\n if (part.from < to && part.to > from || from == to && part.to == from) {\n f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? \"rtl\" : \"ltr\", i);\n found = true;\n }\n }\n if (!found) { f(from, to, \"ltr\"); }\n }\n\n var bidiOther = null;\n function getBidiPartAt(order, ch, sticky) {\n var found;\n bidiOther = null;\n for (var i = 0; i < order.length; ++i) {\n var cur = order[i];\n if (cur.from < ch && cur.to > ch) { return i }\n if (cur.to == ch) {\n if (cur.from != cur.to && sticky == \"before\") { found = i; }\n else { bidiOther = i; }\n }\n if (cur.from == ch) {\n if (cur.from != cur.to && sticky != \"before\") { found = i; }\n else { bidiOther = i; }\n }\n }\n return found != null ? found : bidiOther\n }\n\n // Bidirectional ordering algorithm\n // See http://unicode.org/reports/tr9/tr9-13.html for the algorithm\n // that this (partially) implements.\n\n // One-char codes used for character types:\n // L (L): Left-to-Right\n // R (R): Right-to-Left\n // r (AL): Right-to-Left Arabic\n // 1 (EN): European Number\n // + (ES): European Number Separator\n // % (ET): European Number Terminator\n // n (AN): Arabic Number\n // , (CS): Common Number Separator\n // m (NSM): Non-Spacing Mark\n // b (BN): Boundary Neutral\n // s (B): Paragraph Separator\n // t (S): Segment Separator\n // w (WS): Whitespace\n // N (ON): Other Neutrals\n\n // Returns null if characters are ordered as they appear\n // (left-to-right), or an array of sections ({from, to, level}\n // objects) in the order in which they occur visually.\n var bidiOrdering = (function() {\n // Character types for codepoints 0 to 0xff\n var lowTypes = \"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\";\n // Character types for codepoints 0x600 to 0x6f9\n var arabicTypes = \"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\";\n function charType(code) {\n if (code <= 0xf7) { return lowTypes.charAt(code) }\n else if (0x590 <= code && code <= 0x5f4) { return \"R\" }\n else if (0x600 <= code && code <= 0x6f9) { return arabicTypes.charAt(code - 0x600) }\n else if (0x6ee <= code && code <= 0x8ac) { return \"r\" }\n else if (0x2000 <= code && code <= 0x200b) { return \"w\" }\n else if (code == 0x200c) { return \"b\" }\n else { return \"L\" }\n }\n\n var bidiRE = /[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/;\n var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/;\n\n function BidiSpan(level, from, to) {\n this.level = level;\n this.from = from; this.to = to;\n }\n\n return function(str, direction) {\n var outerType = direction == \"ltr\" ? \"L\" : \"R\";\n\n if (str.length == 0 || direction == \"ltr\" && !bidiRE.test(str)) { return false }\n var len = str.length, types = [];\n for (var i = 0; i < len; ++i)\n { types.push(charType(str.charCodeAt(i))); }\n\n // W1. Examine each non-spacing mark (NSM) in the level run, and\n // change the type of the NSM to the type of the previous\n // character. If the NSM is at the start of the level run, it will\n // get the type of sor.\n for (var i$1 = 0, prev = outerType; i$1 < len; ++i$1) {\n var type = types[i$1];\n if (type == \"m\") { types[i$1] = prev; }\n else { prev = type; }\n }\n\n // W2. Search backwards from each instance of a European number\n // until the first strong type (R, L, AL, or sor) is found. If an\n // AL is found, change the type of the European number to Arabic\n // number.\n // W3. Change all ALs to R.\n for (var i$2 = 0, cur = outerType; i$2 < len; ++i$2) {\n var type$1 = types[i$2];\n if (type$1 == \"1\" && cur == \"r\") { types[i$2] = \"n\"; }\n else if (isStrong.test(type$1)) { cur = type$1; if (type$1 == \"r\") { types[i$2] = \"R\"; } }\n }\n\n // W4. A single European separator between two European numbers\n // changes to a European number. A single common separator between\n // two numbers of the same type changes to that type.\n for (var i$3 = 1, prev$1 = types[0]; i$3 < len - 1; ++i$3) {\n var type$2 = types[i$3];\n if (type$2 == \"+\" && prev$1 == \"1\" && types[i$3+1] == \"1\") { types[i$3] = \"1\"; }\n else if (type$2 == \",\" && prev$1 == types[i$3+1] &&\n (prev$1 == \"1\" || prev$1 == \"n\")) { types[i$3] = prev$1; }\n prev$1 = type$2;\n }\n\n // W5. A sequence of European terminators adjacent to European\n // numbers changes to all European numbers.\n // W6. Otherwise, separators and terminators change to Other\n // Neutral.\n for (var i$4 = 0; i$4 < len; ++i$4) {\n var type$3 = types[i$4];\n if (type$3 == \",\") { types[i$4] = \"N\"; }\n else if (type$3 == \"%\") {\n var end = (void 0);\n for (end = i$4 + 1; end < len && types[end] == \"%\"; ++end) {}\n var replace = (i$4 && types[i$4-1] == \"!\") || (end < len && types[end] == \"1\") ? \"1\" : \"N\";\n for (var j = i$4; j < end; ++j) { types[j] = replace; }\n i$4 = end - 1;\n }\n }\n\n // W7. Search backwards from each instance of a European number\n // until the first strong type (R, L, or sor) is found. If an L is\n // found, then change the type of the European number to L.\n for (var i$5 = 0, cur$1 = outerType; i$5 < len; ++i$5) {\n var type$4 = types[i$5];\n if (cur$1 == \"L\" && type$4 == \"1\") { types[i$5] = \"L\"; }\n else if (isStrong.test(type$4)) { cur$1 = type$4; }\n }\n\n // N1. A sequence of neutrals takes the direction of the\n // surrounding strong text if the text on both sides has the same\n // direction. European and Arabic numbers act as if they were R in\n // terms of their influence on neutrals. Start-of-level-run (sor)\n // and end-of-level-run (eor) are used at level run boundaries.\n // N2. Any remaining neutrals take the embedding direction.\n for (var i$6 = 0; i$6 < len; ++i$6) {\n if (isNeutral.test(types[i$6])) {\n var end$1 = (void 0);\n for (end$1 = i$6 + 1; end$1 < len && isNeutral.test(types[end$1]); ++end$1) {}\n var before = (i$6 ? types[i$6-1] : outerType) == \"L\";\n var after = (end$1 < len ? types[end$1] : outerType) == \"L\";\n var replace$1 = before == after ? (before ? \"L\" : \"R\") : outerType;\n for (var j$1 = i$6; j$1 < end$1; ++j$1) { types[j$1] = replace$1; }\n i$6 = end$1 - 1;\n }\n }\n\n // Here we depart from the documented algorithm, in order to avoid\n // building up an actual levels array. Since there are only three\n // levels (0, 1, 2) in an implementation that doesn't take\n // explicit embedding into account, we can build up the order on\n // the fly, without following the level-based algorithm.\n var order = [], m;\n for (var i$7 = 0; i$7 < len;) {\n if (countsAsLeft.test(types[i$7])) {\n var start = i$7;\n for (++i$7; i$7 < len && countsAsLeft.test(types[i$7]); ++i$7) {}\n order.push(new BidiSpan(0, start, i$7));\n } else {\n var pos = i$7, at = order.length, isRTL = direction == \"rtl\" ? 1 : 0;\n for (++i$7; i$7 < len && types[i$7] != \"L\"; ++i$7) {}\n for (var j$2 = pos; j$2 < i$7;) {\n if (countsAsNum.test(types[j$2])) {\n if (pos < j$2) { order.splice(at, 0, new BidiSpan(1, pos, j$2)); at += isRTL; }\n var nstart = j$2;\n for (++j$2; j$2 < i$7 && countsAsNum.test(types[j$2]); ++j$2) {}\n order.splice(at, 0, new BidiSpan(2, nstart, j$2));\n at += isRTL;\n pos = j$2;\n } else { ++j$2; }\n }\n if (pos < i$7) { order.splice(at, 0, new BidiSpan(1, pos, i$7)); }\n }\n }\n if (direction == \"ltr\") {\n if (order[0].level == 1 && (m = str.match(/^\\s+/))) {\n order[0].from = m[0].length;\n order.unshift(new BidiSpan(0, 0, m[0].length));\n }\n if (lst(order).level == 1 && (m = str.match(/\\s+$/))) {\n lst(order).to -= m[0].length;\n order.push(new BidiSpan(0, len - m[0].length, len));\n }\n }\n\n return direction == \"rtl\" ? order.reverse() : order\n }\n })();\n\n // Get the bidi ordering for the given line (and cache it). Returns\n // false for lines that are fully left-to-right, and an array of\n // BidiSpan objects otherwise.\n function getOrder(line, direction) {\n var order = line.order;\n if (order == null) { order = line.order = bidiOrdering(line.text, direction); }\n return order\n }\n\n // EVENT HANDLING\n\n // Lightweight event framework. on/off also work on DOM nodes,\n // registering native DOM handlers.\n\n var noHandlers = [];\n\n var on = function(emitter, type, f) {\n if (emitter.addEventListener) {\n emitter.addEventListener(type, f, false);\n } else if (emitter.attachEvent) {\n emitter.attachEvent(\"on\" + type, f);\n } else {\n var map = emitter._handlers || (emitter._handlers = {});\n map[type] = (map[type] || noHandlers).concat(f);\n }\n };\n\n function getHandlers(emitter, type) {\n return emitter._handlers && emitter._handlers[type] || noHandlers\n }\n\n function off(emitter, type, f) {\n if (emitter.removeEventListener) {\n emitter.removeEventListener(type, f, false);\n } else if (emitter.detachEvent) {\n emitter.detachEvent(\"on\" + type, f);\n } else {\n var map = emitter._handlers, arr = map && map[type];\n if (arr) {\n var index = indexOf(arr, f);\n if (index > -1)\n { map[type] = arr.slice(0, index).concat(arr.slice(index + 1)); }\n }\n }\n }\n\n function signal(emitter, type /*, values...*/) {\n var handlers = getHandlers(emitter, type);\n if (!handlers.length) { return }\n var args = Array.prototype.slice.call(arguments, 2);\n for (var i = 0; i < handlers.length; ++i) { handlers[i].apply(null, args); }\n }\n\n // The DOM events that CodeMirror handles can be overridden by\n // registering a (non-DOM) handler on the editor for the event name,\n // and preventDefault-ing the event in that handler.\n function signalDOMEvent(cm, e, override) {\n if (typeof e == \"string\")\n { e = {type: e, preventDefault: function() { this.defaultPrevented = true; }}; }\n signal(cm, override || e.type, cm, e);\n return e_defaultPrevented(e) || e.codemirrorIgnore\n }\n\n function signalCursorActivity(cm) {\n var arr = cm._handlers && cm._handlers.cursorActivity;\n if (!arr) { return }\n var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = []);\n for (var i = 0; i < arr.length; ++i) { if (indexOf(set, arr[i]) == -1)\n { set.push(arr[i]); } }\n }\n\n function hasHandler(emitter, type) {\n return getHandlers(emitter, type).length > 0\n }\n\n // Add on and off methods to a constructor's prototype, to make\n // registering events on such objects more convenient.\n function eventMixin(ctor) {\n ctor.prototype.on = function(type, f) {on(this, type, f);};\n ctor.prototype.off = function(type, f) {off(this, type, f);};\n }\n\n // Due to the fact that we still support jurassic IE versions, some\n // compatibility wrappers are needed.\n\n function e_preventDefault(e) {\n if (e.preventDefault) { e.preventDefault(); }\n else { e.returnValue = false; }\n }\n function e_stopPropagation(e) {\n if (e.stopPropagation) { e.stopPropagation(); }\n else { e.cancelBubble = true; }\n }\n function e_defaultPrevented(e) {\n return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false\n }\n function e_stop(e) {e_preventDefault(e); e_stopPropagation(e);}\n\n function e_target(e) {return e.target || e.srcElement}\n function e_button(e) {\n var b = e.which;\n if (b == null) {\n if (e.button & 1) { b = 1; }\n else if (e.button & 2) { b = 3; }\n else if (e.button & 4) { b = 2; }\n }\n if (mac && e.ctrlKey && b == 1) { b = 3; }\n return b\n }\n\n // Detect drag-and-drop\n var dragAndDrop = function() {\n // There is *some* kind of drag-and-drop support in IE6-8, but I\n // couldn't get it to work yet.\n if (ie && ie_version < 9) { return false }\n var div = elt('div');\n return \"draggable\" in div || \"dragDrop\" in div\n }();\n\n var zwspSupported;\n function zeroWidthElement(measure) {\n if (zwspSupported == null) {\n var test = elt(\"span\", \"\\u200b\");\n removeChildrenAndAdd(measure, elt(\"span\", [test, document.createTextNode(\"x\")]));\n if (measure.firstChild.offsetHeight != 0)\n { zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8); }\n }\n var node = zwspSupported ? elt(\"span\", \"\\u200b\") :\n elt(\"span\", \"\\u00a0\", null, \"display: inline-block; width: 1px; margin-right: -1px\");\n node.setAttribute(\"cm-text\", \"\");\n return node\n }\n\n // Feature-detect IE's crummy client rect reporting for bidi text\n var badBidiRects;\n function hasBadBidiRects(measure) {\n if (badBidiRects != null) { return badBidiRects }\n var txt = removeChildrenAndAdd(measure, document.createTextNode(\"A\\u062eA\"));\n var r0 = range(txt, 0, 1).getBoundingClientRect();\n var r1 = range(txt, 1, 2).getBoundingClientRect();\n removeChildren(measure);\n if (!r0 || r0.left == r0.right) { return false } // Safari returns null in some cases (#2780)\n return badBidiRects = (r1.right - r0.right < 3)\n }\n\n // See if \"\".split is the broken IE version, if so, provide an\n // alternative way to split lines.\n var splitLinesAuto = \"\\n\\nb\".split(/\\n/).length != 3 ? function (string) {\n var pos = 0, result = [], l = string.length;\n while (pos <= l) {\n var nl = string.indexOf(\"\\n\", pos);\n if (nl == -1) { nl = string.length; }\n var line = string.slice(pos, string.charAt(nl - 1) == \"\\r\" ? nl - 1 : nl);\n var rt = line.indexOf(\"\\r\");\n if (rt != -1) {\n result.push(line.slice(0, rt));\n pos += rt + 1;\n } else {\n result.push(line);\n pos = nl + 1;\n }\n }\n return result\n } : function (string) { return string.split(/\\r\\n?|\\n/); };\n\n var hasSelection = window.getSelection ? function (te) {\n try { return te.selectionStart != te.selectionEnd }\n catch(e) { return false }\n } : function (te) {\n var range;\n try {range = te.ownerDocument.selection.createRange();}\n catch(e) {}\n if (!range || range.parentElement() != te) { return false }\n return range.compareEndPoints(\"StartToEnd\", range) != 0\n };\n\n var hasCopyEvent = (function () {\n var e = elt(\"div\");\n if (\"oncopy\" in e) { return true }\n e.setAttribute(\"oncopy\", \"return;\");\n return typeof e.oncopy == \"function\"\n })();\n\n var badZoomedRects = null;\n function hasBadZoomedRects(measure) {\n if (badZoomedRects != null) { return badZoomedRects }\n var node = removeChildrenAndAdd(measure, elt(\"span\", \"x\"));\n var normal = node.getBoundingClientRect();\n var fromRange = range(node, 0, 1).getBoundingClientRect();\n return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1\n }\n\n // Known modes, by name and by MIME\n var modes = {}, mimeModes = {};\n\n // Extra arguments are stored as the mode's dependencies, which is\n // used by (legacy) mechanisms like loadmode.js to automatically\n // load a mode. (Preferred mechanism is the require/define calls.)\n function defineMode(name, mode) {\n if (arguments.length > 2)\n { mode.dependencies = Array.prototype.slice.call(arguments, 2); }\n modes[name] = mode;\n }\n\n function defineMIME(mime, spec) {\n mimeModes[mime] = spec;\n }\n\n // Given a MIME type, a {name, ...options} config object, or a name\n // string, return a mode config object.\n function resolveMode(spec) {\n if (typeof spec == \"string\" && mimeModes.hasOwnProperty(spec)) {\n spec = mimeModes[spec];\n } else if (spec && typeof spec.name == \"string\" && mimeModes.hasOwnProperty(spec.name)) {\n var found = mimeModes[spec.name];\n if (typeof found == \"string\") { found = {name: found}; }\n spec = createObj(found, spec);\n spec.name = found.name;\n } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(spec)) {\n return resolveMode(\"application/xml\")\n } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(spec)) {\n return resolveMode(\"application/json\")\n }\n if (typeof spec == \"string\") { return {name: spec} }\n else { return spec || {name: \"null\"} }\n }\n\n // Given a mode spec (anything that resolveMode accepts), find and\n // initialize an actual mode object.\n function getMode(options, spec) {\n spec = resolveMode(spec);\n var mfactory = modes[spec.name];\n if (!mfactory) { return getMode(options, \"text/plain\") }\n var modeObj = mfactory(options, spec);\n if (modeExtensions.hasOwnProperty(spec.name)) {\n var exts = modeExtensions[spec.name];\n for (var prop in exts) {\n if (!exts.hasOwnProperty(prop)) { continue }\n if (modeObj.hasOwnProperty(prop)) { modeObj[\"_\" + prop] = modeObj[prop]; }\n modeObj[prop] = exts[prop];\n }\n }\n modeObj.name = spec.name;\n if (spec.helperType) { modeObj.helperType = spec.helperType; }\n if (spec.modeProps) { for (var prop$1 in spec.modeProps)\n { modeObj[prop$1] = spec.modeProps[prop$1]; } }\n\n return modeObj\n }\n\n // This can be used to attach properties to mode objects from\n // outside the actual mode definition.\n var modeExtensions = {};\n function extendMode(mode, properties) {\n var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {});\n copyObj(properties, exts);\n }\n\n function copyState(mode, state) {\n if (state === true) { return state }\n if (mode.copyState) { return mode.copyState(state) }\n var nstate = {};\n for (var n in state) {\n var val = state[n];\n if (val instanceof Array) { val = val.concat([]); }\n nstate[n] = val;\n }\n return nstate\n }\n\n // Given a mode and a state (for that mode), find the inner mode and\n // state at the position that the state refers to.\n function innerMode(mode, state) {\n var info;\n while (mode.innerMode) {\n info = mode.innerMode(state);\n if (!info || info.mode == mode) { break }\n state = info.state;\n mode = info.mode;\n }\n return info || {mode: mode, state: state}\n }\n\n function startState(mode, a1, a2) {\n return mode.startState ? mode.startState(a1, a2) : true\n }\n\n // STRING STREAM\n\n // Fed to the mode parsers, provides helper functions to make\n // parsers more succinct.\n\n var StringStream = function(string, tabSize, lineOracle) {\n this.pos = this.start = 0;\n this.string = string;\n this.tabSize = tabSize || 8;\n this.lastColumnPos = this.lastColumnValue = 0;\n this.lineStart = 0;\n this.lineOracle = lineOracle;\n };\n\n StringStream.prototype.eol = function () {return this.pos >= this.string.length};\n StringStream.prototype.sol = function () {return this.pos == this.lineStart};\n StringStream.prototype.peek = function () {return this.string.charAt(this.pos) || undefined};\n StringStream.prototype.next = function () {\n if (this.pos < this.string.length)\n { return this.string.charAt(this.pos++) }\n };\n StringStream.prototype.eat = function (match) {\n var ch = this.string.charAt(this.pos);\n var ok;\n if (typeof match == \"string\") { ok = ch == match; }\n else { ok = ch && (match.test ? match.test(ch) : match(ch)); }\n if (ok) {++this.pos; return ch}\n };\n StringStream.prototype.eatWhile = function (match) {\n var start = this.pos;\n while (this.eat(match)){}\n return this.pos > start\n };\n StringStream.prototype.eatSpace = function () {\n var start = this.pos;\n while (/[\\s\\u00a0]/.test(this.string.charAt(this.pos))) { ++this.pos; }\n return this.pos > start\n };\n StringStream.prototype.skipToEnd = function () {this.pos = this.string.length;};\n StringStream.prototype.skipTo = function (ch) {\n var found = this.string.indexOf(ch, this.pos);\n if (found > -1) {this.pos = found; return true}\n };\n StringStream.prototype.backUp = function (n) {this.pos -= n;};\n StringStream.prototype.column = function () {\n if (this.lastColumnPos < this.start) {\n this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue);\n this.lastColumnPos = this.start;\n }\n return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0)\n };\n StringStream.prototype.indentation = function () {\n return countColumn(this.string, null, this.tabSize) -\n (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0)\n };\n StringStream.prototype.match = function (pattern, consume, caseInsensitive) {\n if (typeof pattern == \"string\") {\n var cased = function (str) { return caseInsensitive ? str.toLowerCase() : str; };\n var substr = this.string.substr(this.pos, pattern.length);\n if (cased(substr) == cased(pattern)) {\n if (consume !== false) { this.pos += pattern.length; }\n return true\n }\n } else {\n var match = this.string.slice(this.pos).match(pattern);\n if (match && match.index > 0) { return null }\n if (match && consume !== false) { this.pos += match[0].length; }\n return match\n }\n };\n StringStream.prototype.current = function (){return this.string.slice(this.start, this.pos)};\n StringStream.prototype.hideFirstChars = function (n, inner) {\n this.lineStart += n;\n try { return inner() }\n finally { this.lineStart -= n; }\n };\n StringStream.prototype.lookAhead = function (n) {\n var oracle = this.lineOracle;\n return oracle && oracle.lookAhead(n)\n };\n StringStream.prototype.baseToken = function () {\n var oracle = this.lineOracle;\n return oracle && oracle.baseToken(this.pos)\n };\n\n // Find the line object corresponding to the given line number.\n function getLine(doc, n) {\n n -= doc.first;\n if (n < 0 || n >= doc.size) { throw new Error(\"There is no line \" + (n + doc.first) + \" in the document.\") }\n var chunk = doc;\n while (!chunk.lines) {\n for (var i = 0;; ++i) {\n var child = chunk.children[i], sz = child.chunkSize();\n if (n < sz) { chunk = child; break }\n n -= sz;\n }\n }\n return chunk.lines[n]\n }\n\n // Get the part of a document between two positions, as an array of\n // strings.\n function getBetween(doc, start, end) {\n var out = [], n = start.line;\n doc.iter(start.line, end.line + 1, function (line) {\n var text = line.text;\n if (n == end.line) { text = text.slice(0, end.ch); }\n if (n == start.line) { text = text.slice(start.ch); }\n out.push(text);\n ++n;\n });\n return out\n }\n // Get the lines between from and to, as array of strings.\n function getLines(doc, from, to) {\n var out = [];\n doc.iter(from, to, function (line) { out.push(line.text); }); // iter aborts when callback returns truthy value\n return out\n }\n\n // Update the height of a line, propagating the height change\n // upwards to parent nodes.\n function updateLineHeight(line, height) {\n var diff = height - line.height;\n if (diff) { for (var n = line; n; n = n.parent) { n.height += diff; } }\n }\n\n // Given a line object, find its line number by walking up through\n // its parent links.\n function lineNo(line) {\n if (line.parent == null) { return null }\n var cur = line.parent, no = indexOf(cur.lines, line);\n for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) {\n for (var i = 0;; ++i) {\n if (chunk.children[i] == cur) { break }\n no += chunk.children[i].chunkSize();\n }\n }\n return no + cur.first\n }\n\n // Find the line at the given vertical position, using the height\n // information in the document tree.\n function lineAtHeight(chunk, h) {\n var n = chunk.first;\n outer: do {\n for (var i$1 = 0; i$1 < chunk.children.length; ++i$1) {\n var child = chunk.children[i$1], ch = child.height;\n if (h < ch) { chunk = child; continue outer }\n h -= ch;\n n += child.chunkSize();\n }\n return n\n } while (!chunk.lines)\n var i = 0;\n for (; i < chunk.lines.length; ++i) {\n var line = chunk.lines[i], lh = line.height;\n if (h < lh) { break }\n h -= lh;\n }\n return n + i\n }\n\n function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size}\n\n function lineNumberFor(options, i) {\n return String(options.lineNumberFormatter(i + options.firstLineNumber))\n }\n\n // A Pos instance represents a position within the text.\n function Pos(line, ch, sticky) {\n if ( sticky === void 0 ) sticky = null;\n\n if (!(this instanceof Pos)) { return new Pos(line, ch, sticky) }\n this.line = line;\n this.ch = ch;\n this.sticky = sticky;\n }\n\n // Compare two positions, return 0 if they are the same, a negative\n // number when a is less, and a positive number otherwise.\n function cmp(a, b) { return a.line - b.line || a.ch - b.ch }\n\n function equalCursorPos(a, b) { return a.sticky == b.sticky && cmp(a, b) == 0 }\n\n function copyPos(x) {return Pos(x.line, x.ch)}\n function maxPos(a, b) { return cmp(a, b) < 0 ? b : a }\n function minPos(a, b) { return cmp(a, b) < 0 ? a : b }\n\n // Most of the external API clips given positions to make sure they\n // actually exist within the document.\n function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1))}\n function clipPos(doc, pos) {\n if (pos.line < doc.first) { return Pos(doc.first, 0) }\n var last = doc.first + doc.size - 1;\n if (pos.line > last) { return Pos(last, getLine(doc, last).text.length) }\n return clipToLen(pos, getLine(doc, pos.line).text.length)\n }\n function clipToLen(pos, linelen) {\n var ch = pos.ch;\n if (ch == null || ch > linelen) { return Pos(pos.line, linelen) }\n else if (ch < 0) { return Pos(pos.line, 0) }\n else { return pos }\n }\n function clipPosArray(doc, array) {\n var out = [];\n for (var i = 0; i < array.length; i++) { out[i] = clipPos(doc, array[i]); }\n return out\n }\n\n var SavedContext = function(state, lookAhead) {\n this.state = state;\n this.lookAhead = lookAhead;\n };\n\n var Context = function(doc, state, line, lookAhead) {\n this.state = state;\n this.doc = doc;\n this.line = line;\n this.maxLookAhead = lookAhead || 0;\n this.baseTokens = null;\n this.baseTokenPos = 1;\n };\n\n Context.prototype.lookAhead = function (n) {\n var line = this.doc.getLine(this.line + n);\n if (line != null && n > this.maxLookAhead) { this.maxLookAhead = n; }\n return line\n };\n\n Context.prototype.baseToken = function (n) {\n if (!this.baseTokens) { return null }\n while (this.baseTokens[this.baseTokenPos] <= n)\n { this.baseTokenPos += 2; }\n var type = this.baseTokens[this.baseTokenPos + 1];\n return {type: type && type.replace(/( |^)overlay .*/, \"\"),\n size: this.baseTokens[this.baseTokenPos] - n}\n };\n\n Context.prototype.nextLine = function () {\n this.line++;\n if (this.maxLookAhead > 0) { this.maxLookAhead--; }\n };\n\n Context.fromSaved = function (doc, saved, line) {\n if (saved instanceof SavedContext)\n { return new Context(doc, copyState(doc.mode, saved.state), line, saved.lookAhead) }\n else\n { return new Context(doc, copyState(doc.mode, saved), line) }\n };\n\n Context.prototype.save = function (copy) {\n var state = copy !== false ? copyState(this.doc.mode, this.state) : this.state;\n return this.maxLookAhead > 0 ? new SavedContext(state, this.maxLookAhead) : state\n };\n\n\n // Compute a style array (an array starting with a mode generation\n // -- for invalidation -- followed by pairs of end positions and\n // style strings), which is used to highlight the tokens on the\n // line.\n function highlightLine(cm, line, context, forceToEnd) {\n // A styles array always starts with a number identifying the\n // mode/overlays that it is based on (for easy invalidation).\n var st = [cm.state.modeGen], lineClasses = {};\n // Compute the base array of styles\n runMode(cm, line.text, cm.doc.mode, context, function (end, style) { return st.push(end, style); },\n lineClasses, forceToEnd);\n var state = context.state;\n\n // Run overlays, adjust style array.\n var loop = function ( o ) {\n context.baseTokens = st;\n var overlay = cm.state.overlays[o], i = 1, at = 0;\n context.state = true;\n runMode(cm, line.text, overlay.mode, context, function (end, style) {\n var start = i;\n // Ensure there's a token end at the current position, and that i points at it\n while (at < end) {\n var i_end = st[i];\n if (i_end > end)\n { st.splice(i, 1, end, st[i+1], i_end); }\n i += 2;\n at = Math.min(end, i_end);\n }\n if (!style) { return }\n if (overlay.opaque) {\n st.splice(start, i - start, end, \"overlay \" + style);\n i = start + 2;\n } else {\n for (; start < i; start += 2) {\n var cur = st[start+1];\n st[start+1] = (cur ? cur + \" \" : \"\") + \"overlay \" + style;\n }\n }\n }, lineClasses);\n context.state = state;\n context.baseTokens = null;\n context.baseTokenPos = 1;\n };\n\n for (var o = 0; o < cm.state.overlays.length; ++o) loop( o );\n\n return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null}\n }\n\n function getLineStyles(cm, line, updateFrontier) {\n if (!line.styles || line.styles[0] != cm.state.modeGen) {\n var context = getContextBefore(cm, lineNo(line));\n var resetState = line.text.length > cm.options.maxHighlightLength && copyState(cm.doc.mode, context.state);\n var result = highlightLine(cm, line, context);\n if (resetState) { context.state = resetState; }\n line.stateAfter = context.save(!resetState);\n line.styles = result.styles;\n if (result.classes) { line.styleClasses = result.classes; }\n else if (line.styleClasses) { line.styleClasses = null; }\n if (updateFrontier === cm.doc.highlightFrontier)\n { cm.doc.modeFrontier = Math.max(cm.doc.modeFrontier, ++cm.doc.highlightFrontier); }\n }\n return line.styles\n }\n\n function getContextBefore(cm, n, precise) {\n var doc = cm.doc, display = cm.display;\n if (!doc.mode.startState) { return new Context(doc, true, n) }\n var start = findStartLine(cm, n, precise);\n var saved = start > doc.first && getLine(doc, start - 1).stateAfter;\n var context = saved ? Context.fromSaved(doc, saved, start) : new Context(doc, startState(doc.mode), start);\n\n doc.iter(start, n, function (line) {\n processLine(cm, line.text, context);\n var pos = context.line;\n line.stateAfter = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo ? context.save() : null;\n context.nextLine();\n });\n if (precise) { doc.modeFrontier = context.line; }\n return context\n }\n\n // Lightweight form of highlight -- proceed over this line and\n // update state, but don't save a style array. Used for lines that\n // aren't currently visible.\n function processLine(cm, text, context, startAt) {\n var mode = cm.doc.mode;\n var stream = new StringStream(text, cm.options.tabSize, context);\n stream.start = stream.pos = startAt || 0;\n if (text == \"\") { callBlankLine(mode, context.state); }\n while (!stream.eol()) {\n readToken(mode, stream, context.state);\n stream.start = stream.pos;\n }\n }\n\n function callBlankLine(mode, state) {\n if (mode.blankLine) { return mode.blankLine(state) }\n if (!mode.innerMode) { return }\n var inner = innerMode(mode, state);\n if (inner.mode.blankLine) { return inner.mode.blankLine(inner.state) }\n }\n\n function readToken(mode, stream, state, inner) {\n for (var i = 0; i < 10; i++) {\n if (inner) { inner[0] = innerMode(mode, state).mode; }\n var style = mode.token(stream, state);\n if (stream.pos > stream.start) { return style }\n }\n throw new Error(\"Mode \" + mode.name + \" failed to advance stream.\")\n }\n\n var Token = function(stream, type, state) {\n this.start = stream.start; this.end = stream.pos;\n this.string = stream.current();\n this.type = type || null;\n this.state = state;\n };\n\n // Utility for getTokenAt and getLineTokens\n function takeToken(cm, pos, precise, asArray) {\n var doc = cm.doc, mode = doc.mode, style;\n pos = clipPos(doc, pos);\n var line = getLine(doc, pos.line), context = getContextBefore(cm, pos.line, precise);\n var stream = new StringStream(line.text, cm.options.tabSize, context), tokens;\n if (asArray) { tokens = []; }\n while ((asArray || stream.pos < pos.ch) && !stream.eol()) {\n stream.start = stream.pos;\n style = readToken(mode, stream, context.state);\n if (asArray) { tokens.push(new Token(stream, style, copyState(doc.mode, context.state))); }\n }\n return asArray ? tokens : new Token(stream, style, context.state)\n }\n\n function extractLineClasses(type, output) {\n if (type) { for (;;) {\n var lineClass = type.match(/(?:^|\\s+)line-(background-)?(\\S+)/);\n if (!lineClass) { break }\n type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length);\n var prop = lineClass[1] ? \"bgClass\" : \"textClass\";\n if (output[prop] == null)\n { output[prop] = lineClass[2]; }\n else if (!(new RegExp(\"(?:^|\\\\s)\" + lineClass[2] + \"(?:$|\\\\s)\")).test(output[prop]))\n { output[prop] += \" \" + lineClass[2]; }\n } }\n return type\n }\n\n // Run the given mode's parser over a line, calling f for each token.\n function runMode(cm, text, mode, context, f, lineClasses, forceToEnd) {\n var flattenSpans = mode.flattenSpans;\n if (flattenSpans == null) { flattenSpans = cm.options.flattenSpans; }\n var curStart = 0, curStyle = null;\n var stream = new StringStream(text, cm.options.tabSize, context), style;\n var inner = cm.options.addModeClass && [null];\n if (text == \"\") { extractLineClasses(callBlankLine(mode, context.state), lineClasses); }\n while (!stream.eol()) {\n if (stream.pos > cm.options.maxHighlightLength) {\n flattenSpans = false;\n if (forceToEnd) { processLine(cm, text, context, stream.pos); }\n stream.pos = text.length;\n style = null;\n } else {\n style = extractLineClasses(readToken(mode, stream, context.state, inner), lineClasses);\n }\n if (inner) {\n var mName = inner[0].name;\n if (mName) { style = \"m-\" + (style ? mName + \" \" + style : mName); }\n }\n if (!flattenSpans || curStyle != style) {\n while (curStart < stream.start) {\n curStart = Math.min(stream.start, curStart + 5000);\n f(curStart, curStyle);\n }\n curStyle = style;\n }\n stream.start = stream.pos;\n }\n while (curStart < stream.pos) {\n // Webkit seems to refuse to render text nodes longer than 57444\n // characters, and returns inaccurate measurements in nodes\n // starting around 5000 chars.\n var pos = Math.min(stream.pos, curStart + 5000);\n f(pos, curStyle);\n curStart = pos;\n }\n }\n\n // Finds the line to start with when starting a parse. Tries to\n // find a line with a stateAfter, so that it can start with a\n // valid state. If that fails, it returns the line with the\n // smallest indentation, which tends to need the least context to\n // parse correctly.\n function findStartLine(cm, n, precise) {\n var minindent, minline, doc = cm.doc;\n var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100);\n for (var search = n; search > lim; --search) {\n if (search <= doc.first) { return doc.first }\n var line = getLine(doc, search - 1), after = line.stateAfter;\n if (after && (!precise || search + (after instanceof SavedContext ? after.lookAhead : 0) <= doc.modeFrontier))\n { return search }\n var indented = countColumn(line.text, null, cm.options.tabSize);\n if (minline == null || minindent > indented) {\n minline = search - 1;\n minindent = indented;\n }\n }\n return minline\n }\n\n function retreatFrontier(doc, n) {\n doc.modeFrontier = Math.min(doc.modeFrontier, n);\n if (doc.highlightFrontier < n - 10) { return }\n var start = doc.first;\n for (var line = n - 1; line > start; line--) {\n var saved = getLine(doc, line).stateAfter;\n // change is on 3\n // state on line 1 looked ahead 2 -- so saw 3\n // test 1 + 2 < 3 should cover this\n if (saved && (!(saved instanceof SavedContext) || line + saved.lookAhead < n)) {\n start = line + 1;\n break\n }\n }\n doc.highlightFrontier = Math.min(doc.highlightFrontier, start);\n }\n\n // Optimize some code when these features are not used.\n var sawReadOnlySpans = false, sawCollapsedSpans = false;\n\n function seeReadOnlySpans() {\n sawReadOnlySpans = true;\n }\n\n function seeCollapsedSpans() {\n sawCollapsedSpans = true;\n }\n\n // TEXTMARKER SPANS\n\n function MarkedSpan(marker, from, to) {\n this.marker = marker;\n this.from = from; this.to = to;\n }\n\n // Search an array of spans for a span matching the given marker.\n function getMarkedSpanFor(spans, marker) {\n if (spans) { for (var i = 0; i < spans.length; ++i) {\n var span = spans[i];\n if (span.marker == marker) { return span }\n } }\n }\n\n // Remove a span from an array, returning undefined if no spans are\n // left (we don't store arrays for lines without spans).\n function removeMarkedSpan(spans, span) {\n var r;\n for (var i = 0; i < spans.length; ++i)\n { if (spans[i] != span) { (r || (r = [])).push(spans[i]); } }\n return r\n }\n\n // Add a span to a line.\n function addMarkedSpan(line, span, op) {\n var inThisOp = op && window.WeakSet && (op.markedSpans || (op.markedSpans = new WeakSet));\n if (inThisOp && inThisOp.has(line.markedSpans)) {\n line.markedSpans.push(span);\n } else {\n line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span];\n if (inThisOp) { inThisOp.add(line.markedSpans); }\n }\n span.marker.attachLine(line);\n }\n\n // Used for the algorithm that adjusts markers for a change in the\n // document. These functions cut an array of spans at a given\n // character position, returning an array of remaining chunks (or\n // undefined if nothing remains).\n function markedSpansBefore(old, startCh, isInsert) {\n var nw;\n if (old) { for (var i = 0; i < old.length; ++i) {\n var span = old[i], marker = span.marker;\n var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh);\n if (startsBefore || span.from == startCh && marker.type == \"bookmark\" && (!isInsert || !span.marker.insertLeft)) {\n var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh)\n ;(nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to));\n }\n } }\n return nw\n }\n function markedSpansAfter(old, endCh, isInsert) {\n var nw;\n if (old) { for (var i = 0; i < old.length; ++i) {\n var span = old[i], marker = span.marker;\n var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh);\n if (endsAfter || span.from == endCh && marker.type == \"bookmark\" && (!isInsert || span.marker.insertLeft)) {\n var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh)\n ;(nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh,\n span.to == null ? null : span.to - endCh));\n }\n } }\n return nw\n }\n\n // Given a change object, compute the new set of marker spans that\n // cover the line in which the change took place. Removes spans\n // entirely within the change, reconnects spans belonging to the\n // same marker that appear on both sides of the change, and cuts off\n // spans partially within the change. Returns an array of span\n // arrays with one element for each line in (after) the change.\n function stretchSpansOverChange(doc, change) {\n if (change.full) { return null }\n var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans;\n var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans;\n if (!oldFirst && !oldLast) { return null }\n\n var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0;\n // Get the spans that 'stick out' on both sides\n var first = markedSpansBefore(oldFirst, startCh, isInsert);\n var last = markedSpansAfter(oldLast, endCh, isInsert);\n\n // Next, merge those two ends\n var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0);\n if (first) {\n // Fix up .to properties of first\n for (var i = 0; i < first.length; ++i) {\n var span = first[i];\n if (span.to == null) {\n var found = getMarkedSpanFor(last, span.marker);\n if (!found) { span.to = startCh; }\n else if (sameLine) { span.to = found.to == null ? null : found.to + offset; }\n }\n }\n }\n if (last) {\n // Fix up .from in last (or move them into first in case of sameLine)\n for (var i$1 = 0; i$1 < last.length; ++i$1) {\n var span$1 = last[i$1];\n if (span$1.to != null) { span$1.to += offset; }\n if (span$1.from == null) {\n var found$1 = getMarkedSpanFor(first, span$1.marker);\n if (!found$1) {\n span$1.from = offset;\n if (sameLine) { (first || (first = [])).push(span$1); }\n }\n } else {\n span$1.from += offset;\n if (sameLine) { (first || (first = [])).push(span$1); }\n }\n }\n }\n // Make sure we didn't create any zero-length spans\n if (first) { first = clearEmptySpans(first); }\n if (last && last != first) { last = clearEmptySpans(last); }\n\n var newMarkers = [first];\n if (!sameLine) {\n // Fill gap with whole-line-spans\n var gap = change.text.length - 2, gapMarkers;\n if (gap > 0 && first)\n { for (var i$2 = 0; i$2 < first.length; ++i$2)\n { if (first[i$2].to == null)\n { (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i$2].marker, null, null)); } } }\n for (var i$3 = 0; i$3 < gap; ++i$3)\n { newMarkers.push(gapMarkers); }\n newMarkers.push(last);\n }\n return newMarkers\n }\n\n // Remove spans that are empty and don't have a clearWhenEmpty\n // option of false.\n function clearEmptySpans(spans) {\n for (var i = 0; i < spans.length; ++i) {\n var span = spans[i];\n if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false)\n { spans.splice(i--, 1); }\n }\n if (!spans.length) { return null }\n return spans\n }\n\n // Used to 'clip' out readOnly ranges when making a change.\n function removeReadOnlyRanges(doc, from, to) {\n var markers = null;\n doc.iter(from.line, to.line + 1, function (line) {\n if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) {\n var mark = line.markedSpans[i].marker;\n if (mark.readOnly && (!markers || indexOf(markers, mark) == -1))\n { (markers || (markers = [])).push(mark); }\n } }\n });\n if (!markers) { return null }\n var parts = [{from: from, to: to}];\n for (var i = 0; i < markers.length; ++i) {\n var mk = markers[i], m = mk.find(0);\n for (var j = 0; j < parts.length; ++j) {\n var p = parts[j];\n if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) { continue }\n var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to);\n if (dfrom < 0 || !mk.inclusiveLeft && !dfrom)\n { newParts.push({from: p.from, to: m.from}); }\n if (dto > 0 || !mk.inclusiveRight && !dto)\n { newParts.push({from: m.to, to: p.to}); }\n parts.splice.apply(parts, newParts);\n j += newParts.length - 3;\n }\n }\n return parts\n }\n\n // Connect or disconnect spans from a line.\n function detachMarkedSpans(line) {\n var spans = line.markedSpans;\n if (!spans) { return }\n for (var i = 0; i < spans.length; ++i)\n { spans[i].marker.detachLine(line); }\n line.markedSpans = null;\n }\n function attachMarkedSpans(line, spans) {\n if (!spans) { return }\n for (var i = 0; i < spans.length; ++i)\n { spans[i].marker.attachLine(line); }\n line.markedSpans = spans;\n }\n\n // Helpers used when computing which overlapping collapsed span\n // counts as the larger one.\n function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 }\n function extraRight(marker) { return marker.inclusiveRight ? 1 : 0 }\n\n // Returns a number indicating which of two overlapping collapsed\n // spans is larger (and thus includes the other). Falls back to\n // comparing ids when the spans cover exactly the same range.\n function compareCollapsedMarkers(a, b) {\n var lenDiff = a.lines.length - b.lines.length;\n if (lenDiff != 0) { return lenDiff }\n var aPos = a.find(), bPos = b.find();\n var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b);\n if (fromCmp) { return -fromCmp }\n var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b);\n if (toCmp) { return toCmp }\n return b.id - a.id\n }\n\n // Find out whether a line ends or starts in a collapsed span. If\n // so, return the marker for that span.\n function collapsedSpanAtSide(line, start) {\n var sps = sawCollapsedSpans && line.markedSpans, found;\n if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) {\n sp = sps[i];\n if (sp.marker.collapsed && (start ? sp.from : sp.to) == null &&\n (!found || compareCollapsedMarkers(found, sp.marker) < 0))\n { found = sp.marker; }\n } }\n return found\n }\n function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true) }\n function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false) }\n\n function collapsedSpanAround(line, ch) {\n var sps = sawCollapsedSpans && line.markedSpans, found;\n if (sps) { for (var i = 0; i < sps.length; ++i) {\n var sp = sps[i];\n if (sp.marker.collapsed && (sp.from == null || sp.from < ch) && (sp.to == null || sp.to > ch) &&\n (!found || compareCollapsedMarkers(found, sp.marker) < 0)) { found = sp.marker; }\n } }\n return found\n }\n\n // Test whether there exists a collapsed span that partially\n // overlaps (covers the start or end, but not both) of a new span.\n // Such overlap is not allowed.\n function conflictingCollapsedRange(doc, lineNo, from, to, marker) {\n var line = getLine(doc, lineNo);\n var sps = sawCollapsedSpans && line.markedSpans;\n if (sps) { for (var i = 0; i < sps.length; ++i) {\n var sp = sps[i];\n if (!sp.marker.collapsed) { continue }\n var found = sp.marker.find(0);\n var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker);\n var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker);\n if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) { continue }\n if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) ||\n fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0))\n { return true }\n } }\n }\n\n // A visual line is a line as drawn on the screen. Folding, for\n // example, can cause multiple logical lines to appear on the same\n // visual line. This finds the start of the visual line that the\n // given line is part of (usually that is the line itself).\n function visualLine(line) {\n var merged;\n while (merged = collapsedSpanAtStart(line))\n { line = merged.find(-1, true).line; }\n return line\n }\n\n function visualLineEnd(line) {\n var merged;\n while (merged = collapsedSpanAtEnd(line))\n { line = merged.find(1, true).line; }\n return line\n }\n\n // Returns an array of logical lines that continue the visual line\n // started by the argument, or undefined if there are no such lines.\n function visualLineContinued(line) {\n var merged, lines;\n while (merged = collapsedSpanAtEnd(line)) {\n line = merged.find(1, true).line\n ;(lines || (lines = [])).push(line);\n }\n return lines\n }\n\n // Get the line number of the start of the visual line that the\n // given line number is part of.\n function visualLineNo(doc, lineN) {\n var line = getLine(doc, lineN), vis = visualLine(line);\n if (line == vis) { return lineN }\n return lineNo(vis)\n }\n\n // Get the line number of the start of the next visual line after\n // the given line.\n function visualLineEndNo(doc, lineN) {\n if (lineN > doc.lastLine()) { return lineN }\n var line = getLine(doc, lineN), merged;\n if (!lineIsHidden(doc, line)) { return lineN }\n while (merged = collapsedSpanAtEnd(line))\n { line = merged.find(1, true).line; }\n return lineNo(line) + 1\n }\n\n // Compute whether a line is hidden. Lines count as hidden when they\n // are part of a visual line that starts with another line, or when\n // they are entirely covered by collapsed, non-widget span.\n function lineIsHidden(doc, line) {\n var sps = sawCollapsedSpans && line.markedSpans;\n if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) {\n sp = sps[i];\n if (!sp.marker.collapsed) { continue }\n if (sp.from == null) { return true }\n if (sp.marker.widgetNode) { continue }\n if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp))\n { return true }\n } }\n }\n function lineIsHiddenInner(doc, line, span) {\n if (span.to == null) {\n var end = span.marker.find(1, true);\n return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker))\n }\n if (span.marker.inclusiveRight && span.to == line.text.length)\n { return true }\n for (var sp = (void 0), i = 0; i < line.markedSpans.length; ++i) {\n sp = line.markedSpans[i];\n if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to &&\n (sp.to == null || sp.to != span.from) &&\n (sp.marker.inclusiveLeft || span.marker.inclusiveRight) &&\n lineIsHiddenInner(doc, line, sp)) { return true }\n }\n }\n\n // Find the height above the given line.\n function heightAtLine(lineObj) {\n lineObj = visualLine(lineObj);\n\n var h = 0, chunk = lineObj.parent;\n for (var i = 0; i < chunk.lines.length; ++i) {\n var line = chunk.lines[i];\n if (line == lineObj) { break }\n else { h += line.height; }\n }\n for (var p = chunk.parent; p; chunk = p, p = chunk.parent) {\n for (var i$1 = 0; i$1 < p.children.length; ++i$1) {\n var cur = p.children[i$1];\n if (cur == chunk) { break }\n else { h += cur.height; }\n }\n }\n return h\n }\n\n // Compute the character length of a line, taking into account\n // collapsed ranges (see markText) that might hide parts, and join\n // other lines onto it.\n function lineLength(line) {\n if (line.height == 0) { return 0 }\n var len = line.text.length, merged, cur = line;\n while (merged = collapsedSpanAtStart(cur)) {\n var found = merged.find(0, true);\n cur = found.from.line;\n len += found.from.ch - found.to.ch;\n }\n cur = line;\n while (merged = collapsedSpanAtEnd(cur)) {\n var found$1 = merged.find(0, true);\n len -= cur.text.length - found$1.from.ch;\n cur = found$1.to.line;\n len += cur.text.length - found$1.to.ch;\n }\n return len\n }\n\n // Find the longest line in the document.\n function findMaxLine(cm) {\n var d = cm.display, doc = cm.doc;\n d.maxLine = getLine(doc, doc.first);\n d.maxLineLength = lineLength(d.maxLine);\n d.maxLineChanged = true;\n doc.iter(function (line) {\n var len = lineLength(line);\n if (len > d.maxLineLength) {\n d.maxLineLength = len;\n d.maxLine = line;\n }\n });\n }\n\n // LINE DATA STRUCTURE\n\n // Line objects. These hold state related to a line, including\n // highlighting info (the styles array).\n var Line = function(text, markedSpans, estimateHeight) {\n this.text = text;\n attachMarkedSpans(this, markedSpans);\n this.height = estimateHeight ? estimateHeight(this) : 1;\n };\n\n Line.prototype.lineNo = function () { return lineNo(this) };\n eventMixin(Line);\n\n // Change the content (text, markers) of a line. Automatically\n // invalidates cached information and tries to re-estimate the\n // line's height.\n function updateLine(line, text, markedSpans, estimateHeight) {\n line.text = text;\n if (line.stateAfter) { line.stateAfter = null; }\n if (line.styles) { line.styles = null; }\n if (line.order != null) { line.order = null; }\n detachMarkedSpans(line);\n attachMarkedSpans(line, markedSpans);\n var estHeight = estimateHeight ? estimateHeight(line) : 1;\n if (estHeight != line.height) { updateLineHeight(line, estHeight); }\n }\n\n // Detach a line from the document tree and its markers.\n function cleanUpLine(line) {\n line.parent = null;\n detachMarkedSpans(line);\n }\n\n // Convert a style as returned by a mode (either null, or a string\n // containing one or more styles) to a CSS style. This is cached,\n // and also looks for line-wide styles.\n var styleToClassCache = {}, styleToClassCacheWithMode = {};\n function interpretTokenStyle(style, options) {\n if (!style || /^\\s*$/.test(style)) { return null }\n var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache;\n return cache[style] ||\n (cache[style] = style.replace(/\\S+/g, \"cm-$&\"))\n }\n\n // Render the DOM representation of the text of a line. Also builds\n // up a 'line map', which points at the DOM nodes that represent\n // specific stretches of text, and is used by the measuring code.\n // The returned object contains the DOM node, this map, and\n // information about line-wide styles that were set by the mode.\n function buildLineContent(cm, lineView) {\n // The padding-right forces the element to have a 'border', which\n // is needed on Webkit to be able to get line-level bounding\n // rectangles for it (in measureChar).\n var content = eltP(\"span\", null, null, webkit ? \"padding-right: .1px\" : null);\n var builder = {pre: eltP(\"pre\", [content], \"CodeMirror-line\"), content: content,\n col: 0, pos: 0, cm: cm,\n trailingSpace: false,\n splitSpaces: cm.getOption(\"lineWrapping\")};\n lineView.measure = {};\n\n // Iterate over the logical lines that make up this visual line.\n for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) {\n var line = i ? lineView.rest[i - 1] : lineView.line, order = (void 0);\n builder.pos = 0;\n builder.addToken = buildToken;\n // Optionally wire in some hacks into the token-rendering\n // algorithm, to deal with browser quirks.\n if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line, cm.doc.direction)))\n { builder.addToken = buildTokenBadBidi(builder.addToken, order); }\n builder.map = [];\n var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line);\n insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate));\n if (line.styleClasses) {\n if (line.styleClasses.bgClass)\n { builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || \"\"); }\n if (line.styleClasses.textClass)\n { builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || \"\"); }\n }\n\n // Ensure at least a single node is present, for measuring.\n if (builder.map.length == 0)\n { builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))); }\n\n // Store the map and a cache object for the current logical line\n if (i == 0) {\n lineView.measure.map = builder.map;\n lineView.measure.cache = {};\n } else {\n (lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map)\n ;(lineView.measure.caches || (lineView.measure.caches = [])).push({});\n }\n }\n\n // See issue #2901\n if (webkit) {\n var last = builder.content.lastChild;\n if (/\\bcm-tab\\b/.test(last.className) || (last.querySelector && last.querySelector(\".cm-tab\")))\n { builder.content.className = \"cm-tab-wrap-hack\"; }\n }\n\n signal(cm, \"renderLine\", cm, lineView.line, builder.pre);\n if (builder.pre.className)\n { builder.textClass = joinClasses(builder.pre.className, builder.textClass || \"\"); }\n\n return builder\n }\n\n function defaultSpecialCharPlaceholder(ch) {\n var token = elt(\"span\", \"\\u2022\", \"cm-invalidchar\");\n token.title = \"\\\\u\" + ch.charCodeAt(0).toString(16);\n token.setAttribute(\"aria-label\", token.title);\n return token\n }\n\n // Build up the DOM representation for a single token, and add it to\n // the line map. Takes care to render special characters separately.\n function buildToken(builder, text, style, startStyle, endStyle, css, attributes) {\n if (!text) { return }\n var displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text;\n var special = builder.cm.state.specialChars, mustWrap = false;\n var content;\n if (!special.test(text)) {\n builder.col += text.length;\n content = document.createTextNode(displayText);\n builder.map.push(builder.pos, builder.pos + text.length, content);\n if (ie && ie_version < 9) { mustWrap = true; }\n builder.pos += text.length;\n } else {\n content = document.createDocumentFragment();\n var pos = 0;\n while (true) {\n special.lastIndex = pos;\n var m = special.exec(text);\n var skipped = m ? m.index - pos : text.length - pos;\n if (skipped) {\n var txt = document.createTextNode(displayText.slice(pos, pos + skipped));\n if (ie && ie_version < 9) { content.appendChild(elt(\"span\", [txt])); }\n else { content.appendChild(txt); }\n builder.map.push(builder.pos, builder.pos + skipped, txt);\n builder.col += skipped;\n builder.pos += skipped;\n }\n if (!m) { break }\n pos += skipped + 1;\n var txt$1 = (void 0);\n if (m[0] == \"\\t\") {\n var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize;\n txt$1 = content.appendChild(elt(\"span\", spaceStr(tabWidth), \"cm-tab\"));\n txt$1.setAttribute(\"role\", \"presentation\");\n txt$1.setAttribute(\"cm-text\", \"\\t\");\n builder.col += tabWidth;\n } else if (m[0] == \"\\r\" || m[0] == \"\\n\") {\n txt$1 = content.appendChild(elt(\"span\", m[0] == \"\\r\" ? \"\\u240d\" : \"\\u2424\", \"cm-invalidchar\"));\n txt$1.setAttribute(\"cm-text\", m[0]);\n builder.col += 1;\n } else {\n txt$1 = builder.cm.options.specialCharPlaceholder(m[0]);\n txt$1.setAttribute(\"cm-text\", m[0]);\n if (ie && ie_version < 9) { content.appendChild(elt(\"span\", [txt$1])); }\n else { content.appendChild(txt$1); }\n builder.col += 1;\n }\n builder.map.push(builder.pos, builder.pos + 1, txt$1);\n builder.pos++;\n }\n }\n builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32;\n if (style || startStyle || endStyle || mustWrap || css || attributes) {\n var fullStyle = style || \"\";\n if (startStyle) { fullStyle += startStyle; }\n if (endStyle) { fullStyle += endStyle; }\n var token = elt(\"span\", [content], fullStyle, css);\n if (attributes) {\n for (var attr in attributes) { if (attributes.hasOwnProperty(attr) && attr != \"style\" && attr != \"class\")\n { token.setAttribute(attr, attributes[attr]); } }\n }\n return builder.content.appendChild(token)\n }\n builder.content.appendChild(content);\n }\n\n // Change some spaces to NBSP to prevent the browser from collapsing\n // trailing spaces at the end of a line when rendering text (issue #1362).\n function splitSpaces(text, trailingBefore) {\n if (text.length > 1 && !/ /.test(text)) { return text }\n var spaceBefore = trailingBefore, result = \"\";\n for (var i = 0; i < text.length; i++) {\n var ch = text.charAt(i);\n if (ch == \" \" && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32))\n { ch = \"\\u00a0\"; }\n result += ch;\n spaceBefore = ch == \" \";\n }\n return result\n }\n\n // Work around nonsense dimensions being reported for stretches of\n // right-to-left text.\n function buildTokenBadBidi(inner, order) {\n return function (builder, text, style, startStyle, endStyle, css, attributes) {\n style = style ? style + \" cm-force-border\" : \"cm-force-border\";\n var start = builder.pos, end = start + text.length;\n for (;;) {\n // Find the part that overlaps with the start of this text\n var part = (void 0);\n for (var i = 0; i < order.length; i++) {\n part = order[i];\n if (part.to > start && part.from <= start) { break }\n }\n if (part.to >= end) { return inner(builder, text, style, startStyle, endStyle, css, attributes) }\n inner(builder, text.slice(0, part.to - start), style, startStyle, null, css, attributes);\n startStyle = null;\n text = text.slice(part.to - start);\n start = part.to;\n }\n }\n }\n\n function buildCollapsedSpan(builder, size, marker, ignoreWidget) {\n var widget = !ignoreWidget && marker.widgetNode;\n if (widget) { builder.map.push(builder.pos, builder.pos + size, widget); }\n if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) {\n if (!widget)\n { widget = builder.content.appendChild(document.createElement(\"span\")); }\n widget.setAttribute(\"cm-marker\", marker.id);\n }\n if (widget) {\n builder.cm.display.input.setUneditable(widget);\n builder.content.appendChild(widget);\n }\n builder.pos += size;\n builder.trailingSpace = false;\n }\n\n // Outputs a number of spans to make up a line, taking highlighting\n // and marked text into account.\n function insertLineContent(line, builder, styles) {\n var spans = line.markedSpans, allText = line.text, at = 0;\n if (!spans) {\n for (var i$1 = 1; i$1 < styles.length; i$1+=2)\n { builder.addToken(builder, allText.slice(at, at = styles[i$1]), interpretTokenStyle(styles[i$1+1], builder.cm.options)); }\n return\n }\n\n var len = allText.length, pos = 0, i = 1, text = \"\", style, css;\n var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, collapsed, attributes;\n for (;;) {\n if (nextChange == pos) { // Update current marker set\n spanStyle = spanEndStyle = spanStartStyle = css = \"\";\n attributes = null;\n collapsed = null; nextChange = Infinity;\n var foundBookmarks = [], endStyles = (void 0);\n for (var j = 0; j < spans.length; ++j) {\n var sp = spans[j], m = sp.marker;\n if (m.type == \"bookmark\" && sp.from == pos && m.widgetNode) {\n foundBookmarks.push(m);\n } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) {\n if (sp.to != null && sp.to != pos && nextChange > sp.to) {\n nextChange = sp.to;\n spanEndStyle = \"\";\n }\n if (m.className) { spanStyle += \" \" + m.className; }\n if (m.css) { css = (css ? css + \";\" : \"\") + m.css; }\n if (m.startStyle && sp.from == pos) { spanStartStyle += \" \" + m.startStyle; }\n if (m.endStyle && sp.to == nextChange) { (endStyles || (endStyles = [])).push(m.endStyle, sp.to); }\n // support for the old title property\n // https://github.com/codemirror/CodeMirror/pull/5673\n if (m.title) { (attributes || (attributes = {})).title = m.title; }\n if (m.attributes) {\n for (var attr in m.attributes)\n { (attributes || (attributes = {}))[attr] = m.attributes[attr]; }\n }\n if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0))\n { collapsed = sp; }\n } else if (sp.from > pos && nextChange > sp.from) {\n nextChange = sp.from;\n }\n }\n if (endStyles) { for (var j$1 = 0; j$1 < endStyles.length; j$1 += 2)\n { if (endStyles[j$1 + 1] == nextChange) { spanEndStyle += \" \" + endStyles[j$1]; } } }\n\n if (!collapsed || collapsed.from == pos) { for (var j$2 = 0; j$2 < foundBookmarks.length; ++j$2)\n { buildCollapsedSpan(builder, 0, foundBookmarks[j$2]); } }\n if (collapsed && (collapsed.from || 0) == pos) {\n buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos,\n collapsed.marker, collapsed.from == null);\n if (collapsed.to == null) { return }\n if (collapsed.to == pos) { collapsed = false; }\n }\n }\n if (pos >= len) { break }\n\n var upto = Math.min(len, nextChange);\n while (true) {\n if (text) {\n var end = pos + text.length;\n if (!collapsed) {\n var tokenText = end > upto ? text.slice(0, upto - pos) : text;\n builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle,\n spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : \"\", css, attributes);\n }\n if (end >= upto) {text = text.slice(upto - pos); pos = upto; break}\n pos = end;\n spanStartStyle = \"\";\n }\n text = allText.slice(at, at = styles[i++]);\n style = interpretTokenStyle(styles[i++], builder.cm.options);\n }\n }\n }\n\n\n // These objects are used to represent the visible (currently drawn)\n // part of the document. A LineView may correspond to multiple\n // logical lines, if those are connected by collapsed ranges.\n function LineView(doc, line, lineN) {\n // The starting line\n this.line = line;\n // Continuing lines, if any\n this.rest = visualLineContinued(line);\n // Number of logical lines in this visual line\n this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1;\n this.node = this.text = null;\n this.hidden = lineIsHidden(doc, line);\n }\n\n // Create a range of LineView objects for the given lines.\n function buildViewArray(cm, from, to) {\n var array = [], nextPos;\n for (var pos = from; pos < to; pos = nextPos) {\n var view = new LineView(cm.doc, getLine(cm.doc, pos), pos);\n nextPos = pos + view.size;\n array.push(view);\n }\n return array\n }\n\n var operationGroup = null;\n\n function pushOperation(op) {\n if (operationGroup) {\n operationGroup.ops.push(op);\n } else {\n op.ownsGroup = operationGroup = {\n ops: [op],\n delayedCallbacks: []\n };\n }\n }\n\n function fireCallbacksForOps(group) {\n // Calls delayed callbacks and cursorActivity handlers until no\n // new ones appear\n var callbacks = group.delayedCallbacks, i = 0;\n do {\n for (; i < callbacks.length; i++)\n { callbacks[i].call(null); }\n for (var j = 0; j < group.ops.length; j++) {\n var op = group.ops[j];\n if (op.cursorActivityHandlers)\n { while (op.cursorActivityCalled < op.cursorActivityHandlers.length)\n { op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm); } }\n }\n } while (i < callbacks.length)\n }\n\n function finishOperation(op, endCb) {\n var group = op.ownsGroup;\n if (!group) { return }\n\n try { fireCallbacksForOps(group); }\n finally {\n operationGroup = null;\n endCb(group);\n }\n }\n\n var orphanDelayedCallbacks = null;\n\n // Often, we want to signal events at a point where we are in the\n // middle of some work, but don't want the handler to start calling\n // other methods on the editor, which might be in an inconsistent\n // state or simply not expect any other events to happen.\n // signalLater looks whether there are any handlers, and schedules\n // them to be executed when the last operation ends, or, if no\n // operation is active, when a timeout fires.\n function signalLater(emitter, type /*, values...*/) {\n var arr = getHandlers(emitter, type);\n if (!arr.length) { return }\n var args = Array.prototype.slice.call(arguments, 2), list;\n if (operationGroup) {\n list = operationGroup.delayedCallbacks;\n } else if (orphanDelayedCallbacks) {\n list = orphanDelayedCallbacks;\n } else {\n list = orphanDelayedCallbacks = [];\n setTimeout(fireOrphanDelayed, 0);\n }\n var loop = function ( i ) {\n list.push(function () { return arr[i].apply(null, args); });\n };\n\n for (var i = 0; i < arr.length; ++i)\n loop( i );\n }\n\n function fireOrphanDelayed() {\n var delayed = orphanDelayedCallbacks;\n orphanDelayedCallbacks = null;\n for (var i = 0; i < delayed.length; ++i) { delayed[i](); }\n }\n\n // When an aspect of a line changes, a string is added to\n // lineView.changes. This updates the relevant part of the line's\n // DOM structure.\n function updateLineForChanges(cm, lineView, lineN, dims) {\n for (var j = 0; j < lineView.changes.length; j++) {\n var type = lineView.changes[j];\n if (type == \"text\") { updateLineText(cm, lineView); }\n else if (type == \"gutter\") { updateLineGutter(cm, lineView, lineN, dims); }\n else if (type == \"class\") { updateLineClasses(cm, lineView); }\n else if (type == \"widget\") { updateLineWidgets(cm, lineView, dims); }\n }\n lineView.changes = null;\n }\n\n // Lines with gutter elements, widgets or a background class need to\n // be wrapped, and have the extra elements added to the wrapper div\n function ensureLineWrapped(lineView) {\n if (lineView.node == lineView.text) {\n lineView.node = elt(\"div\", null, null, \"position: relative\");\n if (lineView.text.parentNode)\n { lineView.text.parentNode.replaceChild(lineView.node, lineView.text); }\n lineView.node.appendChild(lineView.text);\n if (ie && ie_version < 8) { lineView.node.style.zIndex = 2; }\n }\n return lineView.node\n }\n\n function updateLineBackground(cm, lineView) {\n var cls = lineView.bgClass ? lineView.bgClass + \" \" + (lineView.line.bgClass || \"\") : lineView.line.bgClass;\n if (cls) { cls += \" CodeMirror-linebackground\"; }\n if (lineView.background) {\n if (cls) { lineView.background.className = cls; }\n else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null; }\n } else if (cls) {\n var wrap = ensureLineWrapped(lineView);\n lineView.background = wrap.insertBefore(elt(\"div\", null, cls), wrap.firstChild);\n cm.display.input.setUneditable(lineView.background);\n }\n }\n\n // Wrapper around buildLineContent which will reuse the structure\n // in display.externalMeasured when possible.\n function getLineContent(cm, lineView) {\n var ext = cm.display.externalMeasured;\n if (ext && ext.line == lineView.line) {\n cm.display.externalMeasured = null;\n lineView.measure = ext.measure;\n return ext.built\n }\n return buildLineContent(cm, lineView)\n }\n\n // Redraw the line's text. Interacts with the background and text\n // classes because the mode may output tokens that influence these\n // classes.\n function updateLineText(cm, lineView) {\n var cls = lineView.text.className;\n var built = getLineContent(cm, lineView);\n if (lineView.text == lineView.node) { lineView.node = built.pre; }\n lineView.text.parentNode.replaceChild(built.pre, lineView.text);\n lineView.text = built.pre;\n if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) {\n lineView.bgClass = built.bgClass;\n lineView.textClass = built.textClass;\n updateLineClasses(cm, lineView);\n } else if (cls) {\n lineView.text.className = cls;\n }\n }\n\n function updateLineClasses(cm, lineView) {\n updateLineBackground(cm, lineView);\n if (lineView.line.wrapClass)\n { ensureLineWrapped(lineView).className = lineView.line.wrapClass; }\n else if (lineView.node != lineView.text)\n { lineView.node.className = \"\"; }\n var textClass = lineView.textClass ? lineView.textClass + \" \" + (lineView.line.textClass || \"\") : lineView.line.textClass;\n lineView.text.className = textClass || \"\";\n }\n\n function updateLineGutter(cm, lineView, lineN, dims) {\n if (lineView.gutter) {\n lineView.node.removeChild(lineView.gutter);\n lineView.gutter = null;\n }\n if (lineView.gutterBackground) {\n lineView.node.removeChild(lineView.gutterBackground);\n lineView.gutterBackground = null;\n }\n if (lineView.line.gutterClass) {\n var wrap = ensureLineWrapped(lineView);\n lineView.gutterBackground = elt(\"div\", null, \"CodeMirror-gutter-background \" + lineView.line.gutterClass,\n (\"left: \" + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + \"px; width: \" + (dims.gutterTotalWidth) + \"px\"));\n cm.display.input.setUneditable(lineView.gutterBackground);\n wrap.insertBefore(lineView.gutterBackground, lineView.text);\n }\n var markers = lineView.line.gutterMarkers;\n if (cm.options.lineNumbers || markers) {\n var wrap$1 = ensureLineWrapped(lineView);\n var gutterWrap = lineView.gutter = elt(\"div\", null, \"CodeMirror-gutter-wrapper\", (\"left: \" + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + \"px\"));\n gutterWrap.setAttribute(\"aria-hidden\", \"true\");\n cm.display.input.setUneditable(gutterWrap);\n wrap$1.insertBefore(gutterWrap, lineView.text);\n if (lineView.line.gutterClass)\n { gutterWrap.className += \" \" + lineView.line.gutterClass; }\n if (cm.options.lineNumbers && (!markers || !markers[\"CodeMirror-linenumbers\"]))\n { lineView.lineNumber = gutterWrap.appendChild(\n elt(\"div\", lineNumberFor(cm.options, lineN),\n \"CodeMirror-linenumber CodeMirror-gutter-elt\",\n (\"left: \" + (dims.gutterLeft[\"CodeMirror-linenumbers\"]) + \"px; width: \" + (cm.display.lineNumInnerWidth) + \"px\"))); }\n if (markers) { for (var k = 0; k < cm.display.gutterSpecs.length; ++k) {\n var id = cm.display.gutterSpecs[k].className, found = markers.hasOwnProperty(id) && markers[id];\n if (found)\n { gutterWrap.appendChild(elt(\"div\", [found], \"CodeMirror-gutter-elt\",\n (\"left: \" + (dims.gutterLeft[id]) + \"px; width: \" + (dims.gutterWidth[id]) + \"px\"))); }\n } }\n }\n }\n\n function updateLineWidgets(cm, lineView, dims) {\n if (lineView.alignable) { lineView.alignable = null; }\n var isWidget = classTest(\"CodeMirror-linewidget\");\n for (var node = lineView.node.firstChild, next = (void 0); node; node = next) {\n next = node.nextSibling;\n if (isWidget.test(node.className)) { lineView.node.removeChild(node); }\n }\n insertLineWidgets(cm, lineView, dims);\n }\n\n // Build a line's DOM representation from scratch\n function buildLineElement(cm, lineView, lineN, dims) {\n var built = getLineContent(cm, lineView);\n lineView.text = lineView.node = built.pre;\n if (built.bgClass) { lineView.bgClass = built.bgClass; }\n if (built.textClass) { lineView.textClass = built.textClass; }\n\n updateLineClasses(cm, lineView);\n updateLineGutter(cm, lineView, lineN, dims);\n insertLineWidgets(cm, lineView, dims);\n return lineView.node\n }\n\n // A lineView may contain multiple logical lines (when merged by\n // collapsed spans). The widgets for all of them need to be drawn.\n function insertLineWidgets(cm, lineView, dims) {\n insertLineWidgetsFor(cm, lineView.line, lineView, dims, true);\n if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++)\n { insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false); } }\n }\n\n function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) {\n if (!line.widgets) { return }\n var wrap = ensureLineWrapped(lineView);\n for (var i = 0, ws = line.widgets; i < ws.length; ++i) {\n var widget = ws[i], node = elt(\"div\", [widget.node], \"CodeMirror-linewidget\" + (widget.className ? \" \" + widget.className : \"\"));\n if (!widget.handleMouseEvents) { node.setAttribute(\"cm-ignore-events\", \"true\"); }\n positionLineWidget(widget, node, lineView, dims);\n cm.display.input.setUneditable(node);\n if (allowAbove && widget.above)\n { wrap.insertBefore(node, lineView.gutter || lineView.text); }\n else\n { wrap.appendChild(node); }\n signalLater(widget, \"redraw\");\n }\n }\n\n function positionLineWidget(widget, node, lineView, dims) {\n if (widget.noHScroll) {\n (lineView.alignable || (lineView.alignable = [])).push(node);\n var width = dims.wrapperWidth;\n node.style.left = dims.fixedPos + \"px\";\n if (!widget.coverGutter) {\n width -= dims.gutterTotalWidth;\n node.style.paddingLeft = dims.gutterTotalWidth + \"px\";\n }\n node.style.width = width + \"px\";\n }\n if (widget.coverGutter) {\n node.style.zIndex = 5;\n node.style.position = \"relative\";\n if (!widget.noHScroll) { node.style.marginLeft = -dims.gutterTotalWidth + \"px\"; }\n }\n }\n\n function widgetHeight(widget) {\n if (widget.height != null) { return widget.height }\n var cm = widget.doc.cm;\n if (!cm) { return 0 }\n if (!contains(document.body, widget.node)) {\n var parentStyle = \"position: relative;\";\n if (widget.coverGutter)\n { parentStyle += \"margin-left: -\" + cm.display.gutters.offsetWidth + \"px;\"; }\n if (widget.noHScroll)\n { parentStyle += \"width: \" + cm.display.wrapper.clientWidth + \"px;\"; }\n removeChildrenAndAdd(cm.display.measure, elt(\"div\", [widget.node], null, parentStyle));\n }\n return widget.height = widget.node.parentNode.offsetHeight\n }\n\n // Return true when the given mouse event happened in a widget\n function eventInWidget(display, e) {\n for (var n = e_target(e); n != display.wrapper; n = n.parentNode) {\n if (!n || (n.nodeType == 1 && n.getAttribute(\"cm-ignore-events\") == \"true\") ||\n (n.parentNode == display.sizer && n != display.mover))\n { return true }\n }\n }\n\n // POSITION MEASUREMENT\n\n function paddingTop(display) {return display.lineSpace.offsetTop}\n function paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight}\n function paddingH(display) {\n if (display.cachedPaddingH) { return display.cachedPaddingH }\n var e = removeChildrenAndAdd(display.measure, elt(\"pre\", \"x\", \"CodeMirror-line-like\"));\n var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle;\n var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)};\n if (!isNaN(data.left) && !isNaN(data.right)) { display.cachedPaddingH = data; }\n return data\n }\n\n function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth }\n function displayWidth(cm) {\n return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth\n }\n function displayHeight(cm) {\n return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight\n }\n\n // Ensure the lineView.wrapping.heights array is populated. This is\n // an array of bottom offsets for the lines that make up a drawn\n // line. When lineWrapping is on, there might be more than one\n // height.\n function ensureLineHeights(cm, lineView, rect) {\n var wrapping = cm.options.lineWrapping;\n var curWidth = wrapping && displayWidth(cm);\n if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) {\n var heights = lineView.measure.heights = [];\n if (wrapping) {\n lineView.measure.width = curWidth;\n var rects = lineView.text.firstChild.getClientRects();\n for (var i = 0; i < rects.length - 1; i++) {\n var cur = rects[i], next = rects[i + 1];\n if (Math.abs(cur.bottom - next.bottom) > 2)\n { heights.push((cur.bottom + next.top) / 2 - rect.top); }\n }\n }\n heights.push(rect.bottom - rect.top);\n }\n }\n\n // Find a line map (mapping character offsets to text nodes) and a\n // measurement cache for the given line number. (A line view might\n // contain multiple lines when collapsed ranges are present.)\n function mapFromLineView(lineView, line, lineN) {\n if (lineView.line == line)\n { return {map: lineView.measure.map, cache: lineView.measure.cache} }\n for (var i = 0; i < lineView.rest.length; i++)\n { if (lineView.rest[i] == line)\n { return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]} } }\n for (var i$1 = 0; i$1 < lineView.rest.length; i$1++)\n { if (lineNo(lineView.rest[i$1]) > lineN)\n { return {map: lineView.measure.maps[i$1], cache: lineView.measure.caches[i$1], before: true} } }\n }\n\n // Render a line into the hidden node display.externalMeasured. Used\n // when measurement is needed for a line that's not in the viewport.\n function updateExternalMeasurement(cm, line) {\n line = visualLine(line);\n var lineN = lineNo(line);\n var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN);\n view.lineN = lineN;\n var built = view.built = buildLineContent(cm, view);\n view.text = built.pre;\n removeChildrenAndAdd(cm.display.lineMeasure, built.pre);\n return view\n }\n\n // Get a {top, bottom, left, right} box (in line-local coordinates)\n // for a given character.\n function measureChar(cm, line, ch, bias) {\n return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias)\n }\n\n // Find a line view that corresponds to the given line number.\n function findViewForLine(cm, lineN) {\n if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo)\n { return cm.display.view[findViewIndex(cm, lineN)] }\n var ext = cm.display.externalMeasured;\n if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size)\n { return ext }\n }\n\n // Measurement can be split in two steps, the set-up work that\n // applies to the whole line, and the measurement of the actual\n // character. Functions like coordsChar, that need to do a lot of\n // measurements in a row, can thus ensure that the set-up work is\n // only done once.\n function prepareMeasureForLine(cm, line) {\n var lineN = lineNo(line);\n var view = findViewForLine(cm, lineN);\n if (view && !view.text) {\n view = null;\n } else if (view && view.changes) {\n updateLineForChanges(cm, view, lineN, getDimensions(cm));\n cm.curOp.forceUpdate = true;\n }\n if (!view)\n { view = updateExternalMeasurement(cm, line); }\n\n var info = mapFromLineView(view, line, lineN);\n return {\n line: line, view: view, rect: null,\n map: info.map, cache: info.cache, before: info.before,\n hasHeights: false\n }\n }\n\n // Given a prepared measurement object, measures the position of an\n // actual character (or fetches it from the cache).\n function measureCharPrepared(cm, prepared, ch, bias, varHeight) {\n if (prepared.before) { ch = -1; }\n var key = ch + (bias || \"\"), found;\n if (prepared.cache.hasOwnProperty(key)) {\n found = prepared.cache[key];\n } else {\n if (!prepared.rect)\n { prepared.rect = prepared.view.text.getBoundingClientRect(); }\n if (!prepared.hasHeights) {\n ensureLineHeights(cm, prepared.view, prepared.rect);\n prepared.hasHeights = true;\n }\n found = measureCharInner(cm, prepared, ch, bias);\n if (!found.bogus) { prepared.cache[key] = found; }\n }\n return {left: found.left, right: found.right,\n top: varHeight ? found.rtop : found.top,\n bottom: varHeight ? found.rbottom : found.bottom}\n }\n\n var nullRect = {left: 0, right: 0, top: 0, bottom: 0};\n\n function nodeAndOffsetInLineMap(map, ch, bias) {\n var node, start, end, collapse, mStart, mEnd;\n // First, search the line map for the text node corresponding to,\n // or closest to, the target character.\n for (var i = 0; i < map.length; i += 3) {\n mStart = map[i];\n mEnd = map[i + 1];\n if (ch < mStart) {\n start = 0; end = 1;\n collapse = \"left\";\n } else if (ch < mEnd) {\n start = ch - mStart;\n end = start + 1;\n } else if (i == map.length - 3 || ch == mEnd && map[i + 3] > ch) {\n end = mEnd - mStart;\n start = end - 1;\n if (ch >= mEnd) { collapse = \"right\"; }\n }\n if (start != null) {\n node = map[i + 2];\n if (mStart == mEnd && bias == (node.insertLeft ? \"left\" : \"right\"))\n { collapse = bias; }\n if (bias == \"left\" && start == 0)\n { while (i && map[i - 2] == map[i - 3] && map[i - 1].insertLeft) {\n node = map[(i -= 3) + 2];\n collapse = \"left\";\n } }\n if (bias == \"right\" && start == mEnd - mStart)\n { while (i < map.length - 3 && map[i + 3] == map[i + 4] && !map[i + 5].insertLeft) {\n node = map[(i += 3) + 2];\n collapse = \"right\";\n } }\n break\n }\n }\n return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd}\n }\n\n function getUsefulRect(rects, bias) {\n var rect = nullRect;\n if (bias == \"left\") { for (var i = 0; i < rects.length; i++) {\n if ((rect = rects[i]).left != rect.right) { break }\n } } else { for (var i$1 = rects.length - 1; i$1 >= 0; i$1--) {\n if ((rect = rects[i$1]).left != rect.right) { break }\n } }\n return rect\n }\n\n function measureCharInner(cm, prepared, ch, bias) {\n var place = nodeAndOffsetInLineMap(prepared.map, ch, bias);\n var node = place.node, start = place.start, end = place.end, collapse = place.collapse;\n\n var rect;\n if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates.\n for (var i$1 = 0; i$1 < 4; i$1++) { // Retry a maximum of 4 times when nonsense rectangles are returned\n while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) { --start; }\n while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) { ++end; }\n if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart)\n { rect = node.parentNode.getBoundingClientRect(); }\n else\n { rect = getUsefulRect(range(node, start, end).getClientRects(), bias); }\n if (rect.left || rect.right || start == 0) { break }\n end = start;\n start = start - 1;\n collapse = \"right\";\n }\n if (ie && ie_version < 11) { rect = maybeUpdateRectForZooming(cm.display.measure, rect); }\n } else { // If it is a widget, simply get the box for the whole widget.\n if (start > 0) { collapse = bias = \"right\"; }\n var rects;\n if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1)\n { rect = rects[bias == \"right\" ? rects.length - 1 : 0]; }\n else\n { rect = node.getBoundingClientRect(); }\n }\n if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) {\n var rSpan = node.parentNode.getClientRects()[0];\n if (rSpan)\n { rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom}; }\n else\n { rect = nullRect; }\n }\n\n var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top;\n var mid = (rtop + rbot) / 2;\n var heights = prepared.view.measure.heights;\n var i = 0;\n for (; i < heights.length - 1; i++)\n { if (mid < heights[i]) { break } }\n var top = i ? heights[i - 1] : 0, bot = heights[i];\n var result = {left: (collapse == \"right\" ? rect.right : rect.left) - prepared.rect.left,\n right: (collapse == \"left\" ? rect.left : rect.right) - prepared.rect.left,\n top: top, bottom: bot};\n if (!rect.left && !rect.right) { result.bogus = true; }\n if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot; }\n\n return result\n }\n\n // Work around problem with bounding client rects on ranges being\n // returned incorrectly when zoomed on IE10 and below.\n function maybeUpdateRectForZooming(measure, rect) {\n if (!window.screen || screen.logicalXDPI == null ||\n screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure))\n { return rect }\n var scaleX = screen.logicalXDPI / screen.deviceXDPI;\n var scaleY = screen.logicalYDPI / screen.deviceYDPI;\n return {left: rect.left * scaleX, right: rect.right * scaleX,\n top: rect.top * scaleY, bottom: rect.bottom * scaleY}\n }\n\n function clearLineMeasurementCacheFor(lineView) {\n if (lineView.measure) {\n lineView.measure.cache = {};\n lineView.measure.heights = null;\n if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++)\n { lineView.measure.caches[i] = {}; } }\n }\n }\n\n function clearLineMeasurementCache(cm) {\n cm.display.externalMeasure = null;\n removeChildren(cm.display.lineMeasure);\n for (var i = 0; i < cm.display.view.length; i++)\n { clearLineMeasurementCacheFor(cm.display.view[i]); }\n }\n\n function clearCaches(cm) {\n clearLineMeasurementCache(cm);\n cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null;\n if (!cm.options.lineWrapping) { cm.display.maxLineChanged = true; }\n cm.display.lineNumChars = null;\n }\n\n function pageScrollX() {\n // Work around https://bugs.chromium.org/p/chromium/issues/detail?id=489206\n // which causes page_Offset and bounding client rects to use\n // different reference viewports and invalidate our calculations.\n if (chrome && android) { return -(document.body.getBoundingClientRect().left - parseInt(getComputedStyle(document.body).marginLeft)) }\n return window.pageXOffset || (document.documentElement || document.body).scrollLeft\n }\n function pageScrollY() {\n if (chrome && android) { return -(document.body.getBoundingClientRect().top - parseInt(getComputedStyle(document.body).marginTop)) }\n return window.pageYOffset || (document.documentElement || document.body).scrollTop\n }\n\n function widgetTopHeight(lineObj) {\n var height = 0;\n if (lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above)\n { height += widgetHeight(lineObj.widgets[i]); } } }\n return height\n }\n\n // Converts a {top, bottom, left, right} box from line-local\n // coordinates into another coordinate system. Context may be one of\n // \"line\", \"div\" (display.lineDiv), \"local\"./null (editor), \"window\",\n // or \"page\".\n function intoCoordSystem(cm, lineObj, rect, context, includeWidgets) {\n if (!includeWidgets) {\n var height = widgetTopHeight(lineObj);\n rect.top += height; rect.bottom += height;\n }\n if (context == \"line\") { return rect }\n if (!context) { context = \"local\"; }\n var yOff = heightAtLine(lineObj);\n if (context == \"local\") { yOff += paddingTop(cm.display); }\n else { yOff -= cm.display.viewOffset; }\n if (context == \"page\" || context == \"window\") {\n var lOff = cm.display.lineSpace.getBoundingClientRect();\n yOff += lOff.top + (context == \"window\" ? 0 : pageScrollY());\n var xOff = lOff.left + (context == \"window\" ? 0 : pageScrollX());\n rect.left += xOff; rect.right += xOff;\n }\n rect.top += yOff; rect.bottom += yOff;\n return rect\n }\n\n // Coverts a box from \"div\" coords to another coordinate system.\n // Context may be \"window\", \"page\", \"div\", or \"local\"./null.\n function fromCoordSystem(cm, coords, context) {\n if (context == \"div\") { return coords }\n var left = coords.left, top = coords.top;\n // First move into \"page\" coordinate system\n if (context == \"page\") {\n left -= pageScrollX();\n top -= pageScrollY();\n } else if (context == \"local\" || !context) {\n var localBox = cm.display.sizer.getBoundingClientRect();\n left += localBox.left;\n top += localBox.top;\n }\n\n var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect();\n return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top}\n }\n\n function charCoords(cm, pos, context, lineObj, bias) {\n if (!lineObj) { lineObj = getLine(cm.doc, pos.line); }\n return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context)\n }\n\n // Returns a box for a given cursor position, which may have an\n // 'other' property containing the position of the secondary cursor\n // on a bidi boundary.\n // A cursor Pos(line, char, \"before\") is on the same visual line as `char - 1`\n // and after `char - 1` in writing order of `char - 1`\n // A cursor Pos(line, char, \"after\") is on the same visual line as `char`\n // and before `char` in writing order of `char`\n // Examples (upper-case letters are RTL, lower-case are LTR):\n // Pos(0, 1, ...)\n // before after\n // ab a|b a|b\n // aB a|B aB|\n // Ab |Ab A|b\n // AB B|A B|A\n // Every position after the last character on a line is considered to stick\n // to the last character on the line.\n function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) {\n lineObj = lineObj || getLine(cm.doc, pos.line);\n if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); }\n function get(ch, right) {\n var m = measureCharPrepared(cm, preparedMeasure, ch, right ? \"right\" : \"left\", varHeight);\n if (right) { m.left = m.right; } else { m.right = m.left; }\n return intoCoordSystem(cm, lineObj, m, context)\n }\n var order = getOrder(lineObj, cm.doc.direction), ch = pos.ch, sticky = pos.sticky;\n if (ch >= lineObj.text.length) {\n ch = lineObj.text.length;\n sticky = \"before\";\n } else if (ch <= 0) {\n ch = 0;\n sticky = \"after\";\n }\n if (!order) { return get(sticky == \"before\" ? ch - 1 : ch, sticky == \"before\") }\n\n function getBidi(ch, partPos, invert) {\n var part = order[partPos], right = part.level == 1;\n return get(invert ? ch - 1 : ch, right != invert)\n }\n var partPos = getBidiPartAt(order, ch, sticky);\n var other = bidiOther;\n var val = getBidi(ch, partPos, sticky == \"before\");\n if (other != null) { val.other = getBidi(ch, other, sticky != \"before\"); }\n return val\n }\n\n // Used to cheaply estimate the coordinates for a position. Used for\n // intermediate scroll updates.\n function estimateCoords(cm, pos) {\n var left = 0;\n pos = clipPos(cm.doc, pos);\n if (!cm.options.lineWrapping) { left = charWidth(cm.display) * pos.ch; }\n var lineObj = getLine(cm.doc, pos.line);\n var top = heightAtLine(lineObj) + paddingTop(cm.display);\n return {left: left, right: left, top: top, bottom: top + lineObj.height}\n }\n\n // Positions returned by coordsChar contain some extra information.\n // xRel is the relative x position of the input coordinates compared\n // to the found position (so xRel > 0 means the coordinates are to\n // the right of the character position, for example). When outside\n // is true, that means the coordinates lie outside the line's\n // vertical range.\n function PosWithInfo(line, ch, sticky, outside, xRel) {\n var pos = Pos(line, ch, sticky);\n pos.xRel = xRel;\n if (outside) { pos.outside = outside; }\n return pos\n }\n\n // Compute the character position closest to the given coordinates.\n // Input must be lineSpace-local (\"div\" coordinate system).\n function coordsChar(cm, x, y) {\n var doc = cm.doc;\n y += cm.display.viewOffset;\n if (y < 0) { return PosWithInfo(doc.first, 0, null, -1, -1) }\n var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1;\n if (lineN > last)\n { return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, null, 1, 1) }\n if (x < 0) { x = 0; }\n\n var lineObj = getLine(doc, lineN);\n for (;;) {\n var found = coordsCharInner(cm, lineObj, lineN, x, y);\n var collapsed = collapsedSpanAround(lineObj, found.ch + (found.xRel > 0 || found.outside > 0 ? 1 : 0));\n if (!collapsed) { return found }\n var rangeEnd = collapsed.find(1);\n if (rangeEnd.line == lineN) { return rangeEnd }\n lineObj = getLine(doc, lineN = rangeEnd.line);\n }\n }\n\n function wrappedLineExtent(cm, lineObj, preparedMeasure, y) {\n y -= widgetTopHeight(lineObj);\n var end = lineObj.text.length;\n var begin = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch - 1).bottom <= y; }, end, 0);\n end = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch).top > y; }, begin, end);\n return {begin: begin, end: end}\n }\n\n function wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) {\n if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj); }\n var targetTop = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, target), \"line\").top;\n return wrappedLineExtent(cm, lineObj, preparedMeasure, targetTop)\n }\n\n // Returns true if the given side of a box is after the given\n // coordinates, in top-to-bottom, left-to-right order.\n function boxIsAfter(box, x, y, left) {\n return box.bottom <= y ? false : box.top > y ? true : (left ? box.left : box.right) > x\n }\n\n function coordsCharInner(cm, lineObj, lineNo, x, y) {\n // Move y into line-local coordinate space\n y -= heightAtLine(lineObj);\n var preparedMeasure = prepareMeasureForLine(cm, lineObj);\n // When directly calling `measureCharPrepared`, we have to adjust\n // for the widgets at this line.\n var widgetHeight = widgetTopHeight(lineObj);\n var begin = 0, end = lineObj.text.length, ltr = true;\n\n var order = getOrder(lineObj, cm.doc.direction);\n // If the line isn't plain left-to-right text, first figure out\n // which bidi section the coordinates fall into.\n if (order) {\n var part = (cm.options.lineWrapping ? coordsBidiPartWrapped : coordsBidiPart)\n (cm, lineObj, lineNo, preparedMeasure, order, x, y);\n ltr = part.level != 1;\n // The awkward -1 offsets are needed because findFirst (called\n // on these below) will treat its first bound as inclusive,\n // second as exclusive, but we want to actually address the\n // characters in the part's range\n begin = ltr ? part.from : part.to - 1;\n end = ltr ? part.to : part.from - 1;\n }\n\n // A binary search to find the first character whose bounding box\n // starts after the coordinates. If we run across any whose box wrap\n // the coordinates, store that.\n var chAround = null, boxAround = null;\n var ch = findFirst(function (ch) {\n var box = measureCharPrepared(cm, preparedMeasure, ch);\n box.top += widgetHeight; box.bottom += widgetHeight;\n if (!boxIsAfter(box, x, y, false)) { return false }\n if (box.top <= y && box.left <= x) {\n chAround = ch;\n boxAround = box;\n }\n return true\n }, begin, end);\n\n var baseX, sticky, outside = false;\n // If a box around the coordinates was found, use that\n if (boxAround) {\n // Distinguish coordinates nearer to the left or right side of the box\n var atLeft = x - boxAround.left < boxAround.right - x, atStart = atLeft == ltr;\n ch = chAround + (atStart ? 0 : 1);\n sticky = atStart ? \"after\" : \"before\";\n baseX = atLeft ? boxAround.left : boxAround.right;\n } else {\n // (Adjust for extended bound, if necessary.)\n if (!ltr && (ch == end || ch == begin)) { ch++; }\n // To determine which side to associate with, get the box to the\n // left of the character and compare it's vertical position to the\n // coordinates\n sticky = ch == 0 ? \"after\" : ch == lineObj.text.length ? \"before\" :\n (measureCharPrepared(cm, preparedMeasure, ch - (ltr ? 1 : 0)).bottom + widgetHeight <= y) == ltr ?\n \"after\" : \"before\";\n // Now get accurate coordinates for this place, in order to get a\n // base X position\n var coords = cursorCoords(cm, Pos(lineNo, ch, sticky), \"line\", lineObj, preparedMeasure);\n baseX = coords.left;\n outside = y < coords.top ? -1 : y >= coords.bottom ? 1 : 0;\n }\n\n ch = skipExtendingChars(lineObj.text, ch, 1);\n return PosWithInfo(lineNo, ch, sticky, outside, x - baseX)\n }\n\n function coordsBidiPart(cm, lineObj, lineNo, preparedMeasure, order, x, y) {\n // Bidi parts are sorted left-to-right, and in a non-line-wrapping\n // situation, we can take this ordering to correspond to the visual\n // ordering. This finds the first part whose end is after the given\n // coordinates.\n var index = findFirst(function (i) {\n var part = order[i], ltr = part.level != 1;\n return boxIsAfter(cursorCoords(cm, Pos(lineNo, ltr ? part.to : part.from, ltr ? \"before\" : \"after\"),\n \"line\", lineObj, preparedMeasure), x, y, true)\n }, 0, order.length - 1);\n var part = order[index];\n // If this isn't the first part, the part's start is also after\n // the coordinates, and the coordinates aren't on the same line as\n // that start, move one part back.\n if (index > 0) {\n var ltr = part.level != 1;\n var start = cursorCoords(cm, Pos(lineNo, ltr ? part.from : part.to, ltr ? \"after\" : \"before\"),\n \"line\", lineObj, preparedMeasure);\n if (boxIsAfter(start, x, y, true) && start.top > y)\n { part = order[index - 1]; }\n }\n return part\n }\n\n function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x, y) {\n // In a wrapped line, rtl text on wrapping boundaries can do things\n // that don't correspond to the ordering in our `order` array at\n // all, so a binary search doesn't work, and we want to return a\n // part that only spans one line so that the binary search in\n // coordsCharInner is safe. As such, we first find the extent of the\n // wrapped line, and then do a flat search in which we discard any\n // spans that aren't on the line.\n var ref = wrappedLineExtent(cm, lineObj, preparedMeasure, y);\n var begin = ref.begin;\n var end = ref.end;\n if (/\\s/.test(lineObj.text.charAt(end - 1))) { end--; }\n var part = null, closestDist = null;\n for (var i = 0; i < order.length; i++) {\n var p = order[i];\n if (p.from >= end || p.to <= begin) { continue }\n var ltr = p.level != 1;\n var endX = measureCharPrepared(cm, preparedMeasure, ltr ? Math.min(end, p.to) - 1 : Math.max(begin, p.from)).right;\n // Weigh against spans ending before this, so that they are only\n // picked if nothing ends after\n var dist = endX < x ? x - endX + 1e9 : endX - x;\n if (!part || closestDist > dist) {\n part = p;\n closestDist = dist;\n }\n }\n if (!part) { part = order[order.length - 1]; }\n // Clip the part to the wrapped line.\n if (part.from < begin) { part = {from: begin, to: part.to, level: part.level}; }\n if (part.to > end) { part = {from: part.from, to: end, level: part.level}; }\n return part\n }\n\n var measureText;\n // Compute the default text height.\n function textHeight(display) {\n if (display.cachedTextHeight != null) { return display.cachedTextHeight }\n if (measureText == null) {\n measureText = elt(\"pre\", null, \"CodeMirror-line-like\");\n // Measure a bunch of lines, for browsers that compute\n // fractional heights.\n for (var i = 0; i < 49; ++i) {\n measureText.appendChild(document.createTextNode(\"x\"));\n measureText.appendChild(elt(\"br\"));\n }\n measureText.appendChild(document.createTextNode(\"x\"));\n }\n removeChildrenAndAdd(display.measure, measureText);\n var height = measureText.offsetHeight / 50;\n if (height > 3) { display.cachedTextHeight = height; }\n removeChildren(display.measure);\n return height || 1\n }\n\n // Compute the default character width.\n function charWidth(display) {\n if (display.cachedCharWidth != null) { return display.cachedCharWidth }\n var anchor = elt(\"span\", \"xxxxxxxxxx\");\n var pre = elt(\"pre\", [anchor], \"CodeMirror-line-like\");\n removeChildrenAndAdd(display.measure, pre);\n var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10;\n if (width > 2) { display.cachedCharWidth = width; }\n return width || 10\n }\n\n // Do a bulk-read of the DOM positions and sizes needed to draw the\n // view, so that we don't interleave reading and writing to the DOM.\n function getDimensions(cm) {\n var d = cm.display, left = {}, width = {};\n var gutterLeft = d.gutters.clientLeft;\n for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) {\n var id = cm.display.gutterSpecs[i].className;\n left[id] = n.offsetLeft + n.clientLeft + gutterLeft;\n width[id] = n.clientWidth;\n }\n return {fixedPos: compensateForHScroll(d),\n gutterTotalWidth: d.gutters.offsetWidth,\n gutterLeft: left,\n gutterWidth: width,\n wrapperWidth: d.wrapper.clientWidth}\n }\n\n // Computes display.scroller.scrollLeft + display.gutters.offsetWidth,\n // but using getBoundingClientRect to get a sub-pixel-accurate\n // result.\n function compensateForHScroll(display) {\n return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left\n }\n\n // Returns a function that estimates the height of a line, to use as\n // first approximation until the line becomes visible (and is thus\n // properly measurable).\n function estimateHeight(cm) {\n var th = textHeight(cm.display), wrapping = cm.options.lineWrapping;\n var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3);\n return function (line) {\n if (lineIsHidden(cm.doc, line)) { return 0 }\n\n var widgetsHeight = 0;\n if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) {\n if (line.widgets[i].height) { widgetsHeight += line.widgets[i].height; }\n } }\n\n if (wrapping)\n { return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th }\n else\n { return widgetsHeight + th }\n }\n }\n\n function estimateLineHeights(cm) {\n var doc = cm.doc, est = estimateHeight(cm);\n doc.iter(function (line) {\n var estHeight = est(line);\n if (estHeight != line.height) { updateLineHeight(line, estHeight); }\n });\n }\n\n // Given a mouse event, find the corresponding position. If liberal\n // is false, it checks whether a gutter or scrollbar was clicked,\n // and returns null if it was. forRect is used by rectangular\n // selections, and tries to estimate a character position even for\n // coordinates beyond the right of the text.\n function posFromMouse(cm, e, liberal, forRect) {\n var display = cm.display;\n if (!liberal && e_target(e).getAttribute(\"cm-not-content\") == \"true\") { return null }\n\n var x, y, space = display.lineSpace.getBoundingClientRect();\n // Fails unpredictably on IE[67] when mouse is dragged around quickly.\n try { x = e.clientX - space.left; y = e.clientY - space.top; }\n catch (e$1) { return null }\n var coords = coordsChar(cm, x, y), line;\n if (forRect && coords.xRel > 0 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) {\n var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length;\n coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff));\n }\n return coords\n }\n\n // Find the view element corresponding to a given line. Return null\n // when the line isn't visible.\n function findViewIndex(cm, n) {\n if (n >= cm.display.viewTo) { return null }\n n -= cm.display.viewFrom;\n if (n < 0) { return null }\n var view = cm.display.view;\n for (var i = 0; i < view.length; i++) {\n n -= view[i].size;\n if (n < 0) { return i }\n }\n }\n\n // Updates the display.view data structure for a given change to the\n // document. From and to are in pre-change coordinates. Lendiff is\n // the amount of lines added or subtracted by the change. This is\n // used for changes that span multiple lines, or change the way\n // lines are divided into visual lines. regLineChange (below)\n // registers single-line changes.\n function regChange(cm, from, to, lendiff) {\n if (from == null) { from = cm.doc.first; }\n if (to == null) { to = cm.doc.first + cm.doc.size; }\n if (!lendiff) { lendiff = 0; }\n\n var display = cm.display;\n if (lendiff && to < display.viewTo &&\n (display.updateLineNumbers == null || display.updateLineNumbers > from))\n { display.updateLineNumbers = from; }\n\n cm.curOp.viewChanged = true;\n\n if (from >= display.viewTo) { // Change after\n if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo)\n { resetView(cm); }\n } else if (to <= display.viewFrom) { // Change before\n if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) {\n resetView(cm);\n } else {\n display.viewFrom += lendiff;\n display.viewTo += lendiff;\n }\n } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap\n resetView(cm);\n } else if (from <= display.viewFrom) { // Top overlap\n var cut = viewCuttingPoint(cm, to, to + lendiff, 1);\n if (cut) {\n display.view = display.view.slice(cut.index);\n display.viewFrom = cut.lineN;\n display.viewTo += lendiff;\n } else {\n resetView(cm);\n }\n } else if (to >= display.viewTo) { // Bottom overlap\n var cut$1 = viewCuttingPoint(cm, from, from, -1);\n if (cut$1) {\n display.view = display.view.slice(0, cut$1.index);\n display.viewTo = cut$1.lineN;\n } else {\n resetView(cm);\n }\n } else { // Gap in the middle\n var cutTop = viewCuttingPoint(cm, from, from, -1);\n var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1);\n if (cutTop && cutBot) {\n display.view = display.view.slice(0, cutTop.index)\n .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN))\n .concat(display.view.slice(cutBot.index));\n display.viewTo += lendiff;\n } else {\n resetView(cm);\n }\n }\n\n var ext = display.externalMeasured;\n if (ext) {\n if (to < ext.lineN)\n { ext.lineN += lendiff; }\n else if (from < ext.lineN + ext.size)\n { display.externalMeasured = null; }\n }\n }\n\n // Register a change to a single line. Type must be one of \"text\",\n // \"gutter\", \"class\", \"widget\"\n function regLineChange(cm, line, type) {\n cm.curOp.viewChanged = true;\n var display = cm.display, ext = cm.display.externalMeasured;\n if (ext && line >= ext.lineN && line < ext.lineN + ext.size)\n { display.externalMeasured = null; }\n\n if (line < display.viewFrom || line >= display.viewTo) { return }\n var lineView = display.view[findViewIndex(cm, line)];\n if (lineView.node == null) { return }\n var arr = lineView.changes || (lineView.changes = []);\n if (indexOf(arr, type) == -1) { arr.push(type); }\n }\n\n // Clear the view.\n function resetView(cm) {\n cm.display.viewFrom = cm.display.viewTo = cm.doc.first;\n cm.display.view = [];\n cm.display.viewOffset = 0;\n }\n\n function viewCuttingPoint(cm, oldN, newN, dir) {\n var index = findViewIndex(cm, oldN), diff, view = cm.display.view;\n if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size)\n { return {index: index, lineN: newN} }\n var n = cm.display.viewFrom;\n for (var i = 0; i < index; i++)\n { n += view[i].size; }\n if (n != oldN) {\n if (dir > 0) {\n if (index == view.length - 1) { return null }\n diff = (n + view[index].size) - oldN;\n index++;\n } else {\n diff = n - oldN;\n }\n oldN += diff; newN += diff;\n }\n while (visualLineNo(cm.doc, newN) != newN) {\n if (index == (dir < 0 ? 0 : view.length - 1)) { return null }\n newN += dir * view[index - (dir < 0 ? 1 : 0)].size;\n index += dir;\n }\n return {index: index, lineN: newN}\n }\n\n // Force the view to cover a given range, adding empty view element\n // or clipping off existing ones as needed.\n function adjustView(cm, from, to) {\n var display = cm.display, view = display.view;\n if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) {\n display.view = buildViewArray(cm, from, to);\n display.viewFrom = from;\n } else {\n if (display.viewFrom > from)\n { display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view); }\n else if (display.viewFrom < from)\n { display.view = display.view.slice(findViewIndex(cm, from)); }\n display.viewFrom = from;\n if (display.viewTo < to)\n { display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)); }\n else if (display.viewTo > to)\n { display.view = display.view.slice(0, findViewIndex(cm, to)); }\n }\n display.viewTo = to;\n }\n\n // Count the number of lines in the view whose DOM representation is\n // out of date (or nonexistent).\n function countDirtyView(cm) {\n var view = cm.display.view, dirty = 0;\n for (var i = 0; i < view.length; i++) {\n var lineView = view[i];\n if (!lineView.hidden && (!lineView.node || lineView.changes)) { ++dirty; }\n }\n return dirty\n }\n\n function updateSelection(cm) {\n cm.display.input.showSelection(cm.display.input.prepareSelection());\n }\n\n function prepareSelection(cm, primary) {\n if ( primary === void 0 ) primary = true;\n\n var doc = cm.doc, result = {};\n var curFragment = result.cursors = document.createDocumentFragment();\n var selFragment = result.selection = document.createDocumentFragment();\n\n for (var i = 0; i < doc.sel.ranges.length; i++) {\n if (!primary && i == doc.sel.primIndex) { continue }\n var range = doc.sel.ranges[i];\n if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) { continue }\n var collapsed = range.empty();\n if (collapsed || cm.options.showCursorWhenSelecting)\n { drawSelectionCursor(cm, range.head, curFragment); }\n if (!collapsed)\n { drawSelectionRange(cm, range, selFragment); }\n }\n return result\n }\n\n // Draws a cursor for the given range\n function drawSelectionCursor(cm, head, output) {\n var pos = cursorCoords(cm, head, \"div\", null, null, !cm.options.singleCursorHeightPerLine);\n\n var cursor = output.appendChild(elt(\"div\", \"\\u00a0\", \"CodeMirror-cursor\"));\n cursor.style.left = pos.left + \"px\";\n cursor.style.top = pos.top + \"px\";\n cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + \"px\";\n\n if (pos.other) {\n // Secondary cursor, shown when on a 'jump' in bi-directional text\n var otherCursor = output.appendChild(elt(\"div\", \"\\u00a0\", \"CodeMirror-cursor CodeMirror-secondarycursor\"));\n otherCursor.style.display = \"\";\n otherCursor.style.left = pos.other.left + \"px\";\n otherCursor.style.top = pos.other.top + \"px\";\n otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + \"px\";\n }\n }\n\n function cmpCoords(a, b) { return a.top - b.top || a.left - b.left }\n\n // Draws the given range as a highlighted selection\n function drawSelectionRange(cm, range, output) {\n var display = cm.display, doc = cm.doc;\n var fragment = document.createDocumentFragment();\n var padding = paddingH(cm.display), leftSide = padding.left;\n var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right;\n var docLTR = doc.direction == \"ltr\";\n\n function add(left, top, width, bottom) {\n if (top < 0) { top = 0; }\n top = Math.round(top);\n bottom = Math.round(bottom);\n fragment.appendChild(elt(\"div\", null, \"CodeMirror-selected\", (\"position: absolute; left: \" + left + \"px;\\n top: \" + top + \"px; width: \" + (width == null ? rightSide - left : width) + \"px;\\n height: \" + (bottom - top) + \"px\")));\n }\n\n function drawForLine(line, fromArg, toArg) {\n var lineObj = getLine(doc, line);\n var lineLen = lineObj.text.length;\n var start, end;\n function coords(ch, bias) {\n return charCoords(cm, Pos(line, ch), \"div\", lineObj, bias)\n }\n\n function wrapX(pos, dir, side) {\n var extent = wrappedLineExtentChar(cm, lineObj, null, pos);\n var prop = (dir == \"ltr\") == (side == \"after\") ? \"left\" : \"right\";\n var ch = side == \"after\" ? extent.begin : extent.end - (/\\s/.test(lineObj.text.charAt(extent.end - 1)) ? 2 : 1);\n return coords(ch, prop)[prop]\n }\n\n var order = getOrder(lineObj, doc.direction);\n iterateBidiSections(order, fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir, i) {\n var ltr = dir == \"ltr\";\n var fromPos = coords(from, ltr ? \"left\" : \"right\");\n var toPos = coords(to - 1, ltr ? \"right\" : \"left\");\n\n var openStart = fromArg == null && from == 0, openEnd = toArg == null && to == lineLen;\n var first = i == 0, last = !order || i == order.length - 1;\n if (toPos.top - fromPos.top <= 3) { // Single line\n var openLeft = (docLTR ? openStart : openEnd) && first;\n var openRight = (docLTR ? openEnd : openStart) && last;\n var left = openLeft ? leftSide : (ltr ? fromPos : toPos).left;\n var right = openRight ? rightSide : (ltr ? toPos : fromPos).right;\n add(left, fromPos.top, right - left, fromPos.bottom);\n } else { // Multiple lines\n var topLeft, topRight, botLeft, botRight;\n if (ltr) {\n topLeft = docLTR && openStart && first ? leftSide : fromPos.left;\n topRight = docLTR ? rightSide : wrapX(from, dir, \"before\");\n botLeft = docLTR ? leftSide : wrapX(to, dir, \"after\");\n botRight = docLTR && openEnd && last ? rightSide : toPos.right;\n } else {\n topLeft = !docLTR ? leftSide : wrapX(from, dir, \"before\");\n topRight = !docLTR && openStart && first ? rightSide : fromPos.right;\n botLeft = !docLTR && openEnd && last ? leftSide : toPos.left;\n botRight = !docLTR ? rightSide : wrapX(to, dir, \"after\");\n }\n add(topLeft, fromPos.top, topRight - topLeft, fromPos.bottom);\n if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top); }\n add(botLeft, toPos.top, botRight - botLeft, toPos.bottom);\n }\n\n if (!start || cmpCoords(fromPos, start) < 0) { start = fromPos; }\n if (cmpCoords(toPos, start) < 0) { start = toPos; }\n if (!end || cmpCoords(fromPos, end) < 0) { end = fromPos; }\n if (cmpCoords(toPos, end) < 0) { end = toPos; }\n });\n return {start: start, end: end}\n }\n\n var sFrom = range.from(), sTo = range.to();\n if (sFrom.line == sTo.line) {\n drawForLine(sFrom.line, sFrom.ch, sTo.ch);\n } else {\n var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line);\n var singleVLine = visualLine(fromLine) == visualLine(toLine);\n var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end;\n var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start;\n if (singleVLine) {\n if (leftEnd.top < rightStart.top - 2) {\n add(leftEnd.right, leftEnd.top, null, leftEnd.bottom);\n add(leftSide, rightStart.top, rightStart.left, rightStart.bottom);\n } else {\n add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom);\n }\n }\n if (leftEnd.bottom < rightStart.top)\n { add(leftSide, leftEnd.bottom, null, rightStart.top); }\n }\n\n output.appendChild(fragment);\n }\n\n // Cursor-blinking\n function restartBlink(cm) {\n if (!cm.state.focused) { return }\n var display = cm.display;\n clearInterval(display.blinker);\n var on = true;\n display.cursorDiv.style.visibility = \"\";\n if (cm.options.cursorBlinkRate > 0)\n { display.blinker = setInterval(function () {\n if (!cm.hasFocus()) { onBlur(cm); }\n display.cursorDiv.style.visibility = (on = !on) ? \"\" : \"hidden\";\n }, cm.options.cursorBlinkRate); }\n else if (cm.options.cursorBlinkRate < 0)\n { display.cursorDiv.style.visibility = \"hidden\"; }\n }\n\n function ensureFocus(cm) {\n if (!cm.hasFocus()) {\n cm.display.input.focus();\n if (!cm.state.focused) { onFocus(cm); }\n }\n }\n\n function delayBlurEvent(cm) {\n cm.state.delayingBlurEvent = true;\n setTimeout(function () { if (cm.state.delayingBlurEvent) {\n cm.state.delayingBlurEvent = false;\n if (cm.state.focused) { onBlur(cm); }\n } }, 100);\n }\n\n function onFocus(cm, e) {\n if (cm.state.delayingBlurEvent && !cm.state.draggingText) { cm.state.delayingBlurEvent = false; }\n\n if (cm.options.readOnly == \"nocursor\") { return }\n if (!cm.state.focused) {\n signal(cm, \"focus\", cm, e);\n cm.state.focused = true;\n addClass(cm.display.wrapper, \"CodeMirror-focused\");\n // This test prevents this from firing when a context\n // menu is closed (since the input reset would kill the\n // select-all detection hack)\n if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) {\n cm.display.input.reset();\n if (webkit) { setTimeout(function () { return cm.display.input.reset(true); }, 20); } // Issue #1730\n }\n cm.display.input.receivedFocus();\n }\n restartBlink(cm);\n }\n function onBlur(cm, e) {\n if (cm.state.delayingBlurEvent) { return }\n\n if (cm.state.focused) {\n signal(cm, \"blur\", cm, e);\n cm.state.focused = false;\n rmClass(cm.display.wrapper, \"CodeMirror-focused\");\n }\n clearInterval(cm.display.blinker);\n setTimeout(function () { if (!cm.state.focused) { cm.display.shift = false; } }, 150);\n }\n\n // Read the actual heights of the rendered lines, and update their\n // stored heights to match.\n function updateHeightsInViewport(cm) {\n var display = cm.display;\n var prevBottom = display.lineDiv.offsetTop;\n for (var i = 0; i < display.view.length; i++) {\n var cur = display.view[i], wrapping = cm.options.lineWrapping;\n var height = (void 0), width = 0;\n if (cur.hidden) { continue }\n if (ie && ie_version < 8) {\n var bot = cur.node.offsetTop + cur.node.offsetHeight;\n height = bot - prevBottom;\n prevBottom = bot;\n } else {\n var box = cur.node.getBoundingClientRect();\n height = box.bottom - box.top;\n // Check that lines don't extend past the right of the current\n // editor width\n if (!wrapping && cur.text.firstChild)\n { width = cur.text.firstChild.getBoundingClientRect().right - box.left - 1; }\n }\n var diff = cur.line.height - height;\n if (diff > .005 || diff < -.005) {\n updateLineHeight(cur.line, height);\n updateWidgetHeight(cur.line);\n if (cur.rest) { for (var j = 0; j < cur.rest.length; j++)\n { updateWidgetHeight(cur.rest[j]); } }\n }\n if (width > cm.display.sizerWidth) {\n var chWidth = Math.ceil(width / charWidth(cm.display));\n if (chWidth > cm.display.maxLineLength) {\n cm.display.maxLineLength = chWidth;\n cm.display.maxLine = cur.line;\n cm.display.maxLineChanged = true;\n }\n }\n }\n }\n\n // Read and store the height of line widgets associated with the\n // given line.\n function updateWidgetHeight(line) {\n if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i) {\n var w = line.widgets[i], parent = w.node.parentNode;\n if (parent) { w.height = parent.offsetHeight; }\n } }\n }\n\n // Compute the lines that are visible in a given viewport (defaults\n // the the current scroll position). viewport may contain top,\n // height, and ensure (see op.scrollToPos) properties.\n function visibleLines(display, doc, viewport) {\n var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop;\n top = Math.floor(top - paddingTop(display));\n var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight;\n\n var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom);\n // Ensure is a {from: {line, ch}, to: {line, ch}} object, and\n // forces those lines into the viewport (if possible).\n if (viewport && viewport.ensure) {\n var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line;\n if (ensureFrom < from) {\n from = ensureFrom;\n to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight);\n } else if (Math.min(ensureTo, doc.lastLine()) >= to) {\n from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight);\n to = ensureTo;\n }\n }\n return {from: from, to: Math.max(to, from + 1)}\n }\n\n // SCROLLING THINGS INTO VIEW\n\n // If an editor sits on the top or bottom of the window, partially\n // scrolled out of view, this ensures that the cursor is visible.\n function maybeScrollWindow(cm, rect) {\n if (signalDOMEvent(cm, \"scrollCursorIntoView\")) { return }\n\n var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null;\n if (rect.top + box.top < 0) { doScroll = true; }\n else if (rect.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) { doScroll = false; }\n if (doScroll != null && !phantom) {\n var scrollNode = elt(\"div\", \"\\u200b\", null, (\"position: absolute;\\n top: \" + (rect.top - display.viewOffset - paddingTop(cm.display)) + \"px;\\n height: \" + (rect.bottom - rect.top + scrollGap(cm) + display.barHeight) + \"px;\\n left: \" + (rect.left) + \"px; width: \" + (Math.max(2, rect.right - rect.left)) + \"px;\"));\n cm.display.lineSpace.appendChild(scrollNode);\n scrollNode.scrollIntoView(doScroll);\n cm.display.lineSpace.removeChild(scrollNode);\n }\n }\n\n // Scroll a given position into view (immediately), verifying that\n // it actually became visible (as line heights are accurately\n // measured, the position of something may 'drift' during drawing).\n function scrollPosIntoView(cm, pos, end, margin) {\n if (margin == null) { margin = 0; }\n var rect;\n if (!cm.options.lineWrapping && pos == end) {\n // Set pos and end to the cursor positions around the character pos sticks to\n // If pos.sticky == \"before\", that is around pos.ch - 1, otherwise around pos.ch\n // If pos == Pos(_, 0, \"before\"), pos and end are unchanged\n end = pos.sticky == \"before\" ? Pos(pos.line, pos.ch + 1, \"before\") : pos;\n pos = pos.ch ? Pos(pos.line, pos.sticky == \"before\" ? pos.ch - 1 : pos.ch, \"after\") : pos;\n }\n for (var limit = 0; limit < 5; limit++) {\n var changed = false;\n var coords = cursorCoords(cm, pos);\n var endCoords = !end || end == pos ? coords : cursorCoords(cm, end);\n rect = {left: Math.min(coords.left, endCoords.left),\n top: Math.min(coords.top, endCoords.top) - margin,\n right: Math.max(coords.left, endCoords.left),\n bottom: Math.max(coords.bottom, endCoords.bottom) + margin};\n var scrollPos = calculateScrollPos(cm, rect);\n var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft;\n if (scrollPos.scrollTop != null) {\n updateScrollTop(cm, scrollPos.scrollTop);\n if (Math.abs(cm.doc.scrollTop - startTop) > 1) { changed = true; }\n }\n if (scrollPos.scrollLeft != null) {\n setScrollLeft(cm, scrollPos.scrollLeft);\n if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) { changed = true; }\n }\n if (!changed) { break }\n }\n return rect\n }\n\n // Scroll a given set of coordinates into view (immediately).\n function scrollIntoView(cm, rect) {\n var scrollPos = calculateScrollPos(cm, rect);\n if (scrollPos.scrollTop != null) { updateScrollTop(cm, scrollPos.scrollTop); }\n if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft); }\n }\n\n // Calculate a new scroll position needed to scroll the given\n // rectangle into view. Returns an object with scrollTop and\n // scrollLeft properties. When these are undefined, the\n // vertical/horizontal position does not need to be adjusted.\n function calculateScrollPos(cm, rect) {\n var display = cm.display, snapMargin = textHeight(cm.display);\n if (rect.top < 0) { rect.top = 0; }\n var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop;\n var screen = displayHeight(cm), result = {};\n if (rect.bottom - rect.top > screen) { rect.bottom = rect.top + screen; }\n var docBottom = cm.doc.height + paddingVert(display);\n var atTop = rect.top < snapMargin, atBottom = rect.bottom > docBottom - snapMargin;\n if (rect.top < screentop) {\n result.scrollTop = atTop ? 0 : rect.top;\n } else if (rect.bottom > screentop + screen) {\n var newTop = Math.min(rect.top, (atBottom ? docBottom : rect.bottom) - screen);\n if (newTop != screentop) { result.scrollTop = newTop; }\n }\n\n var gutterSpace = cm.options.fixedGutter ? 0 : display.gutters.offsetWidth;\n var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft - gutterSpace;\n var screenw = displayWidth(cm) - display.gutters.offsetWidth;\n var tooWide = rect.right - rect.left > screenw;\n if (tooWide) { rect.right = rect.left + screenw; }\n if (rect.left < 10)\n { result.scrollLeft = 0; }\n else if (rect.left < screenleft)\n { result.scrollLeft = Math.max(0, rect.left + gutterSpace - (tooWide ? 0 : 10)); }\n else if (rect.right > screenw + screenleft - 3)\n { result.scrollLeft = rect.right + (tooWide ? 0 : 10) - screenw; }\n return result\n }\n\n // Store a relative adjustment to the scroll position in the current\n // operation (to be applied when the operation finishes).\n function addToScrollTop(cm, top) {\n if (top == null) { return }\n resolveScrollToPos(cm);\n cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top;\n }\n\n // Make sure that at the end of the operation the current cursor is\n // shown.\n function ensureCursorVisible(cm) {\n resolveScrollToPos(cm);\n var cur = cm.getCursor();\n cm.curOp.scrollToPos = {from: cur, to: cur, margin: cm.options.cursorScrollMargin};\n }\n\n function scrollToCoords(cm, x, y) {\n if (x != null || y != null) { resolveScrollToPos(cm); }\n if (x != null) { cm.curOp.scrollLeft = x; }\n if (y != null) { cm.curOp.scrollTop = y; }\n }\n\n function scrollToRange(cm, range) {\n resolveScrollToPos(cm);\n cm.curOp.scrollToPos = range;\n }\n\n // When an operation has its scrollToPos property set, and another\n // scroll action is applied before the end of the operation, this\n // 'simulates' scrolling that position into view in a cheap way, so\n // that the effect of intermediate scroll commands is not ignored.\n function resolveScrollToPos(cm) {\n var range = cm.curOp.scrollToPos;\n if (range) {\n cm.curOp.scrollToPos = null;\n var from = estimateCoords(cm, range.from), to = estimateCoords(cm, range.to);\n scrollToCoordsRange(cm, from, to, range.margin);\n }\n }\n\n function scrollToCoordsRange(cm, from, to, margin) {\n var sPos = calculateScrollPos(cm, {\n left: Math.min(from.left, to.left),\n top: Math.min(from.top, to.top) - margin,\n right: Math.max(from.right, to.right),\n bottom: Math.max(from.bottom, to.bottom) + margin\n });\n scrollToCoords(cm, sPos.scrollLeft, sPos.scrollTop);\n }\n\n // Sync the scrollable area and scrollbars, ensure the viewport\n // covers the visible area.\n function updateScrollTop(cm, val) {\n if (Math.abs(cm.doc.scrollTop - val) < 2) { return }\n if (!gecko) { updateDisplaySimple(cm, {top: val}); }\n setScrollTop(cm, val, true);\n if (gecko) { updateDisplaySimple(cm); }\n startWorker(cm, 100);\n }\n\n function setScrollTop(cm, val, forceScroll) {\n val = Math.max(0, Math.min(cm.display.scroller.scrollHeight - cm.display.scroller.clientHeight, val));\n if (cm.display.scroller.scrollTop == val && !forceScroll) { return }\n cm.doc.scrollTop = val;\n cm.display.scrollbars.setScrollTop(val);\n if (cm.display.scroller.scrollTop != val) { cm.display.scroller.scrollTop = val; }\n }\n\n // Sync scroller and scrollbar, ensure the gutter elements are\n // aligned.\n function setScrollLeft(cm, val, isScroller, forceScroll) {\n val = Math.max(0, Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth));\n if ((isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) && !forceScroll) { return }\n cm.doc.scrollLeft = val;\n alignHorizontally(cm);\n if (cm.display.scroller.scrollLeft != val) { cm.display.scroller.scrollLeft = val; }\n cm.display.scrollbars.setScrollLeft(val);\n }\n\n // SCROLLBARS\n\n // Prepare DOM reads needed to update the scrollbars. Done in one\n // shot to minimize update/measure roundtrips.\n function measureForScrollbars(cm) {\n var d = cm.display, gutterW = d.gutters.offsetWidth;\n var docH = Math.round(cm.doc.height + paddingVert(cm.display));\n return {\n clientHeight: d.scroller.clientHeight,\n viewHeight: d.wrapper.clientHeight,\n scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth,\n viewWidth: d.wrapper.clientWidth,\n barLeft: cm.options.fixedGutter ? gutterW : 0,\n docHeight: docH,\n scrollHeight: docH + scrollGap(cm) + d.barHeight,\n nativeBarWidth: d.nativeBarWidth,\n gutterWidth: gutterW\n }\n }\n\n var NativeScrollbars = function(place, scroll, cm) {\n this.cm = cm;\n var vert = this.vert = elt(\"div\", [elt(\"div\", null, null, \"min-width: 1px\")], \"CodeMirror-vscrollbar\");\n var horiz = this.horiz = elt(\"div\", [elt(\"div\", null, null, \"height: 100%; min-height: 1px\")], \"CodeMirror-hscrollbar\");\n vert.tabIndex = horiz.tabIndex = -1;\n place(vert); place(horiz);\n\n on(vert, \"scroll\", function () {\n if (vert.clientHeight) { scroll(vert.scrollTop, \"vertical\"); }\n });\n on(horiz, \"scroll\", function () {\n if (horiz.clientWidth) { scroll(horiz.scrollLeft, \"horizontal\"); }\n });\n\n this.checkedZeroWidth = false;\n // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8).\n if (ie && ie_version < 8) { this.horiz.style.minHeight = this.vert.style.minWidth = \"18px\"; }\n };\n\n NativeScrollbars.prototype.update = function (measure) {\n var needsH = measure.scrollWidth > measure.clientWidth + 1;\n var needsV = measure.scrollHeight > measure.clientHeight + 1;\n var sWidth = measure.nativeBarWidth;\n\n if (needsV) {\n this.vert.style.display = \"block\";\n this.vert.style.bottom = needsH ? sWidth + \"px\" : \"0\";\n var totalHeight = measure.viewHeight - (needsH ? sWidth : 0);\n // A bug in IE8 can cause this value to be negative, so guard it.\n this.vert.firstChild.style.height =\n Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + \"px\";\n } else {\n this.vert.style.display = \"\";\n this.vert.firstChild.style.height = \"0\";\n }\n\n if (needsH) {\n this.horiz.style.display = \"block\";\n this.horiz.style.right = needsV ? sWidth + \"px\" : \"0\";\n this.horiz.style.left = measure.barLeft + \"px\";\n var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0);\n this.horiz.firstChild.style.width =\n Math.max(0, measure.scrollWidth - measure.clientWidth + totalWidth) + \"px\";\n } else {\n this.horiz.style.display = \"\";\n this.horiz.firstChild.style.width = \"0\";\n }\n\n if (!this.checkedZeroWidth && measure.clientHeight > 0) {\n if (sWidth == 0) { this.zeroWidthHack(); }\n this.checkedZeroWidth = true;\n }\n\n return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0}\n };\n\n NativeScrollbars.prototype.setScrollLeft = function (pos) {\n if (this.horiz.scrollLeft != pos) { this.horiz.scrollLeft = pos; }\n if (this.disableHoriz) { this.enableZeroWidthBar(this.horiz, this.disableHoriz, \"horiz\"); }\n };\n\n NativeScrollbars.prototype.setScrollTop = function (pos) {\n if (this.vert.scrollTop != pos) { this.vert.scrollTop = pos; }\n if (this.disableVert) { this.enableZeroWidthBar(this.vert, this.disableVert, \"vert\"); }\n };\n\n NativeScrollbars.prototype.zeroWidthHack = function () {\n var w = mac && !mac_geMountainLion ? \"12px\" : \"18px\";\n this.horiz.style.height = this.vert.style.width = w;\n this.horiz.style.pointerEvents = this.vert.style.pointerEvents = \"none\";\n this.disableHoriz = new Delayed;\n this.disableVert = new Delayed;\n };\n\n NativeScrollbars.prototype.enableZeroWidthBar = function (bar, delay, type) {\n bar.style.pointerEvents = \"auto\";\n function maybeDisable() {\n // To find out whether the scrollbar is still visible, we\n // check whether the element under the pixel in the bottom\n // right corner of the scrollbar box is the scrollbar box\n // itself (when the bar is still visible) or its filler child\n // (when the bar is hidden). If it is still visible, we keep\n // it enabled, if it's hidden, we disable pointer events.\n var box = bar.getBoundingClientRect();\n var elt = type == \"vert\" ? document.elementFromPoint(box.right - 1, (box.top + box.bottom) / 2)\n : document.elementFromPoint((box.right + box.left) / 2, box.bottom - 1);\n if (elt != bar) { bar.style.pointerEvents = \"none\"; }\n else { delay.set(1000, maybeDisable); }\n }\n delay.set(1000, maybeDisable);\n };\n\n NativeScrollbars.prototype.clear = function () {\n var parent = this.horiz.parentNode;\n parent.removeChild(this.horiz);\n parent.removeChild(this.vert);\n };\n\n var NullScrollbars = function () {};\n\n NullScrollbars.prototype.update = function () { return {bottom: 0, right: 0} };\n NullScrollbars.prototype.setScrollLeft = function () {};\n NullScrollbars.prototype.setScrollTop = function () {};\n NullScrollbars.prototype.clear = function () {};\n\n function updateScrollbars(cm, measure) {\n if (!measure) { measure = measureForScrollbars(cm); }\n var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight;\n updateScrollbarsInner(cm, measure);\n for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) {\n if (startWidth != cm.display.barWidth && cm.options.lineWrapping)\n { updateHeightsInViewport(cm); }\n updateScrollbarsInner(cm, measureForScrollbars(cm));\n startWidth = cm.display.barWidth; startHeight = cm.display.barHeight;\n }\n }\n\n // Re-synchronize the fake scrollbars with the actual size of the\n // content.\n function updateScrollbarsInner(cm, measure) {\n var d = cm.display;\n var sizes = d.scrollbars.update(measure);\n\n d.sizer.style.paddingRight = (d.barWidth = sizes.right) + \"px\";\n d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + \"px\";\n d.heightForcer.style.borderBottom = sizes.bottom + \"px solid transparent\";\n\n if (sizes.right && sizes.bottom) {\n d.scrollbarFiller.style.display = \"block\";\n d.scrollbarFiller.style.height = sizes.bottom + \"px\";\n d.scrollbarFiller.style.width = sizes.right + \"px\";\n } else { d.scrollbarFiller.style.display = \"\"; }\n if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) {\n d.gutterFiller.style.display = \"block\";\n d.gutterFiller.style.height = sizes.bottom + \"px\";\n d.gutterFiller.style.width = measure.gutterWidth + \"px\";\n } else { d.gutterFiller.style.display = \"\"; }\n }\n\n var scrollbarModel = {\"native\": NativeScrollbars, \"null\": NullScrollbars};\n\n function initScrollbars(cm) {\n if (cm.display.scrollbars) {\n cm.display.scrollbars.clear();\n if (cm.display.scrollbars.addClass)\n { rmClass(cm.display.wrapper, cm.display.scrollbars.addClass); }\n }\n\n cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](function (node) {\n cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller);\n // Prevent clicks in the scrollbars from killing focus\n on(node, \"mousedown\", function () {\n if (cm.state.focused) { setTimeout(function () { return cm.display.input.focus(); }, 0); }\n });\n node.setAttribute(\"cm-not-content\", \"true\");\n }, function (pos, axis) {\n if (axis == \"horizontal\") { setScrollLeft(cm, pos); }\n else { updateScrollTop(cm, pos); }\n }, cm);\n if (cm.display.scrollbars.addClass)\n { addClass(cm.display.wrapper, cm.display.scrollbars.addClass); }\n }\n\n // Operations are used to wrap a series of changes to the editor\n // state in such a way that each change won't have to update the\n // cursor and display (which would be awkward, slow, and\n // error-prone). Instead, display updates are batched and then all\n // combined and executed at once.\n\n var nextOpId = 0;\n // Start a new operation.\n function startOperation(cm) {\n cm.curOp = {\n cm: cm,\n viewChanged: false, // Flag that indicates that lines might need to be redrawn\n startHeight: cm.doc.height, // Used to detect need to update scrollbar\n forceUpdate: false, // Used to force a redraw\n updateInput: 0, // Whether to reset the input textarea\n typing: false, // Whether this reset should be careful to leave existing text (for compositing)\n changeObjs: null, // Accumulated changes, for firing change events\n cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on\n cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already\n selectionChanged: false, // Whether the selection needs to be redrawn\n updateMaxLine: false, // Set when the widest line needs to be determined anew\n scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet\n scrollToPos: null, // Used to scroll to a specific position\n focus: false,\n id: ++nextOpId, // Unique ID\n markArrays: null // Used by addMarkedSpan\n };\n pushOperation(cm.curOp);\n }\n\n // Finish an operation, updating the display and signalling delayed events\n function endOperation(cm) {\n var op = cm.curOp;\n if (op) { finishOperation(op, function (group) {\n for (var i = 0; i < group.ops.length; i++)\n { group.ops[i].cm.curOp = null; }\n endOperations(group);\n }); }\n }\n\n // The DOM updates done when an operation finishes are batched so\n // that the minimum number of relayouts are required.\n function endOperations(group) {\n var ops = group.ops;\n for (var i = 0; i < ops.length; i++) // Read DOM\n { endOperation_R1(ops[i]); }\n for (var i$1 = 0; i$1 < ops.length; i$1++) // Write DOM (maybe)\n { endOperation_W1(ops[i$1]); }\n for (var i$2 = 0; i$2 < ops.length; i$2++) // Read DOM\n { endOperation_R2(ops[i$2]); }\n for (var i$3 = 0; i$3 < ops.length; i$3++) // Write DOM (maybe)\n { endOperation_W2(ops[i$3]); }\n for (var i$4 = 0; i$4 < ops.length; i$4++) // Read DOM\n { endOperation_finish(ops[i$4]); }\n }\n\n function endOperation_R1(op) {\n var cm = op.cm, display = cm.display;\n maybeClipScrollbars(cm);\n if (op.updateMaxLine) { findMaxLine(cm); }\n\n op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null ||\n op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom ||\n op.scrollToPos.to.line >= display.viewTo) ||\n display.maxLineChanged && cm.options.lineWrapping;\n op.update = op.mustUpdate &&\n new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate);\n }\n\n function endOperation_W1(op) {\n op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update);\n }\n\n function endOperation_R2(op) {\n var cm = op.cm, display = cm.display;\n if (op.updatedDisplay) { updateHeightsInViewport(cm); }\n\n op.barMeasure = measureForScrollbars(cm);\n\n // If the max line changed since it was last measured, measure it,\n // and ensure the document's width matches it.\n // updateDisplay_W2 will use these properties to do the actual resizing\n if (display.maxLineChanged && !cm.options.lineWrapping) {\n op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3;\n cm.display.sizerWidth = op.adjustWidthTo;\n op.barMeasure.scrollWidth =\n Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth);\n op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm));\n }\n\n if (op.updatedDisplay || op.selectionChanged)\n { op.preparedSelection = display.input.prepareSelection(); }\n }\n\n function endOperation_W2(op) {\n var cm = op.cm;\n\n if (op.adjustWidthTo != null) {\n cm.display.sizer.style.minWidth = op.adjustWidthTo + \"px\";\n if (op.maxScrollLeft < cm.doc.scrollLeft)\n { setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true); }\n cm.display.maxLineChanged = false;\n }\n\n var takeFocus = op.focus && op.focus == activeElt();\n if (op.preparedSelection)\n { cm.display.input.showSelection(op.preparedSelection, takeFocus); }\n if (op.updatedDisplay || op.startHeight != cm.doc.height)\n { updateScrollbars(cm, op.barMeasure); }\n if (op.updatedDisplay)\n { setDocumentHeight(cm, op.barMeasure); }\n\n if (op.selectionChanged) { restartBlink(cm); }\n\n if (cm.state.focused && op.updateInput)\n { cm.display.input.reset(op.typing); }\n if (takeFocus) { ensureFocus(op.cm); }\n }\n\n function endOperation_finish(op) {\n var cm = op.cm, display = cm.display, doc = cm.doc;\n\n if (op.updatedDisplay) { postUpdateDisplay(cm, op.update); }\n\n // Abort mouse wheel delta measurement, when scrolling explicitly\n if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos))\n { display.wheelStartX = display.wheelStartY = null; }\n\n // Propagate the scroll position to the actual DOM scroller\n if (op.scrollTop != null) { setScrollTop(cm, op.scrollTop, op.forceScroll); }\n\n if (op.scrollLeft != null) { setScrollLeft(cm, op.scrollLeft, true, true); }\n // If we need to scroll a specific position into view, do so.\n if (op.scrollToPos) {\n var rect = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from),\n clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin);\n maybeScrollWindow(cm, rect);\n }\n\n // Fire events for markers that are hidden/unidden by editing or\n // undoing\n var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers;\n if (hidden) { for (var i = 0; i < hidden.length; ++i)\n { if (!hidden[i].lines.length) { signal(hidden[i], \"hide\"); } } }\n if (unhidden) { for (var i$1 = 0; i$1 < unhidden.length; ++i$1)\n { if (unhidden[i$1].lines.length) { signal(unhidden[i$1], \"unhide\"); } } }\n\n if (display.wrapper.offsetHeight)\n { doc.scrollTop = cm.display.scroller.scrollTop; }\n\n // Fire change events, and delayed event handlers\n if (op.changeObjs)\n { signal(cm, \"changes\", cm, op.changeObjs); }\n if (op.update)\n { op.update.finish(); }\n }\n\n // Run the given function in an operation\n function runInOp(cm, f) {\n if (cm.curOp) { return f() }\n startOperation(cm);\n try { return f() }\n finally { endOperation(cm); }\n }\n // Wraps a function in an operation. Returns the wrapped function.\n function operation(cm, f) {\n return function() {\n if (cm.curOp) { return f.apply(cm, arguments) }\n startOperation(cm);\n try { return f.apply(cm, arguments) }\n finally { endOperation(cm); }\n }\n }\n // Used to add methods to editor and doc instances, wrapping them in\n // operations.\n function methodOp(f) {\n return function() {\n if (this.curOp) { return f.apply(this, arguments) }\n startOperation(this);\n try { return f.apply(this, arguments) }\n finally { endOperation(this); }\n }\n }\n function docMethodOp(f) {\n return function() {\n var cm = this.cm;\n if (!cm || cm.curOp) { return f.apply(this, arguments) }\n startOperation(cm);\n try { return f.apply(this, arguments) }\n finally { endOperation(cm); }\n }\n }\n\n // HIGHLIGHT WORKER\n\n function startWorker(cm, time) {\n if (cm.doc.highlightFrontier < cm.display.viewTo)\n { cm.state.highlight.set(time, bind(highlightWorker, cm)); }\n }\n\n function highlightWorker(cm) {\n var doc = cm.doc;\n if (doc.highlightFrontier >= cm.display.viewTo) { return }\n var end = +new Date + cm.options.workTime;\n var context = getContextBefore(cm, doc.highlightFrontier);\n var changedLines = [];\n\n doc.iter(context.line, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function (line) {\n if (context.line >= cm.display.viewFrom) { // Visible\n var oldStyles = line.styles;\n var resetState = line.text.length > cm.options.maxHighlightLength ? copyState(doc.mode, context.state) : null;\n var highlighted = highlightLine(cm, line, context, true);\n if (resetState) { context.state = resetState; }\n line.styles = highlighted.styles;\n var oldCls = line.styleClasses, newCls = highlighted.classes;\n if (newCls) { line.styleClasses = newCls; }\n else if (oldCls) { line.styleClasses = null; }\n var ischange = !oldStyles || oldStyles.length != line.styles.length ||\n oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass);\n for (var i = 0; !ischange && i < oldStyles.length; ++i) { ischange = oldStyles[i] != line.styles[i]; }\n if (ischange) { changedLines.push(context.line); }\n line.stateAfter = context.save();\n context.nextLine();\n } else {\n if (line.text.length <= cm.options.maxHighlightLength)\n { processLine(cm, line.text, context); }\n line.stateAfter = context.line % 5 == 0 ? context.save() : null;\n context.nextLine();\n }\n if (+new Date > end) {\n startWorker(cm, cm.options.workDelay);\n return true\n }\n });\n doc.highlightFrontier = context.line;\n doc.modeFrontier = Math.max(doc.modeFrontier, context.line);\n if (changedLines.length) { runInOp(cm, function () {\n for (var i = 0; i < changedLines.length; i++)\n { regLineChange(cm, changedLines[i], \"text\"); }\n }); }\n }\n\n // DISPLAY DRAWING\n\n var DisplayUpdate = function(cm, viewport, force) {\n var display = cm.display;\n\n this.viewport = viewport;\n // Store some values that we'll need later (but don't want to force a relayout for)\n this.visible = visibleLines(display, cm.doc, viewport);\n this.editorIsHidden = !display.wrapper.offsetWidth;\n this.wrapperHeight = display.wrapper.clientHeight;\n this.wrapperWidth = display.wrapper.clientWidth;\n this.oldDisplayWidth = displayWidth(cm);\n this.force = force;\n this.dims = getDimensions(cm);\n this.events = [];\n };\n\n DisplayUpdate.prototype.signal = function (emitter, type) {\n if (hasHandler(emitter, type))\n { this.events.push(arguments); }\n };\n DisplayUpdate.prototype.finish = function () {\n for (var i = 0; i < this.events.length; i++)\n { signal.apply(null, this.events[i]); }\n };\n\n function maybeClipScrollbars(cm) {\n var display = cm.display;\n if (!display.scrollbarsClipped && display.scroller.offsetWidth) {\n display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth;\n display.heightForcer.style.height = scrollGap(cm) + \"px\";\n display.sizer.style.marginBottom = -display.nativeBarWidth + \"px\";\n display.sizer.style.borderRightWidth = scrollGap(cm) + \"px\";\n display.scrollbarsClipped = true;\n }\n }\n\n function selectionSnapshot(cm) {\n if (cm.hasFocus()) { return null }\n var active = activeElt();\n if (!active || !contains(cm.display.lineDiv, active)) { return null }\n var result = {activeElt: active};\n if (window.getSelection) {\n var sel = window.getSelection();\n if (sel.anchorNode && sel.extend && contains(cm.display.lineDiv, sel.anchorNode)) {\n result.anchorNode = sel.anchorNode;\n result.anchorOffset = sel.anchorOffset;\n result.focusNode = sel.focusNode;\n result.focusOffset = sel.focusOffset;\n }\n }\n return result\n }\n\n function restoreSelection(snapshot) {\n if (!snapshot || !snapshot.activeElt || snapshot.activeElt == activeElt()) { return }\n snapshot.activeElt.focus();\n if (!/^(INPUT|TEXTAREA)$/.test(snapshot.activeElt.nodeName) &&\n snapshot.anchorNode && contains(document.body, snapshot.anchorNode) && contains(document.body, snapshot.focusNode)) {\n var sel = window.getSelection(), range = document.createRange();\n range.setEnd(snapshot.anchorNode, snapshot.anchorOffset);\n range.collapse(false);\n sel.removeAllRanges();\n sel.addRange(range);\n sel.extend(snapshot.focusNode, snapshot.focusOffset);\n }\n }\n\n // Does the actual updating of the line display. Bails out\n // (returning false) when there is nothing to be done and forced is\n // false.\n function updateDisplayIfNeeded(cm, update) {\n var display = cm.display, doc = cm.doc;\n\n if (update.editorIsHidden) {\n resetView(cm);\n return false\n }\n\n // Bail out if the visible area is already rendered and nothing changed.\n if (!update.force &&\n update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo &&\n (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) &&\n display.renderedView == display.view && countDirtyView(cm) == 0)\n { return false }\n\n if (maybeUpdateLineNumberWidth(cm)) {\n resetView(cm);\n update.dims = getDimensions(cm);\n }\n\n // Compute a suitable new viewport (from & to)\n var end = doc.first + doc.size;\n var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first);\n var to = Math.min(end, update.visible.to + cm.options.viewportMargin);\n if (display.viewFrom < from && from - display.viewFrom < 20) { from = Math.max(doc.first, display.viewFrom); }\n if (display.viewTo > to && display.viewTo - to < 20) { to = Math.min(end, display.viewTo); }\n if (sawCollapsedSpans) {\n from = visualLineNo(cm.doc, from);\n to = visualLineEndNo(cm.doc, to);\n }\n\n var different = from != display.viewFrom || to != display.viewTo ||\n display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth;\n adjustView(cm, from, to);\n\n display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom));\n // Position the mover div to align with the current scroll position\n cm.display.mover.style.top = display.viewOffset + \"px\";\n\n var toUpdate = countDirtyView(cm);\n if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view &&\n (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo))\n { return false }\n\n // For big changes, we hide the enclosing element during the\n // update, since that speeds up the operations on most browsers.\n var selSnapshot = selectionSnapshot(cm);\n if (toUpdate > 4) { display.lineDiv.style.display = \"none\"; }\n patchDisplay(cm, display.updateLineNumbers, update.dims);\n if (toUpdate > 4) { display.lineDiv.style.display = \"\"; }\n display.renderedView = display.view;\n // There might have been a widget with a focused element that got\n // hidden or updated, if so re-focus it.\n restoreSelection(selSnapshot);\n\n // Prevent selection and cursors from interfering with the scroll\n // width and height.\n removeChildren(display.cursorDiv);\n removeChildren(display.selectionDiv);\n display.gutters.style.height = display.sizer.style.minHeight = 0;\n\n if (different) {\n display.lastWrapHeight = update.wrapperHeight;\n display.lastWrapWidth = update.wrapperWidth;\n startWorker(cm, 400);\n }\n\n display.updateLineNumbers = null;\n\n return true\n }\n\n function postUpdateDisplay(cm, update) {\n var viewport = update.viewport;\n\n for (var first = true;; first = false) {\n if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) {\n // Clip forced viewport to actual scrollable area.\n if (viewport && viewport.top != null)\n { viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)}; }\n // Updated line heights might result in the drawn area not\n // actually covering the viewport. Keep looping until it does.\n update.visible = visibleLines(cm.display, cm.doc, viewport);\n if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo)\n { break }\n } else if (first) {\n update.visible = visibleLines(cm.display, cm.doc, viewport);\n }\n if (!updateDisplayIfNeeded(cm, update)) { break }\n updateHeightsInViewport(cm);\n var barMeasure = measureForScrollbars(cm);\n updateSelection(cm);\n updateScrollbars(cm, barMeasure);\n setDocumentHeight(cm, barMeasure);\n update.force = false;\n }\n\n update.signal(cm, \"update\", cm);\n if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) {\n update.signal(cm, \"viewportChange\", cm, cm.display.viewFrom, cm.display.viewTo);\n cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo;\n }\n }\n\n function updateDisplaySimple(cm, viewport) {\n var update = new DisplayUpdate(cm, viewport);\n if (updateDisplayIfNeeded(cm, update)) {\n updateHeightsInViewport(cm);\n postUpdateDisplay(cm, update);\n var barMeasure = measureForScrollbars(cm);\n updateSelection(cm);\n updateScrollbars(cm, barMeasure);\n setDocumentHeight(cm, barMeasure);\n update.finish();\n }\n }\n\n // Sync the actual display DOM structure with display.view, removing\n // nodes for lines that are no longer in view, and creating the ones\n // that are not there yet, and updating the ones that are out of\n // date.\n function patchDisplay(cm, updateNumbersFrom, dims) {\n var display = cm.display, lineNumbers = cm.options.lineNumbers;\n var container = display.lineDiv, cur = container.firstChild;\n\n function rm(node) {\n var next = node.nextSibling;\n // Works around a throw-scroll bug in OS X Webkit\n if (webkit && mac && cm.display.currentWheelTarget == node)\n { node.style.display = \"none\"; }\n else\n { node.parentNode.removeChild(node); }\n return next\n }\n\n var view = display.view, lineN = display.viewFrom;\n // Loop over the elements in the view, syncing cur (the DOM nodes\n // in display.lineDiv) with the view as we go.\n for (var i = 0; i < view.length; i++) {\n var lineView = view[i];\n if (lineView.hidden) ; else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet\n var node = buildLineElement(cm, lineView, lineN, dims);\n container.insertBefore(node, cur);\n } else { // Already drawn\n while (cur != lineView.node) { cur = rm(cur); }\n var updateNumber = lineNumbers && updateNumbersFrom != null &&\n updateNumbersFrom <= lineN && lineView.lineNumber;\n if (lineView.changes) {\n if (indexOf(lineView.changes, \"gutter\") > -1) { updateNumber = false; }\n updateLineForChanges(cm, lineView, lineN, dims);\n }\n if (updateNumber) {\n removeChildren(lineView.lineNumber);\n lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN)));\n }\n cur = lineView.node.nextSibling;\n }\n lineN += lineView.size;\n }\n while (cur) { cur = rm(cur); }\n }\n\n function updateGutterSpace(display) {\n var width = display.gutters.offsetWidth;\n display.sizer.style.marginLeft = width + \"px\";\n // Send an event to consumers responding to changes in gutter width.\n signalLater(display, \"gutterChanged\", display);\n }\n\n function setDocumentHeight(cm, measure) {\n cm.display.sizer.style.minHeight = measure.docHeight + \"px\";\n cm.display.heightForcer.style.top = measure.docHeight + \"px\";\n cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + \"px\";\n }\n\n // Re-align line numbers and gutter marks to compensate for\n // horizontal scrolling.\n function alignHorizontally(cm) {\n var display = cm.display, view = display.view;\n if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) { return }\n var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft;\n var gutterW = display.gutters.offsetWidth, left = comp + \"px\";\n for (var i = 0; i < view.length; i++) { if (!view[i].hidden) {\n if (cm.options.fixedGutter) {\n if (view[i].gutter)\n { view[i].gutter.style.left = left; }\n if (view[i].gutterBackground)\n { view[i].gutterBackground.style.left = left; }\n }\n var align = view[i].alignable;\n if (align) { for (var j = 0; j < align.length; j++)\n { align[j].style.left = left; } }\n } }\n if (cm.options.fixedGutter)\n { display.gutters.style.left = (comp + gutterW) + \"px\"; }\n }\n\n // Used to ensure that the line number gutter is still the right\n // size for the current document size. Returns true when an update\n // is needed.\n function maybeUpdateLineNumberWidth(cm) {\n if (!cm.options.lineNumbers) { return false }\n var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display;\n if (last.length != display.lineNumChars) {\n var test = display.measure.appendChild(elt(\"div\", [elt(\"div\", last)],\n \"CodeMirror-linenumber CodeMirror-gutter-elt\"));\n var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW;\n display.lineGutter.style.width = \"\";\n display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1;\n display.lineNumWidth = display.lineNumInnerWidth + padding;\n display.lineNumChars = display.lineNumInnerWidth ? last.length : -1;\n display.lineGutter.style.width = display.lineNumWidth + \"px\";\n updateGutterSpace(cm.display);\n return true\n }\n return false\n }\n\n function getGutters(gutters, lineNumbers) {\n var result = [], sawLineNumbers = false;\n for (var i = 0; i < gutters.length; i++) {\n var name = gutters[i], style = null;\n if (typeof name != \"string\") { style = name.style; name = name.className; }\n if (name == \"CodeMirror-linenumbers\") {\n if (!lineNumbers) { continue }\n else { sawLineNumbers = true; }\n }\n result.push({className: name, style: style});\n }\n if (lineNumbers && !sawLineNumbers) { result.push({className: \"CodeMirror-linenumbers\", style: null}); }\n return result\n }\n\n // Rebuild the gutter elements, ensure the margin to the left of the\n // code matches their width.\n function renderGutters(display) {\n var gutters = display.gutters, specs = display.gutterSpecs;\n removeChildren(gutters);\n display.lineGutter = null;\n for (var i = 0; i < specs.length; ++i) {\n var ref = specs[i];\n var className = ref.className;\n var style = ref.style;\n var gElt = gutters.appendChild(elt(\"div\", null, \"CodeMirror-gutter \" + className));\n if (style) { gElt.style.cssText = style; }\n if (className == \"CodeMirror-linenumbers\") {\n display.lineGutter = gElt;\n gElt.style.width = (display.lineNumWidth || 1) + \"px\";\n }\n }\n gutters.style.display = specs.length ? \"\" : \"none\";\n updateGutterSpace(display);\n }\n\n function updateGutters(cm) {\n renderGutters(cm.display);\n regChange(cm);\n alignHorizontally(cm);\n }\n\n // The display handles the DOM integration, both for input reading\n // and content drawing. It holds references to DOM nodes and\n // display-related state.\n\n function Display(place, doc, input, options) {\n var d = this;\n this.input = input;\n\n // Covers bottom-right square when both scrollbars are present.\n d.scrollbarFiller = elt(\"div\", null, \"CodeMirror-scrollbar-filler\");\n d.scrollbarFiller.setAttribute(\"cm-not-content\", \"true\");\n // Covers bottom of gutter when coverGutterNextToScrollbar is on\n // and h scrollbar is present.\n d.gutterFiller = elt(\"div\", null, \"CodeMirror-gutter-filler\");\n d.gutterFiller.setAttribute(\"cm-not-content\", \"true\");\n // Will contain the actual code, positioned to cover the viewport.\n d.lineDiv = eltP(\"div\", null, \"CodeMirror-code\");\n // Elements are added to these to represent selection and cursors.\n d.selectionDiv = elt(\"div\", null, null, \"position: relative; z-index: 1\");\n d.cursorDiv = elt(\"div\", null, \"CodeMirror-cursors\");\n // A visibility: hidden element used to find the size of things.\n d.measure = elt(\"div\", null, \"CodeMirror-measure\");\n // When lines outside of the viewport are measured, they are drawn in this.\n d.lineMeasure = elt(\"div\", null, \"CodeMirror-measure\");\n // Wraps everything that needs to exist inside the vertically-padded coordinate system\n d.lineSpace = eltP(\"div\", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv],\n null, \"position: relative; outline: none\");\n var lines = eltP(\"div\", [d.lineSpace], \"CodeMirror-lines\");\n // Moved around its parent to cover visible view.\n d.mover = elt(\"div\", [lines], null, \"position: relative\");\n // Set to the height of the document, allowing scrolling.\n d.sizer = elt(\"div\", [d.mover], \"CodeMirror-sizer\");\n d.sizerWidth = null;\n // Behavior of elts with overflow: auto and padding is\n // inconsistent across browsers. This is used to ensure the\n // scrollable area is big enough.\n d.heightForcer = elt(\"div\", null, null, \"position: absolute; height: \" + scrollerGap + \"px; width: 1px;\");\n // Will contain the gutters, if any.\n d.gutters = elt(\"div\", null, \"CodeMirror-gutters\");\n d.lineGutter = null;\n // Actual scrollable element.\n d.scroller = elt(\"div\", [d.sizer, d.heightForcer, d.gutters], \"CodeMirror-scroll\");\n d.scroller.setAttribute(\"tabIndex\", \"-1\");\n // The element in which the editor lives.\n d.wrapper = elt(\"div\", [d.scrollbarFiller, d.gutterFiller, d.scroller], \"CodeMirror\");\n\n // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported)\n if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0; }\n if (!webkit && !(gecko && mobile)) { d.scroller.draggable = true; }\n\n if (place) {\n if (place.appendChild) { place.appendChild(d.wrapper); }\n else { place(d.wrapper); }\n }\n\n // Current rendered range (may be bigger than the view window).\n d.viewFrom = d.viewTo = doc.first;\n d.reportedViewFrom = d.reportedViewTo = doc.first;\n // Information about the rendered lines.\n d.view = [];\n d.renderedView = null;\n // Holds info about a single rendered line when it was rendered\n // for measurement, while not in view.\n d.externalMeasured = null;\n // Empty space (in pixels) above the view\n d.viewOffset = 0;\n d.lastWrapHeight = d.lastWrapWidth = 0;\n d.updateLineNumbers = null;\n\n d.nativeBarWidth = d.barHeight = d.barWidth = 0;\n d.scrollbarsClipped = false;\n\n // Used to only resize the line number gutter when necessary (when\n // the amount of lines crosses a boundary that makes its width change)\n d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null;\n // Set to true when a non-horizontal-scrolling line widget is\n // added. As an optimization, line widget aligning is skipped when\n // this is false.\n d.alignWidgets = false;\n\n d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null;\n\n // Tracks the maximum line length so that the horizontal scrollbar\n // can be kept static when scrolling.\n d.maxLine = null;\n d.maxLineLength = 0;\n d.maxLineChanged = false;\n\n // Used for measuring wheel scrolling granularity\n d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null;\n\n // True when shift is held down.\n d.shift = false;\n\n // Used to track whether anything happened since the context menu\n // was opened.\n d.selForContextMenu = null;\n\n d.activeTouch = null;\n\n d.gutterSpecs = getGutters(options.gutters, options.lineNumbers);\n renderGutters(d);\n\n input.init(d);\n }\n\n // Since the delta values reported on mouse wheel events are\n // unstandardized between browsers and even browser versions, and\n // generally horribly unpredictable, this code starts by measuring\n // the scroll effect that the first few mouse wheel events have,\n // and, from that, detects the way it can convert deltas to pixel\n // offsets afterwards.\n //\n // The reason we want to know the amount a wheel event will scroll\n // is that it gives us a chance to update the display before the\n // actual scrolling happens, reducing flickering.\n\n var wheelSamples = 0, wheelPixelsPerUnit = null;\n // Fill in a browser-detected starting value on browsers where we\n // know one. These don't have to be accurate -- the result of them\n // being wrong would just be a slight flicker on the first wheel\n // scroll (if it is large enough).\n if (ie) { wheelPixelsPerUnit = -.53; }\n else if (gecko) { wheelPixelsPerUnit = 15; }\n else if (chrome) { wheelPixelsPerUnit = -.7; }\n else if (safari) { wheelPixelsPerUnit = -1/3; }\n\n function wheelEventDelta(e) {\n var dx = e.wheelDeltaX, dy = e.wheelDeltaY;\n if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) { dx = e.detail; }\n if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) { dy = e.detail; }\n else if (dy == null) { dy = e.wheelDelta; }\n return {x: dx, y: dy}\n }\n function wheelEventPixels(e) {\n var delta = wheelEventDelta(e);\n delta.x *= wheelPixelsPerUnit;\n delta.y *= wheelPixelsPerUnit;\n return delta\n }\n\n function onScrollWheel(cm, e) {\n var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y;\n\n var display = cm.display, scroll = display.scroller;\n // Quit if there's nothing to scroll here\n var canScrollX = scroll.scrollWidth > scroll.clientWidth;\n var canScrollY = scroll.scrollHeight > scroll.clientHeight;\n if (!(dx && canScrollX || dy && canScrollY)) { return }\n\n // Webkit browsers on OS X abort momentum scrolls when the target\n // of the scroll event is removed from the scrollable element.\n // This hack (see related code in patchDisplay) makes sure the\n // element is kept around.\n if (dy && mac && webkit) {\n outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) {\n for (var i = 0; i < view.length; i++) {\n if (view[i].node == cur) {\n cm.display.currentWheelTarget = cur;\n break outer\n }\n }\n }\n }\n\n // On some browsers, horizontal scrolling will cause redraws to\n // happen before the gutter has been realigned, causing it to\n // wriggle around in a most unseemly way. When we have an\n // estimated pixels/delta value, we just handle horizontal\n // scrolling entirely here. It'll be slightly off from native, but\n // better than glitching out.\n if (dx && !gecko && !presto && wheelPixelsPerUnit != null) {\n if (dy && canScrollY)\n { updateScrollTop(cm, Math.max(0, scroll.scrollTop + dy * wheelPixelsPerUnit)); }\n setScrollLeft(cm, Math.max(0, scroll.scrollLeft + dx * wheelPixelsPerUnit));\n // Only prevent default scrolling if vertical scrolling is\n // actually possible. Otherwise, it causes vertical scroll\n // jitter on OSX trackpads when deltaX is small and deltaY\n // is large (issue #3579)\n if (!dy || (dy && canScrollY))\n { e_preventDefault(e); }\n display.wheelStartX = null; // Abort measurement, if in progress\n return\n }\n\n // 'Project' the visible viewport to cover the area that is being\n // scrolled into view (if we know enough to estimate it).\n if (dy && wheelPixelsPerUnit != null) {\n var pixels = dy * wheelPixelsPerUnit;\n var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight;\n if (pixels < 0) { top = Math.max(0, top + pixels - 50); }\n else { bot = Math.min(cm.doc.height, bot + pixels + 50); }\n updateDisplaySimple(cm, {top: top, bottom: bot});\n }\n\n if (wheelSamples < 20) {\n if (display.wheelStartX == null) {\n display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop;\n display.wheelDX = dx; display.wheelDY = dy;\n setTimeout(function () {\n if (display.wheelStartX == null) { return }\n var movedX = scroll.scrollLeft - display.wheelStartX;\n var movedY = scroll.scrollTop - display.wheelStartY;\n var sample = (movedY && display.wheelDY && movedY / display.wheelDY) ||\n (movedX && display.wheelDX && movedX / display.wheelDX);\n display.wheelStartX = display.wheelStartY = null;\n if (!sample) { return }\n wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1);\n ++wheelSamples;\n }, 200);\n } else {\n display.wheelDX += dx; display.wheelDY += dy;\n }\n }\n }\n\n // Selection objects are immutable. A new one is created every time\n // the selection changes. A selection is one or more non-overlapping\n // (and non-touching) ranges, sorted, and an integer that indicates\n // which one is the primary selection (the one that's scrolled into\n // view, that getCursor returns, etc).\n var Selection = function(ranges, primIndex) {\n this.ranges = ranges;\n this.primIndex = primIndex;\n };\n\n Selection.prototype.primary = function () { return this.ranges[this.primIndex] };\n\n Selection.prototype.equals = function (other) {\n if (other == this) { return true }\n if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) { return false }\n for (var i = 0; i < this.ranges.length; i++) {\n var here = this.ranges[i], there = other.ranges[i];\n if (!equalCursorPos(here.anchor, there.anchor) || !equalCursorPos(here.head, there.head)) { return false }\n }\n return true\n };\n\n Selection.prototype.deepCopy = function () {\n var out = [];\n for (var i = 0; i < this.ranges.length; i++)\n { out[i] = new Range(copyPos(this.ranges[i].anchor), copyPos(this.ranges[i].head)); }\n return new Selection(out, this.primIndex)\n };\n\n Selection.prototype.somethingSelected = function () {\n for (var i = 0; i < this.ranges.length; i++)\n { if (!this.ranges[i].empty()) { return true } }\n return false\n };\n\n Selection.prototype.contains = function (pos, end) {\n if (!end) { end = pos; }\n for (var i = 0; i < this.ranges.length; i++) {\n var range = this.ranges[i];\n if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0)\n { return i }\n }\n return -1\n };\n\n var Range = function(anchor, head) {\n this.anchor = anchor; this.head = head;\n };\n\n Range.prototype.from = function () { return minPos(this.anchor, this.head) };\n Range.prototype.to = function () { return maxPos(this.anchor, this.head) };\n Range.prototype.empty = function () { return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch };\n\n // Take an unsorted, potentially overlapping set of ranges, and\n // build a selection out of it. 'Consumes' ranges array (modifying\n // it).\n function normalizeSelection(cm, ranges, primIndex) {\n var mayTouch = cm && cm.options.selectionsMayTouch;\n var prim = ranges[primIndex];\n ranges.sort(function (a, b) { return cmp(a.from(), b.from()); });\n primIndex = indexOf(ranges, prim);\n for (var i = 1; i < ranges.length; i++) {\n var cur = ranges[i], prev = ranges[i - 1];\n var diff = cmp(prev.to(), cur.from());\n if (mayTouch && !cur.empty() ? diff > 0 : diff >= 0) {\n var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to());\n var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head;\n if (i <= primIndex) { --primIndex; }\n ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to));\n }\n }\n return new Selection(ranges, primIndex)\n }\n\n function simpleSelection(anchor, head) {\n return new Selection([new Range(anchor, head || anchor)], 0)\n }\n\n // Compute the position of the end of a change (its 'to' property\n // refers to the pre-change end).\n function changeEnd(change) {\n if (!change.text) { return change.to }\n return Pos(change.from.line + change.text.length - 1,\n lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0))\n }\n\n // Adjust a position to refer to the post-change position of the\n // same text, or the end of the change if the change covers it.\n function adjustForChange(pos, change) {\n if (cmp(pos, change.from) < 0) { return pos }\n if (cmp(pos, change.to) <= 0) { return changeEnd(change) }\n\n var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch;\n if (pos.line == change.to.line) { ch += changeEnd(change).ch - change.to.ch; }\n return Pos(line, ch)\n }\n\n function computeSelAfterChange(doc, change) {\n var out = [];\n for (var i = 0; i < doc.sel.ranges.length; i++) {\n var range = doc.sel.ranges[i];\n out.push(new Range(adjustForChange(range.anchor, change),\n adjustForChange(range.head, change)));\n }\n return normalizeSelection(doc.cm, out, doc.sel.primIndex)\n }\n\n function offsetPos(pos, old, nw) {\n if (pos.line == old.line)\n { return Pos(nw.line, pos.ch - old.ch + nw.ch) }\n else\n { return Pos(nw.line + (pos.line - old.line), pos.ch) }\n }\n\n // Used by replaceSelections to allow moving the selection to the\n // start or around the replaced test. Hint may be \"start\" or \"around\".\n function computeReplacedSel(doc, changes, hint) {\n var out = [];\n var oldPrev = Pos(doc.first, 0), newPrev = oldPrev;\n for (var i = 0; i < changes.length; i++) {\n var change = changes[i];\n var from = offsetPos(change.from, oldPrev, newPrev);\n var to = offsetPos(changeEnd(change), oldPrev, newPrev);\n oldPrev = change.to;\n newPrev = to;\n if (hint == \"around\") {\n var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0;\n out[i] = new Range(inv ? to : from, inv ? from : to);\n } else {\n out[i] = new Range(from, from);\n }\n }\n return new Selection(out, doc.sel.primIndex)\n }\n\n // Used to get the editor into a consistent state again when options change.\n\n function loadMode(cm) {\n cm.doc.mode = getMode(cm.options, cm.doc.modeOption);\n resetModeState(cm);\n }\n\n function resetModeState(cm) {\n cm.doc.iter(function (line) {\n if (line.stateAfter) { line.stateAfter = null; }\n if (line.styles) { line.styles = null; }\n });\n cm.doc.modeFrontier = cm.doc.highlightFrontier = cm.doc.first;\n startWorker(cm, 100);\n cm.state.modeGen++;\n if (cm.curOp) { regChange(cm); }\n }\n\n // DOCUMENT DATA STRUCTURE\n\n // By default, updates that start and end at the beginning of a line\n // are treated specially, in order to make the association of line\n // widgets and marker elements with the text behave more intuitive.\n function isWholeLineUpdate(doc, change) {\n return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == \"\" &&\n (!doc.cm || doc.cm.options.wholeLineUpdateBefore)\n }\n\n // Perform a change on the document data structure.\n function updateDoc(doc, change, markedSpans, estimateHeight) {\n function spansFor(n) {return markedSpans ? markedSpans[n] : null}\n function update(line, text, spans) {\n updateLine(line, text, spans, estimateHeight);\n signalLater(line, \"change\", line, change);\n }\n function linesFor(start, end) {\n var result = [];\n for (var i = start; i < end; ++i)\n { result.push(new Line(text[i], spansFor(i), estimateHeight)); }\n return result\n }\n\n var from = change.from, to = change.to, text = change.text;\n var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line);\n var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line;\n\n // Adjust the line structure\n if (change.full) {\n doc.insert(0, linesFor(0, text.length));\n doc.remove(text.length, doc.size - text.length);\n } else if (isWholeLineUpdate(doc, change)) {\n // This is a whole-line replace. Treated specially to make\n // sure line objects move the way they are supposed to.\n var added = linesFor(0, text.length - 1);\n update(lastLine, lastLine.text, lastSpans);\n if (nlines) { doc.remove(from.line, nlines); }\n if (added.length) { doc.insert(from.line, added); }\n } else if (firstLine == lastLine) {\n if (text.length == 1) {\n update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans);\n } else {\n var added$1 = linesFor(1, text.length - 1);\n added$1.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight));\n update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0));\n doc.insert(from.line + 1, added$1);\n }\n } else if (text.length == 1) {\n update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0));\n doc.remove(from.line + 1, nlines);\n } else {\n update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0));\n update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans);\n var added$2 = linesFor(1, text.length - 1);\n if (nlines > 1) { doc.remove(from.line + 1, nlines - 1); }\n doc.insert(from.line + 1, added$2);\n }\n\n signalLater(doc, \"change\", doc, change);\n }\n\n // Call f for all linked documents.\n function linkedDocs(doc, f, sharedHistOnly) {\n function propagate(doc, skip, sharedHist) {\n if (doc.linked) { for (var i = 0; i < doc.linked.length; ++i) {\n var rel = doc.linked[i];\n if (rel.doc == skip) { continue }\n var shared = sharedHist && rel.sharedHist;\n if (sharedHistOnly && !shared) { continue }\n f(rel.doc, shared);\n propagate(rel.doc, doc, shared);\n } }\n }\n propagate(doc, null, true);\n }\n\n // Attach a document to an editor.\n function attachDoc(cm, doc) {\n if (doc.cm) { throw new Error(\"This document is already in use.\") }\n cm.doc = doc;\n doc.cm = cm;\n estimateLineHeights(cm);\n loadMode(cm);\n setDirectionClass(cm);\n cm.options.direction = doc.direction;\n if (!cm.options.lineWrapping) { findMaxLine(cm); }\n cm.options.mode = doc.modeOption;\n regChange(cm);\n }\n\n function setDirectionClass(cm) {\n (cm.doc.direction == \"rtl\" ? addClass : rmClass)(cm.display.lineDiv, \"CodeMirror-rtl\");\n }\n\n function directionChanged(cm) {\n runInOp(cm, function () {\n setDirectionClass(cm);\n regChange(cm);\n });\n }\n\n function History(prev) {\n // Arrays of change events and selections. Doing something adds an\n // event to done and clears undo. Undoing moves events from done\n // to undone, redoing moves them in the other direction.\n this.done = []; this.undone = [];\n this.undoDepth = prev ? prev.undoDepth : Infinity;\n // Used to track when changes can be merged into a single undo\n // event\n this.lastModTime = this.lastSelTime = 0;\n this.lastOp = this.lastSelOp = null;\n this.lastOrigin = this.lastSelOrigin = null;\n // Used by the isClean() method\n this.generation = this.maxGeneration = prev ? prev.maxGeneration : 1;\n }\n\n // Create a history change event from an updateDoc-style change\n // object.\n function historyChangeFromChange(doc, change) {\n var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)};\n attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1);\n linkedDocs(doc, function (doc) { return attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); }, true);\n return histChange\n }\n\n // Pop all selection events off the end of a history array. Stop at\n // a change event.\n function clearSelectionEvents(array) {\n while (array.length) {\n var last = lst(array);\n if (last.ranges) { array.pop(); }\n else { break }\n }\n }\n\n // Find the top change event in the history. Pop off selection\n // events that are in the way.\n function lastChangeEvent(hist, force) {\n if (force) {\n clearSelectionEvents(hist.done);\n return lst(hist.done)\n } else if (hist.done.length && !lst(hist.done).ranges) {\n return lst(hist.done)\n } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) {\n hist.done.pop();\n return lst(hist.done)\n }\n }\n\n // Register a change in the history. Merges changes that are within\n // a single operation, or are close together with an origin that\n // allows merging (starting with \"+\") into a single event.\n function addChangeToHistory(doc, change, selAfter, opId) {\n var hist = doc.history;\n hist.undone.length = 0;\n var time = +new Date, cur;\n var last;\n\n if ((hist.lastOp == opId ||\n hist.lastOrigin == change.origin && change.origin &&\n ((change.origin.charAt(0) == \"+\" && hist.lastModTime > time - (doc.cm ? doc.cm.options.historyEventDelay : 500)) ||\n change.origin.charAt(0) == \"*\")) &&\n (cur = lastChangeEvent(hist, hist.lastOp == opId))) {\n // Merge this change into the last event\n last = lst(cur.changes);\n if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) {\n // Optimized case for simple insertion -- don't want to add\n // new changesets for every character typed\n last.to = changeEnd(change);\n } else {\n // Add new sub-event\n cur.changes.push(historyChangeFromChange(doc, change));\n }\n } else {\n // Can not be merged, start a new event.\n var before = lst(hist.done);\n if (!before || !before.ranges)\n { pushSelectionToHistory(doc.sel, hist.done); }\n cur = {changes: [historyChangeFromChange(doc, change)],\n generation: hist.generation};\n hist.done.push(cur);\n while (hist.done.length > hist.undoDepth) {\n hist.done.shift();\n if (!hist.done[0].ranges) { hist.done.shift(); }\n }\n }\n hist.done.push(selAfter);\n hist.generation = ++hist.maxGeneration;\n hist.lastModTime = hist.lastSelTime = time;\n hist.lastOp = hist.lastSelOp = opId;\n hist.lastOrigin = hist.lastSelOrigin = change.origin;\n\n if (!last) { signal(doc, \"historyAdded\"); }\n }\n\n function selectionEventCanBeMerged(doc, origin, prev, sel) {\n var ch = origin.charAt(0);\n return ch == \"*\" ||\n ch == \"+\" &&\n prev.ranges.length == sel.ranges.length &&\n prev.somethingSelected() == sel.somethingSelected() &&\n new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500)\n }\n\n // Called whenever the selection changes, sets the new selection as\n // the pending selection in the history, and pushes the old pending\n // selection into the 'done' array when it was significantly\n // different (in number of selected ranges, emptiness, or time).\n function addSelectionToHistory(doc, sel, opId, options) {\n var hist = doc.history, origin = options && options.origin;\n\n // A new event is started when the previous origin does not match\n // the current, or the origins don't allow matching. Origins\n // starting with * are always merged, those starting with + are\n // merged when similar and close together in time.\n if (opId == hist.lastSelOp ||\n (origin && hist.lastSelOrigin == origin &&\n (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin ||\n selectionEventCanBeMerged(doc, origin, lst(hist.done), sel))))\n { hist.done[hist.done.length - 1] = sel; }\n else\n { pushSelectionToHistory(sel, hist.done); }\n\n hist.lastSelTime = +new Date;\n hist.lastSelOrigin = origin;\n hist.lastSelOp = opId;\n if (options && options.clearRedo !== false)\n { clearSelectionEvents(hist.undone); }\n }\n\n function pushSelectionToHistory(sel, dest) {\n var top = lst(dest);\n if (!(top && top.ranges && top.equals(sel)))\n { dest.push(sel); }\n }\n\n // Used to store marked span information in the history.\n function attachLocalSpans(doc, change, from, to) {\n var existing = change[\"spans_\" + doc.id], n = 0;\n doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function (line) {\n if (line.markedSpans)\n { (existing || (existing = change[\"spans_\" + doc.id] = {}))[n] = line.markedSpans; }\n ++n;\n });\n }\n\n // When un/re-doing restores text containing marked spans, those\n // that have been explicitly cleared should not be restored.\n function removeClearedSpans(spans) {\n if (!spans) { return null }\n var out;\n for (var i = 0; i < spans.length; ++i) {\n if (spans[i].marker.explicitlyCleared) { if (!out) { out = spans.slice(0, i); } }\n else if (out) { out.push(spans[i]); }\n }\n return !out ? spans : out.length ? out : null\n }\n\n // Retrieve and filter the old marked spans stored in a change event.\n function getOldSpans(doc, change) {\n var found = change[\"spans_\" + doc.id];\n if (!found) { return null }\n var nw = [];\n for (var i = 0; i < change.text.length; ++i)\n { nw.push(removeClearedSpans(found[i])); }\n return nw\n }\n\n // Used for un/re-doing changes from the history. Combines the\n // result of computing the existing spans with the set of spans that\n // existed in the history (so that deleting around a span and then\n // undoing brings back the span).\n function mergeOldSpans(doc, change) {\n var old = getOldSpans(doc, change);\n var stretched = stretchSpansOverChange(doc, change);\n if (!old) { return stretched }\n if (!stretched) { return old }\n\n for (var i = 0; i < old.length; ++i) {\n var oldCur = old[i], stretchCur = stretched[i];\n if (oldCur && stretchCur) {\n spans: for (var j = 0; j < stretchCur.length; ++j) {\n var span = stretchCur[j];\n for (var k = 0; k < oldCur.length; ++k)\n { if (oldCur[k].marker == span.marker) { continue spans } }\n oldCur.push(span);\n }\n } else if (stretchCur) {\n old[i] = stretchCur;\n }\n }\n return old\n }\n\n // Used both to provide a JSON-safe object in .getHistory, and, when\n // detaching a document, to split the history in two\n function copyHistoryArray(events, newGroup, instantiateSel) {\n var copy = [];\n for (var i = 0; i < events.length; ++i) {\n var event = events[i];\n if (event.ranges) {\n copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event);\n continue\n }\n var changes = event.changes, newChanges = [];\n copy.push({changes: newChanges});\n for (var j = 0; j < changes.length; ++j) {\n var change = changes[j], m = (void 0);\n newChanges.push({from: change.from, to: change.to, text: change.text});\n if (newGroup) { for (var prop in change) { if (m = prop.match(/^spans_(\\d+)$/)) {\n if (indexOf(newGroup, Number(m[1])) > -1) {\n lst(newChanges)[prop] = change[prop];\n delete change[prop];\n }\n } } }\n }\n }\n return copy\n }\n\n // The 'scroll' parameter given to many of these indicated whether\n // the new cursor position should be scrolled into view after\n // modifying the selection.\n\n // If shift is held or the extend flag is set, extends a range to\n // include a given position (and optionally a second position).\n // Otherwise, simply returns the range between the given positions.\n // Used for cursor motion and such.\n function extendRange(range, head, other, extend) {\n if (extend) {\n var anchor = range.anchor;\n if (other) {\n var posBefore = cmp(head, anchor) < 0;\n if (posBefore != (cmp(other, anchor) < 0)) {\n anchor = head;\n head = other;\n } else if (posBefore != (cmp(head, other) < 0)) {\n head = other;\n }\n }\n return new Range(anchor, head)\n } else {\n return new Range(other || head, head)\n }\n }\n\n // Extend the primary selection range, discard the rest.\n function extendSelection(doc, head, other, options, extend) {\n if (extend == null) { extend = doc.cm && (doc.cm.display.shift || doc.extend); }\n setSelection(doc, new Selection([extendRange(doc.sel.primary(), head, other, extend)], 0), options);\n }\n\n // Extend all selections (pos is an array of selections with length\n // equal the number of selections)\n function extendSelections(doc, heads, options) {\n var out = [];\n var extend = doc.cm && (doc.cm.display.shift || doc.extend);\n for (var i = 0; i < doc.sel.ranges.length; i++)\n { out[i] = extendRange(doc.sel.ranges[i], heads[i], null, extend); }\n var newSel = normalizeSelection(doc.cm, out, doc.sel.primIndex);\n setSelection(doc, newSel, options);\n }\n\n // Updates a single range in the selection.\n function replaceOneSelection(doc, i, range, options) {\n var ranges = doc.sel.ranges.slice(0);\n ranges[i] = range;\n setSelection(doc, normalizeSelection(doc.cm, ranges, doc.sel.primIndex), options);\n }\n\n // Reset the selection to a single range.\n function setSimpleSelection(doc, anchor, head, options) {\n setSelection(doc, simpleSelection(anchor, head), options);\n }\n\n // Give beforeSelectionChange handlers a change to influence a\n // selection update.\n function filterSelectionChange(doc, sel, options) {\n var obj = {\n ranges: sel.ranges,\n update: function(ranges) {\n this.ranges = [];\n for (var i = 0; i < ranges.length; i++)\n { this.ranges[i] = new Range(clipPos(doc, ranges[i].anchor),\n clipPos(doc, ranges[i].head)); }\n },\n origin: options && options.origin\n };\n signal(doc, \"beforeSelectionChange\", doc, obj);\n if (doc.cm) { signal(doc.cm, \"beforeSelectionChange\", doc.cm, obj); }\n if (obj.ranges != sel.ranges) { return normalizeSelection(doc.cm, obj.ranges, obj.ranges.length - 1) }\n else { return sel }\n }\n\n function setSelectionReplaceHistory(doc, sel, options) {\n var done = doc.history.done, last = lst(done);\n if (last && last.ranges) {\n done[done.length - 1] = sel;\n setSelectionNoUndo(doc, sel, options);\n } else {\n setSelection(doc, sel, options);\n }\n }\n\n // Set a new selection.\n function setSelection(doc, sel, options) {\n setSelectionNoUndo(doc, sel, options);\n addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options);\n }\n\n function setSelectionNoUndo(doc, sel, options) {\n if (hasHandler(doc, \"beforeSelectionChange\") || doc.cm && hasHandler(doc.cm, \"beforeSelectionChange\"))\n { sel = filterSelectionChange(doc, sel, options); }\n\n var bias = options && options.bias ||\n (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1);\n setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true));\n\n if (!(options && options.scroll === false) && doc.cm && doc.cm.getOption(\"readOnly\") != \"nocursor\")\n { ensureCursorVisible(doc.cm); }\n }\n\n function setSelectionInner(doc, sel) {\n if (sel.equals(doc.sel)) { return }\n\n doc.sel = sel;\n\n if (doc.cm) {\n doc.cm.curOp.updateInput = 1;\n doc.cm.curOp.selectionChanged = true;\n signalCursorActivity(doc.cm);\n }\n signalLater(doc, \"cursorActivity\", doc);\n }\n\n // Verify that the selection does not partially select any atomic\n // marked ranges.\n function reCheckSelection(doc) {\n setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false));\n }\n\n // Return a selection that does not partially select any atomic\n // ranges.\n function skipAtomicInSelection(doc, sel, bias, mayClear) {\n var out;\n for (var i = 0; i < sel.ranges.length; i++) {\n var range = sel.ranges[i];\n var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i];\n var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear);\n var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear);\n if (out || newAnchor != range.anchor || newHead != range.head) {\n if (!out) { out = sel.ranges.slice(0, i); }\n out[i] = new Range(newAnchor, newHead);\n }\n }\n return out ? normalizeSelection(doc.cm, out, sel.primIndex) : sel\n }\n\n function skipAtomicInner(doc, pos, oldPos, dir, mayClear) {\n var line = getLine(doc, pos.line);\n if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) {\n var sp = line.markedSpans[i], m = sp.marker;\n\n // Determine if we should prevent the cursor being placed to the left/right of an atomic marker\n // Historically this was determined using the inclusiveLeft/Right option, but the new way to control it\n // is with selectLeft/Right\n var preventCursorLeft = (\"selectLeft\" in m) ? !m.selectLeft : m.inclusiveLeft;\n var preventCursorRight = (\"selectRight\" in m) ? !m.selectRight : m.inclusiveRight;\n\n if ((sp.from == null || (preventCursorLeft ? sp.from <= pos.ch : sp.from < pos.ch)) &&\n (sp.to == null || (preventCursorRight ? sp.to >= pos.ch : sp.to > pos.ch))) {\n if (mayClear) {\n signal(m, \"beforeCursorEnter\");\n if (m.explicitlyCleared) {\n if (!line.markedSpans) { break }\n else {--i; continue}\n }\n }\n if (!m.atomic) { continue }\n\n if (oldPos) {\n var near = m.find(dir < 0 ? 1 : -1), diff = (void 0);\n if (dir < 0 ? preventCursorRight : preventCursorLeft)\n { near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null); }\n if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0))\n { return skipAtomicInner(doc, near, pos, dir, mayClear) }\n }\n\n var far = m.find(dir < 0 ? -1 : 1);\n if (dir < 0 ? preventCursorLeft : preventCursorRight)\n { far = movePos(doc, far, dir, far.line == pos.line ? line : null); }\n return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null\n }\n } }\n return pos\n }\n\n // Ensure a given position is not inside an atomic range.\n function skipAtomic(doc, pos, oldPos, bias, mayClear) {\n var dir = bias || 1;\n var found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) ||\n (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) ||\n skipAtomicInner(doc, pos, oldPos, -dir, mayClear) ||\n (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true));\n if (!found) {\n doc.cantEdit = true;\n return Pos(doc.first, 0)\n }\n return found\n }\n\n function movePos(doc, pos, dir, line) {\n if (dir < 0 && pos.ch == 0) {\n if (pos.line > doc.first) { return clipPos(doc, Pos(pos.line - 1)) }\n else { return null }\n } else if (dir > 0 && pos.ch == (line || getLine(doc, pos.line)).text.length) {\n if (pos.line < doc.first + doc.size - 1) { return Pos(pos.line + 1, 0) }\n else { return null }\n } else {\n return new Pos(pos.line, pos.ch + dir)\n }\n }\n\n function selectAll(cm) {\n cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll);\n }\n\n // UPDATING\n\n // Allow \"beforeChange\" event handlers to influence a change\n function filterChange(doc, change, update) {\n var obj = {\n canceled: false,\n from: change.from,\n to: change.to,\n text: change.text,\n origin: change.origin,\n cancel: function () { return obj.canceled = true; }\n };\n if (update) { obj.update = function (from, to, text, origin) {\n if (from) { obj.from = clipPos(doc, from); }\n if (to) { obj.to = clipPos(doc, to); }\n if (text) { obj.text = text; }\n if (origin !== undefined) { obj.origin = origin; }\n }; }\n signal(doc, \"beforeChange\", doc, obj);\n if (doc.cm) { signal(doc.cm, \"beforeChange\", doc.cm, obj); }\n\n if (obj.canceled) {\n if (doc.cm) { doc.cm.curOp.updateInput = 2; }\n return null\n }\n return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin}\n }\n\n // Apply a change to a document, and add it to the document's\n // history, and propagating it to all linked documents.\n function makeChange(doc, change, ignoreReadOnly) {\n if (doc.cm) {\n if (!doc.cm.curOp) { return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly) }\n if (doc.cm.state.suppressEdits) { return }\n }\n\n if (hasHandler(doc, \"beforeChange\") || doc.cm && hasHandler(doc.cm, \"beforeChange\")) {\n change = filterChange(doc, change, true);\n if (!change) { return }\n }\n\n // Possibly split or suppress the update based on the presence\n // of read-only spans in its range.\n var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to);\n if (split) {\n for (var i = split.length - 1; i >= 0; --i)\n { makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [\"\"] : change.text, origin: change.origin}); }\n } else {\n makeChangeInner(doc, change);\n }\n }\n\n function makeChangeInner(doc, change) {\n if (change.text.length == 1 && change.text[0] == \"\" && cmp(change.from, change.to) == 0) { return }\n var selAfter = computeSelAfterChange(doc, change);\n addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN);\n\n makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change));\n var rebased = [];\n\n linkedDocs(doc, function (doc, sharedHist) {\n if (!sharedHist && indexOf(rebased, doc.history) == -1) {\n rebaseHist(doc.history, change);\n rebased.push(doc.history);\n }\n makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change));\n });\n }\n\n // Revert a change stored in a document's history.\n function makeChangeFromHistory(doc, type, allowSelectionOnly) {\n var suppress = doc.cm && doc.cm.state.suppressEdits;\n if (suppress && !allowSelectionOnly) { return }\n\n var hist = doc.history, event, selAfter = doc.sel;\n var source = type == \"undo\" ? hist.done : hist.undone, dest = type == \"undo\" ? hist.undone : hist.done;\n\n // Verify that there is a useable event (so that ctrl-z won't\n // needlessly clear selection events)\n var i = 0;\n for (; i < source.length; i++) {\n event = source[i];\n if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges)\n { break }\n }\n if (i == source.length) { return }\n hist.lastOrigin = hist.lastSelOrigin = null;\n\n for (;;) {\n event = source.pop();\n if (event.ranges) {\n pushSelectionToHistory(event, dest);\n if (allowSelectionOnly && !event.equals(doc.sel)) {\n setSelection(doc, event, {clearRedo: false});\n return\n }\n selAfter = event;\n } else if (suppress) {\n source.push(event);\n return\n } else { break }\n }\n\n // Build up a reverse change object to add to the opposite history\n // stack (redo when undoing, and vice versa).\n var antiChanges = [];\n pushSelectionToHistory(selAfter, dest);\n dest.push({changes: antiChanges, generation: hist.generation});\n hist.generation = event.generation || ++hist.maxGeneration;\n\n var filter = hasHandler(doc, \"beforeChange\") || doc.cm && hasHandler(doc.cm, \"beforeChange\");\n\n var loop = function ( i ) {\n var change = event.changes[i];\n change.origin = type;\n if (filter && !filterChange(doc, change, false)) {\n source.length = 0;\n return {}\n }\n\n antiChanges.push(historyChangeFromChange(doc, change));\n\n var after = i ? computeSelAfterChange(doc, change) : lst(source);\n makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change));\n if (!i && doc.cm) { doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}); }\n var rebased = [];\n\n // Propagate to the linked documents\n linkedDocs(doc, function (doc, sharedHist) {\n if (!sharedHist && indexOf(rebased, doc.history) == -1) {\n rebaseHist(doc.history, change);\n rebased.push(doc.history);\n }\n makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change));\n });\n };\n\n for (var i$1 = event.changes.length - 1; i$1 >= 0; --i$1) {\n var returned = loop( i$1 );\n\n if ( returned ) return returned.v;\n }\n }\n\n // Sub-views need their line numbers shifted when text is added\n // above or below them in the parent document.\n function shiftDoc(doc, distance) {\n if (distance == 0) { return }\n doc.first += distance;\n doc.sel = new Selection(map(doc.sel.ranges, function (range) { return new Range(\n Pos(range.anchor.line + distance, range.anchor.ch),\n Pos(range.head.line + distance, range.head.ch)\n ); }), doc.sel.primIndex);\n if (doc.cm) {\n regChange(doc.cm, doc.first, doc.first - distance, distance);\n for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++)\n { regLineChange(doc.cm, l, \"gutter\"); }\n }\n }\n\n // More lower-level change function, handling only a single document\n // (not linked ones).\n function makeChangeSingleDoc(doc, change, selAfter, spans) {\n if (doc.cm && !doc.cm.curOp)\n { return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans) }\n\n if (change.to.line < doc.first) {\n shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line));\n return\n }\n if (change.from.line > doc.lastLine()) { return }\n\n // Clip the change to the size of this doc\n if (change.from.line < doc.first) {\n var shift = change.text.length - 1 - (doc.first - change.from.line);\n shiftDoc(doc, shift);\n change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch),\n text: [lst(change.text)], origin: change.origin};\n }\n var last = doc.lastLine();\n if (change.to.line > last) {\n change = {from: change.from, to: Pos(last, getLine(doc, last).text.length),\n text: [change.text[0]], origin: change.origin};\n }\n\n change.removed = getBetween(doc, change.from, change.to);\n\n if (!selAfter) { selAfter = computeSelAfterChange(doc, change); }\n if (doc.cm) { makeChangeSingleDocInEditor(doc.cm, change, spans); }\n else { updateDoc(doc, change, spans); }\n setSelectionNoUndo(doc, selAfter, sel_dontScroll);\n\n if (doc.cantEdit && skipAtomic(doc, Pos(doc.firstLine(), 0)))\n { doc.cantEdit = false; }\n }\n\n // Handle the interaction of a change to a document with the editor\n // that this document is part of.\n function makeChangeSingleDocInEditor(cm, change, spans) {\n var doc = cm.doc, display = cm.display, from = change.from, to = change.to;\n\n var recomputeMaxLength = false, checkWidthStart = from.line;\n if (!cm.options.lineWrapping) {\n checkWidthStart = lineNo(visualLine(getLine(doc, from.line)));\n doc.iter(checkWidthStart, to.line + 1, function (line) {\n if (line == display.maxLine) {\n recomputeMaxLength = true;\n return true\n }\n });\n }\n\n if (doc.sel.contains(change.from, change.to) > -1)\n { signalCursorActivity(cm); }\n\n updateDoc(doc, change, spans, estimateHeight(cm));\n\n if (!cm.options.lineWrapping) {\n doc.iter(checkWidthStart, from.line + change.text.length, function (line) {\n var len = lineLength(line);\n if (len > display.maxLineLength) {\n display.maxLine = line;\n display.maxLineLength = len;\n display.maxLineChanged = true;\n recomputeMaxLength = false;\n }\n });\n if (recomputeMaxLength) { cm.curOp.updateMaxLine = true; }\n }\n\n retreatFrontier(doc, from.line);\n startWorker(cm, 400);\n\n var lendiff = change.text.length - (to.line - from.line) - 1;\n // Remember that these lines changed, for updating the display\n if (change.full)\n { regChange(cm); }\n else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change))\n { regLineChange(cm, from.line, \"text\"); }\n else\n { regChange(cm, from.line, to.line + 1, lendiff); }\n\n var changesHandler = hasHandler(cm, \"changes\"), changeHandler = hasHandler(cm, \"change\");\n if (changeHandler || changesHandler) {\n var obj = {\n from: from, to: to,\n text: change.text,\n removed: change.removed,\n origin: change.origin\n };\n if (changeHandler) { signalLater(cm, \"change\", cm, obj); }\n if (changesHandler) { (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj); }\n }\n cm.display.selForContextMenu = null;\n }\n\n function replaceRange(doc, code, from, to, origin) {\n var assign;\n\n if (!to) { to = from; }\n if (cmp(to, from) < 0) { (assign = [to, from], from = assign[0], to = assign[1]); }\n if (typeof code == \"string\") { code = doc.splitLines(code); }\n makeChange(doc, {from: from, to: to, text: code, origin: origin});\n }\n\n // Rebasing/resetting history to deal with externally-sourced changes\n\n function rebaseHistSelSingle(pos, from, to, diff) {\n if (to < pos.line) {\n pos.line += diff;\n } else if (from < pos.line) {\n pos.line = from;\n pos.ch = 0;\n }\n }\n\n // Tries to rebase an array of history events given a change in the\n // document. If the change touches the same lines as the event, the\n // event, and everything 'behind' it, is discarded. If the change is\n // before the event, the event's positions are updated. Uses a\n // copy-on-write scheme for the positions, to avoid having to\n // reallocate them all on every rebase, but also avoid problems with\n // shared position objects being unsafely updated.\n function rebaseHistArray(array, from, to, diff) {\n for (var i = 0; i < array.length; ++i) {\n var sub = array[i], ok = true;\n if (sub.ranges) {\n if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true; }\n for (var j = 0; j < sub.ranges.length; j++) {\n rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff);\n rebaseHistSelSingle(sub.ranges[j].head, from, to, diff);\n }\n continue\n }\n for (var j$1 = 0; j$1 < sub.changes.length; ++j$1) {\n var cur = sub.changes[j$1];\n if (to < cur.from.line) {\n cur.from = Pos(cur.from.line + diff, cur.from.ch);\n cur.to = Pos(cur.to.line + diff, cur.to.ch);\n } else if (from <= cur.to.line) {\n ok = false;\n break\n }\n }\n if (!ok) {\n array.splice(0, i + 1);\n i = 0;\n }\n }\n }\n\n function rebaseHist(hist, change) {\n var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1;\n rebaseHistArray(hist.done, from, to, diff);\n rebaseHistArray(hist.undone, from, to, diff);\n }\n\n // Utility for applying a change to a line by handle or number,\n // returning the number and optionally registering the line as\n // changed.\n function changeLine(doc, handle, changeType, op) {\n var no = handle, line = handle;\n if (typeof handle == \"number\") { line = getLine(doc, clipLine(doc, handle)); }\n else { no = lineNo(handle); }\n if (no == null) { return null }\n if (op(line, no) && doc.cm) { regLineChange(doc.cm, no, changeType); }\n return line\n }\n\n // The document is represented as a BTree consisting of leaves, with\n // chunk of lines in them, and branches, with up to ten leaves or\n // other branch nodes below them. The top node is always a branch\n // node, and is the document object itself (meaning it has\n // additional methods and properties).\n //\n // All nodes have parent links. The tree is used both to go from\n // line numbers to line objects, and to go from objects to numbers.\n // It also indexes by height, and is used to convert between height\n // and line object, and to find the total height of the document.\n //\n // See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html\n\n function LeafChunk(lines) {\n this.lines = lines;\n this.parent = null;\n var height = 0;\n for (var i = 0; i < lines.length; ++i) {\n lines[i].parent = this;\n height += lines[i].height;\n }\n this.height = height;\n }\n\n LeafChunk.prototype = {\n chunkSize: function() { return this.lines.length },\n\n // Remove the n lines at offset 'at'.\n removeInner: function(at, n) {\n for (var i = at, e = at + n; i < e; ++i) {\n var line = this.lines[i];\n this.height -= line.height;\n cleanUpLine(line);\n signalLater(line, \"delete\");\n }\n this.lines.splice(at, n);\n },\n\n // Helper used to collapse a small branch into a single leaf.\n collapse: function(lines) {\n lines.push.apply(lines, this.lines);\n },\n\n // Insert the given array of lines at offset 'at', count them as\n // having the given height.\n insertInner: function(at, lines, height) {\n this.height += height;\n this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at));\n for (var i = 0; i < lines.length; ++i) { lines[i].parent = this; }\n },\n\n // Used to iterate over a part of the tree.\n iterN: function(at, n, op) {\n for (var e = at + n; at < e; ++at)\n { if (op(this.lines[at])) { return true } }\n }\n };\n\n function BranchChunk(children) {\n this.children = children;\n var size = 0, height = 0;\n for (var i = 0; i < children.length; ++i) {\n var ch = children[i];\n size += ch.chunkSize(); height += ch.height;\n ch.parent = this;\n }\n this.size = size;\n this.height = height;\n this.parent = null;\n }\n\n BranchChunk.prototype = {\n chunkSize: function() { return this.size },\n\n removeInner: function(at, n) {\n this.size -= n;\n for (var i = 0; i < this.children.length; ++i) {\n var child = this.children[i], sz = child.chunkSize();\n if (at < sz) {\n var rm = Math.min(n, sz - at), oldHeight = child.height;\n child.removeInner(at, rm);\n this.height -= oldHeight - child.height;\n if (sz == rm) { this.children.splice(i--, 1); child.parent = null; }\n if ((n -= rm) == 0) { break }\n at = 0;\n } else { at -= sz; }\n }\n // If the result is smaller than 25 lines, ensure that it is a\n // single leaf node.\n if (this.size - n < 25 &&\n (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) {\n var lines = [];\n this.collapse(lines);\n this.children = [new LeafChunk(lines)];\n this.children[0].parent = this;\n }\n },\n\n collapse: function(lines) {\n for (var i = 0; i < this.children.length; ++i) { this.children[i].collapse(lines); }\n },\n\n insertInner: function(at, lines, height) {\n this.size += lines.length;\n this.height += height;\n for (var i = 0; i < this.children.length; ++i) {\n var child = this.children[i], sz = child.chunkSize();\n if (at <= sz) {\n child.insertInner(at, lines, height);\n if (child.lines && child.lines.length > 50) {\n // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced.\n // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest.\n var remaining = child.lines.length % 25 + 25;\n for (var pos = remaining; pos < child.lines.length;) {\n var leaf = new LeafChunk(child.lines.slice(pos, pos += 25));\n child.height -= leaf.height;\n this.children.splice(++i, 0, leaf);\n leaf.parent = this;\n }\n child.lines = child.lines.slice(0, remaining);\n this.maybeSpill();\n }\n break\n }\n at -= sz;\n }\n },\n\n // When a node has grown, check whether it should be split.\n maybeSpill: function() {\n if (this.children.length <= 10) { return }\n var me = this;\n do {\n var spilled = me.children.splice(me.children.length - 5, 5);\n var sibling = new BranchChunk(spilled);\n if (!me.parent) { // Become the parent node\n var copy = new BranchChunk(me.children);\n copy.parent = me;\n me.children = [copy, sibling];\n me = copy;\n } else {\n me.size -= sibling.size;\n me.height -= sibling.height;\n var myIndex = indexOf(me.parent.children, me);\n me.parent.children.splice(myIndex + 1, 0, sibling);\n }\n sibling.parent = me.parent;\n } while (me.children.length > 10)\n me.parent.maybeSpill();\n },\n\n iterN: function(at, n, op) {\n for (var i = 0; i < this.children.length; ++i) {\n var child = this.children[i], sz = child.chunkSize();\n if (at < sz) {\n var used = Math.min(n, sz - at);\n if (child.iterN(at, used, op)) { return true }\n if ((n -= used) == 0) { break }\n at = 0;\n } else { at -= sz; }\n }\n }\n };\n\n // Line widgets are block elements displayed above or below a line.\n\n var LineWidget = function(doc, node, options) {\n if (options) { for (var opt in options) { if (options.hasOwnProperty(opt))\n { this[opt] = options[opt]; } } }\n this.doc = doc;\n this.node = node;\n };\n\n LineWidget.prototype.clear = function () {\n var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line);\n if (no == null || !ws) { return }\n for (var i = 0; i < ws.length; ++i) { if (ws[i] == this) { ws.splice(i--, 1); } }\n if (!ws.length) { line.widgets = null; }\n var height = widgetHeight(this);\n updateLineHeight(line, Math.max(0, line.height - height));\n if (cm) {\n runInOp(cm, function () {\n adjustScrollWhenAboveVisible(cm, line, -height);\n regLineChange(cm, no, \"widget\");\n });\n signalLater(cm, \"lineWidgetCleared\", cm, this, no);\n }\n };\n\n LineWidget.prototype.changed = function () {\n var this$1 = this;\n\n var oldH = this.height, cm = this.doc.cm, line = this.line;\n this.height = null;\n var diff = widgetHeight(this) - oldH;\n if (!diff) { return }\n if (!lineIsHidden(this.doc, line)) { updateLineHeight(line, line.height + diff); }\n if (cm) {\n runInOp(cm, function () {\n cm.curOp.forceUpdate = true;\n adjustScrollWhenAboveVisible(cm, line, diff);\n signalLater(cm, \"lineWidgetChanged\", cm, this$1, lineNo(line));\n });\n }\n };\n eventMixin(LineWidget);\n\n function adjustScrollWhenAboveVisible(cm, line, diff) {\n if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop))\n { addToScrollTop(cm, diff); }\n }\n\n function addLineWidget(doc, handle, node, options) {\n var widget = new LineWidget(doc, node, options);\n var cm = doc.cm;\n if (cm && widget.noHScroll) { cm.display.alignWidgets = true; }\n changeLine(doc, handle, \"widget\", function (line) {\n var widgets = line.widgets || (line.widgets = []);\n if (widget.insertAt == null) { widgets.push(widget); }\n else { widgets.splice(Math.min(widgets.length, Math.max(0, widget.insertAt)), 0, widget); }\n widget.line = line;\n if (cm && !lineIsHidden(doc, line)) {\n var aboveVisible = heightAtLine(line) < doc.scrollTop;\n updateLineHeight(line, line.height + widgetHeight(widget));\n if (aboveVisible) { addToScrollTop(cm, widget.height); }\n cm.curOp.forceUpdate = true;\n }\n return true\n });\n if (cm) { signalLater(cm, \"lineWidgetAdded\", cm, widget, typeof handle == \"number\" ? handle : lineNo(handle)); }\n return widget\n }\n\n // TEXTMARKERS\n\n // Created with markText and setBookmark methods. A TextMarker is a\n // handle that can be used to clear or find a marked position in the\n // document. Line objects hold arrays (markedSpans) containing\n // {from, to, marker} object pointing to such marker objects, and\n // indicating that such a marker is present on that line. Multiple\n // lines may point to the same marker when it spans across lines.\n // The spans will have null for their from/to properties when the\n // marker continues beyond the start/end of the line. Markers have\n // links back to the lines they currently touch.\n\n // Collapsed markers have unique ids, in order to be able to order\n // them, which is needed for uniquely determining an outer marker\n // when they overlap (they may nest, but not partially overlap).\n var nextMarkerId = 0;\n\n var TextMarker = function(doc, type) {\n this.lines = [];\n this.type = type;\n this.doc = doc;\n this.id = ++nextMarkerId;\n };\n\n // Clear the marker.\n TextMarker.prototype.clear = function () {\n if (this.explicitlyCleared) { return }\n var cm = this.doc.cm, withOp = cm && !cm.curOp;\n if (withOp) { startOperation(cm); }\n if (hasHandler(this, \"clear\")) {\n var found = this.find();\n if (found) { signalLater(this, \"clear\", found.from, found.to); }\n }\n var min = null, max = null;\n for (var i = 0; i < this.lines.length; ++i) {\n var line = this.lines[i];\n var span = getMarkedSpanFor(line.markedSpans, this);\n if (cm && !this.collapsed) { regLineChange(cm, lineNo(line), \"text\"); }\n else if (cm) {\n if (span.to != null) { max = lineNo(line); }\n if (span.from != null) { min = lineNo(line); }\n }\n line.markedSpans = removeMarkedSpan(line.markedSpans, span);\n if (span.from == null && this.collapsed && !lineIsHidden(this.doc, line) && cm)\n { updateLineHeight(line, textHeight(cm.display)); }\n }\n if (cm && this.collapsed && !cm.options.lineWrapping) { for (var i$1 = 0; i$1 < this.lines.length; ++i$1) {\n var visual = visualLine(this.lines[i$1]), len = lineLength(visual);\n if (len > cm.display.maxLineLength) {\n cm.display.maxLine = visual;\n cm.display.maxLineLength = len;\n cm.display.maxLineChanged = true;\n }\n } }\n\n if (min != null && cm && this.collapsed) { regChange(cm, min, max + 1); }\n this.lines.length = 0;\n this.explicitlyCleared = true;\n if (this.atomic && this.doc.cantEdit) {\n this.doc.cantEdit = false;\n if (cm) { reCheckSelection(cm.doc); }\n }\n if (cm) { signalLater(cm, \"markerCleared\", cm, this, min, max); }\n if (withOp) { endOperation(cm); }\n if (this.parent) { this.parent.clear(); }\n };\n\n // Find the position of the marker in the document. Returns a {from,\n // to} object by default. Side can be passed to get a specific side\n // -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the\n // Pos objects returned contain a line object, rather than a line\n // number (used to prevent looking up the same line twice).\n TextMarker.prototype.find = function (side, lineObj) {\n if (side == null && this.type == \"bookmark\") { side = 1; }\n var from, to;\n for (var i = 0; i < this.lines.length; ++i) {\n var line = this.lines[i];\n var span = getMarkedSpanFor(line.markedSpans, this);\n if (span.from != null) {\n from = Pos(lineObj ? line : lineNo(line), span.from);\n if (side == -1) { return from }\n }\n if (span.to != null) {\n to = Pos(lineObj ? line : lineNo(line), span.to);\n if (side == 1) { return to }\n }\n }\n return from && {from: from, to: to}\n };\n\n // Signals that the marker's widget changed, and surrounding layout\n // should be recomputed.\n TextMarker.prototype.changed = function () {\n var this$1 = this;\n\n var pos = this.find(-1, true), widget = this, cm = this.doc.cm;\n if (!pos || !cm) { return }\n runInOp(cm, function () {\n var line = pos.line, lineN = lineNo(pos.line);\n var view = findViewForLine(cm, lineN);\n if (view) {\n clearLineMeasurementCacheFor(view);\n cm.curOp.selectionChanged = cm.curOp.forceUpdate = true;\n }\n cm.curOp.updateMaxLine = true;\n if (!lineIsHidden(widget.doc, line) && widget.height != null) {\n var oldHeight = widget.height;\n widget.height = null;\n var dHeight = widgetHeight(widget) - oldHeight;\n if (dHeight)\n { updateLineHeight(line, line.height + dHeight); }\n }\n signalLater(cm, \"markerChanged\", cm, this$1);\n });\n };\n\n TextMarker.prototype.attachLine = function (line) {\n if (!this.lines.length && this.doc.cm) {\n var op = this.doc.cm.curOp;\n if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1)\n { (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this); }\n }\n this.lines.push(line);\n };\n\n TextMarker.prototype.detachLine = function (line) {\n this.lines.splice(indexOf(this.lines, line), 1);\n if (!this.lines.length && this.doc.cm) {\n var op = this.doc.cm.curOp\n ;(op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this);\n }\n };\n eventMixin(TextMarker);\n\n // Create a marker, wire it up to the right lines, and\n function markText(doc, from, to, options, type) {\n // Shared markers (across linked documents) are handled separately\n // (markTextShared will call out to this again, once per\n // document).\n if (options && options.shared) { return markTextShared(doc, from, to, options, type) }\n // Ensure we are in an operation.\n if (doc.cm && !doc.cm.curOp) { return operation(doc.cm, markText)(doc, from, to, options, type) }\n\n var marker = new TextMarker(doc, type), diff = cmp(from, to);\n if (options) { copyObj(options, marker, false); }\n // Don't connect empty markers unless clearWhenEmpty is false\n if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false)\n { return marker }\n if (marker.replacedWith) {\n // Showing up as a widget implies collapsed (widget replaces text)\n marker.collapsed = true;\n marker.widgetNode = eltP(\"span\", [marker.replacedWith], \"CodeMirror-widget\");\n if (!options.handleMouseEvents) { marker.widgetNode.setAttribute(\"cm-ignore-events\", \"true\"); }\n if (options.insertLeft) { marker.widgetNode.insertLeft = true; }\n }\n if (marker.collapsed) {\n if (conflictingCollapsedRange(doc, from.line, from, to, marker) ||\n from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker))\n { throw new Error(\"Inserting collapsed marker partially overlapping an existing one\") }\n seeCollapsedSpans();\n }\n\n if (marker.addToHistory)\n { addChangeToHistory(doc, {from: from, to: to, origin: \"markText\"}, doc.sel, NaN); }\n\n var curLine = from.line, cm = doc.cm, updateMaxLine;\n doc.iter(curLine, to.line + 1, function (line) {\n if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine)\n { updateMaxLine = true; }\n if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0); }\n addMarkedSpan(line, new MarkedSpan(marker,\n curLine == from.line ? from.ch : null,\n curLine == to.line ? to.ch : null), doc.cm && doc.cm.curOp);\n ++curLine;\n });\n // lineIsHidden depends on the presence of the spans, so needs a second pass\n if (marker.collapsed) { doc.iter(from.line, to.line + 1, function (line) {\n if (lineIsHidden(doc, line)) { updateLineHeight(line, 0); }\n }); }\n\n if (marker.clearOnEnter) { on(marker, \"beforeCursorEnter\", function () { return marker.clear(); }); }\n\n if (marker.readOnly) {\n seeReadOnlySpans();\n if (doc.history.done.length || doc.history.undone.length)\n { doc.clearHistory(); }\n }\n if (marker.collapsed) {\n marker.id = ++nextMarkerId;\n marker.atomic = true;\n }\n if (cm) {\n // Sync editor state\n if (updateMaxLine) { cm.curOp.updateMaxLine = true; }\n if (marker.collapsed)\n { regChange(cm, from.line, to.line + 1); }\n else if (marker.className || marker.startStyle || marker.endStyle || marker.css ||\n marker.attributes || marker.title)\n { for (var i = from.line; i <= to.line; i++) { regLineChange(cm, i, \"text\"); } }\n if (marker.atomic) { reCheckSelection(cm.doc); }\n signalLater(cm, \"markerAdded\", cm, marker);\n }\n return marker\n }\n\n // SHARED TEXTMARKERS\n\n // A shared marker spans multiple linked documents. It is\n // implemented as a meta-marker-object controlling multiple normal\n // markers.\n var SharedTextMarker = function(markers, primary) {\n this.markers = markers;\n this.primary = primary;\n for (var i = 0; i < markers.length; ++i)\n { markers[i].parent = this; }\n };\n\n SharedTextMarker.prototype.clear = function () {\n if (this.explicitlyCleared) { return }\n this.explicitlyCleared = true;\n for (var i = 0; i < this.markers.length; ++i)\n { this.markers[i].clear(); }\n signalLater(this, \"clear\");\n };\n\n SharedTextMarker.prototype.find = function (side, lineObj) {\n return this.primary.find(side, lineObj)\n };\n eventMixin(SharedTextMarker);\n\n function markTextShared(doc, from, to, options, type) {\n options = copyObj(options);\n options.shared = false;\n var markers = [markText(doc, from, to, options, type)], primary = markers[0];\n var widget = options.widgetNode;\n linkedDocs(doc, function (doc) {\n if (widget) { options.widgetNode = widget.cloneNode(true); }\n markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type));\n for (var i = 0; i < doc.linked.length; ++i)\n { if (doc.linked[i].isParent) { return } }\n primary = lst(markers);\n });\n return new SharedTextMarker(markers, primary)\n }\n\n function findSharedMarkers(doc) {\n return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), function (m) { return m.parent; })\n }\n\n function copySharedMarkers(doc, markers) {\n for (var i = 0; i < markers.length; i++) {\n var marker = markers[i], pos = marker.find();\n var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to);\n if (cmp(mFrom, mTo)) {\n var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type);\n marker.markers.push(subMark);\n subMark.parent = marker;\n }\n }\n }\n\n function detachSharedMarkers(markers) {\n var loop = function ( i ) {\n var marker = markers[i], linked = [marker.primary.doc];\n linkedDocs(marker.primary.doc, function (d) { return linked.push(d); });\n for (var j = 0; j < marker.markers.length; j++) {\n var subMarker = marker.markers[j];\n if (indexOf(linked, subMarker.doc) == -1) {\n subMarker.parent = null;\n marker.markers.splice(j--, 1);\n }\n }\n };\n\n for (var i = 0; i < markers.length; i++) loop( i );\n }\n\n var nextDocId = 0;\n var Doc = function(text, mode, firstLine, lineSep, direction) {\n if (!(this instanceof Doc)) { return new Doc(text, mode, firstLine, lineSep, direction) }\n if (firstLine == null) { firstLine = 0; }\n\n BranchChunk.call(this, [new LeafChunk([new Line(\"\", null)])]);\n this.first = firstLine;\n this.scrollTop = this.scrollLeft = 0;\n this.cantEdit = false;\n this.cleanGeneration = 1;\n this.modeFrontier = this.highlightFrontier = firstLine;\n var start = Pos(firstLine, 0);\n this.sel = simpleSelection(start);\n this.history = new History(null);\n this.id = ++nextDocId;\n this.modeOption = mode;\n this.lineSep = lineSep;\n this.direction = (direction == \"rtl\") ? \"rtl\" : \"ltr\";\n this.extend = false;\n\n if (typeof text == \"string\") { text = this.splitLines(text); }\n updateDoc(this, {from: start, to: start, text: text});\n setSelection(this, simpleSelection(start), sel_dontScroll);\n };\n\n Doc.prototype = createObj(BranchChunk.prototype, {\n constructor: Doc,\n // Iterate over the document. Supports two forms -- with only one\n // argument, it calls that for each line in the document. With\n // three, it iterates over the range given by the first two (with\n // the second being non-inclusive).\n iter: function(from, to, op) {\n if (op) { this.iterN(from - this.first, to - from, op); }\n else { this.iterN(this.first, this.first + this.size, from); }\n },\n\n // Non-public interface for adding and removing lines.\n insert: function(at, lines) {\n var height = 0;\n for (var i = 0; i < lines.length; ++i) { height += lines[i].height; }\n this.insertInner(at - this.first, lines, height);\n },\n remove: function(at, n) { this.removeInner(at - this.first, n); },\n\n // From here, the methods are part of the public interface. Most\n // are also available from CodeMirror (editor) instances.\n\n getValue: function(lineSep) {\n var lines = getLines(this, this.first, this.first + this.size);\n if (lineSep === false) { return lines }\n return lines.join(lineSep || this.lineSeparator())\n },\n setValue: docMethodOp(function(code) {\n var top = Pos(this.first, 0), last = this.first + this.size - 1;\n makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length),\n text: this.splitLines(code), origin: \"setValue\", full: true}, true);\n if (this.cm) { scrollToCoords(this.cm, 0, 0); }\n setSelection(this, simpleSelection(top), sel_dontScroll);\n }),\n replaceRange: function(code, from, to, origin) {\n from = clipPos(this, from);\n to = to ? clipPos(this, to) : from;\n replaceRange(this, code, from, to, origin);\n },\n getRange: function(from, to, lineSep) {\n var lines = getBetween(this, clipPos(this, from), clipPos(this, to));\n if (lineSep === false) { return lines }\n return lines.join(lineSep || this.lineSeparator())\n },\n\n getLine: function(line) {var l = this.getLineHandle(line); return l && l.text},\n\n getLineHandle: function(line) {if (isLine(this, line)) { return getLine(this, line) }},\n getLineNumber: function(line) {return lineNo(line)},\n\n getLineHandleVisualStart: function(line) {\n if (typeof line == \"number\") { line = getLine(this, line); }\n return visualLine(line)\n },\n\n lineCount: function() {return this.size},\n firstLine: function() {return this.first},\n lastLine: function() {return this.first + this.size - 1},\n\n clipPos: function(pos) {return clipPos(this, pos)},\n\n getCursor: function(start) {\n var range = this.sel.primary(), pos;\n if (start == null || start == \"head\") { pos = range.head; }\n else if (start == \"anchor\") { pos = range.anchor; }\n else if (start == \"end\" || start == \"to\" || start === false) { pos = range.to(); }\n else { pos = range.from(); }\n return pos\n },\n listSelections: function() { return this.sel.ranges },\n somethingSelected: function() {return this.sel.somethingSelected()},\n\n setCursor: docMethodOp(function(line, ch, options) {\n setSimpleSelection(this, clipPos(this, typeof line == \"number\" ? Pos(line, ch || 0) : line), null, options);\n }),\n setSelection: docMethodOp(function(anchor, head, options) {\n setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options);\n }),\n extendSelection: docMethodOp(function(head, other, options) {\n extendSelection(this, clipPos(this, head), other && clipPos(this, other), options);\n }),\n extendSelections: docMethodOp(function(heads, options) {\n extendSelections(this, clipPosArray(this, heads), options);\n }),\n extendSelectionsBy: docMethodOp(function(f, options) {\n var heads = map(this.sel.ranges, f);\n extendSelections(this, clipPosArray(this, heads), options);\n }),\n setSelections: docMethodOp(function(ranges, primary, options) {\n if (!ranges.length) { return }\n var out = [];\n for (var i = 0; i < ranges.length; i++)\n { out[i] = new Range(clipPos(this, ranges[i].anchor),\n clipPos(this, ranges[i].head || ranges[i].anchor)); }\n if (primary == null) { primary = Math.min(ranges.length - 1, this.sel.primIndex); }\n setSelection(this, normalizeSelection(this.cm, out, primary), options);\n }),\n addSelection: docMethodOp(function(anchor, head, options) {\n var ranges = this.sel.ranges.slice(0);\n ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor)));\n setSelection(this, normalizeSelection(this.cm, ranges, ranges.length - 1), options);\n }),\n\n getSelection: function(lineSep) {\n var ranges = this.sel.ranges, lines;\n for (var i = 0; i < ranges.length; i++) {\n var sel = getBetween(this, ranges[i].from(), ranges[i].to());\n lines = lines ? lines.concat(sel) : sel;\n }\n if (lineSep === false) { return lines }\n else { return lines.join(lineSep || this.lineSeparator()) }\n },\n getSelections: function(lineSep) {\n var parts = [], ranges = this.sel.ranges;\n for (var i = 0; i < ranges.length; i++) {\n var sel = getBetween(this, ranges[i].from(), ranges[i].to());\n if (lineSep !== false) { sel = sel.join(lineSep || this.lineSeparator()); }\n parts[i] = sel;\n }\n return parts\n },\n replaceSelection: function(code, collapse, origin) {\n var dup = [];\n for (var i = 0; i < this.sel.ranges.length; i++)\n { dup[i] = code; }\n this.replaceSelections(dup, collapse, origin || \"+input\");\n },\n replaceSelections: docMethodOp(function(code, collapse, origin) {\n var changes = [], sel = this.sel;\n for (var i = 0; i < sel.ranges.length; i++) {\n var range = sel.ranges[i];\n changes[i] = {from: range.from(), to: range.to(), text: this.splitLines(code[i]), origin: origin};\n }\n var newSel = collapse && collapse != \"end\" && computeReplacedSel(this, changes, collapse);\n for (var i$1 = changes.length - 1; i$1 >= 0; i$1--)\n { makeChange(this, changes[i$1]); }\n if (newSel) { setSelectionReplaceHistory(this, newSel); }\n else if (this.cm) { ensureCursorVisible(this.cm); }\n }),\n undo: docMethodOp(function() {makeChangeFromHistory(this, \"undo\");}),\n redo: docMethodOp(function() {makeChangeFromHistory(this, \"redo\");}),\n undoSelection: docMethodOp(function() {makeChangeFromHistory(this, \"undo\", true);}),\n redoSelection: docMethodOp(function() {makeChangeFromHistory(this, \"redo\", true);}),\n\n setExtending: function(val) {this.extend = val;},\n getExtending: function() {return this.extend},\n\n historySize: function() {\n var hist = this.history, done = 0, undone = 0;\n for (var i = 0; i < hist.done.length; i++) { if (!hist.done[i].ranges) { ++done; } }\n for (var i$1 = 0; i$1 < hist.undone.length; i$1++) { if (!hist.undone[i$1].ranges) { ++undone; } }\n return {undo: done, redo: undone}\n },\n clearHistory: function() {\n var this$1 = this;\n\n this.history = new History(this.history);\n linkedDocs(this, function (doc) { return doc.history = this$1.history; }, true);\n },\n\n markClean: function() {\n this.cleanGeneration = this.changeGeneration(true);\n },\n changeGeneration: function(forceSplit) {\n if (forceSplit)\n { this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null; }\n return this.history.generation\n },\n isClean: function (gen) {\n return this.history.generation == (gen || this.cleanGeneration)\n },\n\n getHistory: function() {\n return {done: copyHistoryArray(this.history.done),\n undone: copyHistoryArray(this.history.undone)}\n },\n setHistory: function(histData) {\n var hist = this.history = new History(this.history);\n hist.done = copyHistoryArray(histData.done.slice(0), null, true);\n hist.undone = copyHistoryArray(histData.undone.slice(0), null, true);\n },\n\n setGutterMarker: docMethodOp(function(line, gutterID, value) {\n return changeLine(this, line, \"gutter\", function (line) {\n var markers = line.gutterMarkers || (line.gutterMarkers = {});\n markers[gutterID] = value;\n if (!value && isEmpty(markers)) { line.gutterMarkers = null; }\n return true\n })\n }),\n\n clearGutter: docMethodOp(function(gutterID) {\n var this$1 = this;\n\n this.iter(function (line) {\n if (line.gutterMarkers && line.gutterMarkers[gutterID]) {\n changeLine(this$1, line, \"gutter\", function () {\n line.gutterMarkers[gutterID] = null;\n if (isEmpty(line.gutterMarkers)) { line.gutterMarkers = null; }\n return true\n });\n }\n });\n }),\n\n lineInfo: function(line) {\n var n;\n if (typeof line == \"number\") {\n if (!isLine(this, line)) { return null }\n n = line;\n line = getLine(this, line);\n if (!line) { return null }\n } else {\n n = lineNo(line);\n if (n == null) { return null }\n }\n return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers,\n textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass,\n widgets: line.widgets}\n },\n\n addLineClass: docMethodOp(function(handle, where, cls) {\n return changeLine(this, handle, where == \"gutter\" ? \"gutter\" : \"class\", function (line) {\n var prop = where == \"text\" ? \"textClass\"\n : where == \"background\" ? \"bgClass\"\n : where == \"gutter\" ? \"gutterClass\" : \"wrapClass\";\n if (!line[prop]) { line[prop] = cls; }\n else if (classTest(cls).test(line[prop])) { return false }\n else { line[prop] += \" \" + cls; }\n return true\n })\n }),\n removeLineClass: docMethodOp(function(handle, where, cls) {\n return changeLine(this, handle, where == \"gutter\" ? \"gutter\" : \"class\", function (line) {\n var prop = where == \"text\" ? \"textClass\"\n : where == \"background\" ? \"bgClass\"\n : where == \"gutter\" ? \"gutterClass\" : \"wrapClass\";\n var cur = line[prop];\n if (!cur) { return false }\n else if (cls == null) { line[prop] = null; }\n else {\n var found = cur.match(classTest(cls));\n if (!found) { return false }\n var end = found.index + found[0].length;\n line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? \"\" : \" \") + cur.slice(end) || null;\n }\n return true\n })\n }),\n\n addLineWidget: docMethodOp(function(handle, node, options) {\n return addLineWidget(this, handle, node, options)\n }),\n removeLineWidget: function(widget) { widget.clear(); },\n\n markText: function(from, to, options) {\n return markText(this, clipPos(this, from), clipPos(this, to), options, options && options.type || \"range\")\n },\n setBookmark: function(pos, options) {\n var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options),\n insertLeft: options && options.insertLeft,\n clearWhenEmpty: false, shared: options && options.shared,\n handleMouseEvents: options && options.handleMouseEvents};\n pos = clipPos(this, pos);\n return markText(this, pos, pos, realOpts, \"bookmark\")\n },\n findMarksAt: function(pos) {\n pos = clipPos(this, pos);\n var markers = [], spans = getLine(this, pos.line).markedSpans;\n if (spans) { for (var i = 0; i < spans.length; ++i) {\n var span = spans[i];\n if ((span.from == null || span.from <= pos.ch) &&\n (span.to == null || span.to >= pos.ch))\n { markers.push(span.marker.parent || span.marker); }\n } }\n return markers\n },\n findMarks: function(from, to, filter) {\n from = clipPos(this, from); to = clipPos(this, to);\n var found = [], lineNo = from.line;\n this.iter(from.line, to.line + 1, function (line) {\n var spans = line.markedSpans;\n if (spans) { for (var i = 0; i < spans.length; i++) {\n var span = spans[i];\n if (!(span.to != null && lineNo == from.line && from.ch >= span.to ||\n span.from == null && lineNo != from.line ||\n span.from != null && lineNo == to.line && span.from >= to.ch) &&\n (!filter || filter(span.marker)))\n { found.push(span.marker.parent || span.marker); }\n } }\n ++lineNo;\n });\n return found\n },\n getAllMarks: function() {\n var markers = [];\n this.iter(function (line) {\n var sps = line.markedSpans;\n if (sps) { for (var i = 0; i < sps.length; ++i)\n { if (sps[i].from != null) { markers.push(sps[i].marker); } } }\n });\n return markers\n },\n\n posFromIndex: function(off) {\n var ch, lineNo = this.first, sepSize = this.lineSeparator().length;\n this.iter(function (line) {\n var sz = line.text.length + sepSize;\n if (sz > off) { ch = off; return true }\n off -= sz;\n ++lineNo;\n });\n return clipPos(this, Pos(lineNo, ch))\n },\n indexFromPos: function (coords) {\n coords = clipPos(this, coords);\n var index = coords.ch;\n if (coords.line < this.first || coords.ch < 0) { return 0 }\n var sepSize = this.lineSeparator().length;\n this.iter(this.first, coords.line, function (line) { // iter aborts when callback returns a truthy value\n index += line.text.length + sepSize;\n });\n return index\n },\n\n copy: function(copyHistory) {\n var doc = new Doc(getLines(this, this.first, this.first + this.size),\n this.modeOption, this.first, this.lineSep, this.direction);\n doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft;\n doc.sel = this.sel;\n doc.extend = false;\n if (copyHistory) {\n doc.history.undoDepth = this.history.undoDepth;\n doc.setHistory(this.getHistory());\n }\n return doc\n },\n\n linkedDoc: function(options) {\n if (!options) { options = {}; }\n var from = this.first, to = this.first + this.size;\n if (options.from != null && options.from > from) { from = options.from; }\n if (options.to != null && options.to < to) { to = options.to; }\n var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from, this.lineSep, this.direction);\n if (options.sharedHist) { copy.history = this.history\n ; }(this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist});\n copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}];\n copySharedMarkers(copy, findSharedMarkers(this));\n return copy\n },\n unlinkDoc: function(other) {\n if (other instanceof CodeMirror) { other = other.doc; }\n if (this.linked) { for (var i = 0; i < this.linked.length; ++i) {\n var link = this.linked[i];\n if (link.doc != other) { continue }\n this.linked.splice(i, 1);\n other.unlinkDoc(this);\n detachSharedMarkers(findSharedMarkers(this));\n break\n } }\n // If the histories were shared, split them again\n if (other.history == this.history) {\n var splitIds = [other.id];\n linkedDocs(other, function (doc) { return splitIds.push(doc.id); }, true);\n other.history = new History(null);\n other.history.done = copyHistoryArray(this.history.done, splitIds);\n other.history.undone = copyHistoryArray(this.history.undone, splitIds);\n }\n },\n iterLinkedDocs: function(f) {linkedDocs(this, f);},\n\n getMode: function() {return this.mode},\n getEditor: function() {return this.cm},\n\n splitLines: function(str) {\n if (this.lineSep) { return str.split(this.lineSep) }\n return splitLinesAuto(str)\n },\n lineSeparator: function() { return this.lineSep || \"\\n\" },\n\n setDirection: docMethodOp(function (dir) {\n if (dir != \"rtl\") { dir = \"ltr\"; }\n if (dir == this.direction) { return }\n this.direction = dir;\n this.iter(function (line) { return line.order = null; });\n if (this.cm) { directionChanged(this.cm); }\n })\n });\n\n // Public alias.\n Doc.prototype.eachLine = Doc.prototype.iter;\n\n // Kludge to work around strange IE behavior where it'll sometimes\n // re-fire a series of drag-related events right after the drop (#1551)\n var lastDrop = 0;\n\n function onDrop(e) {\n var cm = this;\n clearDragCursor(cm);\n if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e))\n { return }\n e_preventDefault(e);\n if (ie) { lastDrop = +new Date; }\n var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files;\n if (!pos || cm.isReadOnly()) { return }\n // Might be a file drop, in which case we simply extract the text\n // and insert it.\n if (files && files.length && window.FileReader && window.File) {\n var n = files.length, text = Array(n), read = 0;\n var markAsReadAndPasteIfAllFilesAreRead = function () {\n if (++read == n) {\n operation(cm, function () {\n pos = clipPos(cm.doc, pos);\n var change = {from: pos, to: pos,\n text: cm.doc.splitLines(\n text.filter(function (t) { return t != null; }).join(cm.doc.lineSeparator())),\n origin: \"paste\"};\n makeChange(cm.doc, change);\n setSelectionReplaceHistory(cm.doc, simpleSelection(clipPos(cm.doc, pos), clipPos(cm.doc, changeEnd(change))));\n })();\n }\n };\n var readTextFromFile = function (file, i) {\n if (cm.options.allowDropFileTypes &&\n indexOf(cm.options.allowDropFileTypes, file.type) == -1) {\n markAsReadAndPasteIfAllFilesAreRead();\n return\n }\n var reader = new FileReader;\n reader.onerror = function () { return markAsReadAndPasteIfAllFilesAreRead(); };\n reader.onload = function () {\n var content = reader.result;\n if (/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(content)) {\n markAsReadAndPasteIfAllFilesAreRead();\n return\n }\n text[i] = content;\n markAsReadAndPasteIfAllFilesAreRead();\n };\n reader.readAsText(file);\n };\n for (var i = 0; i < files.length; i++) { readTextFromFile(files[i], i); }\n } else { // Normal drop\n // Don't do a replace if the drop happened inside of the selected text.\n if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) {\n cm.state.draggingText(e);\n // Ensure the editor is re-focused\n setTimeout(function () { return cm.display.input.focus(); }, 20);\n return\n }\n try {\n var text$1 = e.dataTransfer.getData(\"Text\");\n if (text$1) {\n var selected;\n if (cm.state.draggingText && !cm.state.draggingText.copy)\n { selected = cm.listSelections(); }\n setSelectionNoUndo(cm.doc, simpleSelection(pos, pos));\n if (selected) { for (var i$1 = 0; i$1 < selected.length; ++i$1)\n { replaceRange(cm.doc, \"\", selected[i$1].anchor, selected[i$1].head, \"drag\"); } }\n cm.replaceSelection(text$1, \"around\", \"paste\");\n cm.display.input.focus();\n }\n }\n catch(e$1){}\n }\n }\n\n function onDragStart(cm, e) {\n if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return }\n if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) { return }\n\n e.dataTransfer.setData(\"Text\", cm.getSelection());\n e.dataTransfer.effectAllowed = \"copyMove\";\n\n // Use dummy image instead of default browsers image.\n // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there.\n if (e.dataTransfer.setDragImage && !safari) {\n var img = elt(\"img\", null, null, \"position: fixed; left: 0; top: 0;\");\n img.src = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n if (presto) {\n img.width = img.height = 1;\n cm.display.wrapper.appendChild(img);\n // Force a relayout, or Opera won't use our image for some obscure reason\n img._top = img.offsetTop;\n }\n e.dataTransfer.setDragImage(img, 0, 0);\n if (presto) { img.parentNode.removeChild(img); }\n }\n }\n\n function onDragOver(cm, e) {\n var pos = posFromMouse(cm, e);\n if (!pos) { return }\n var frag = document.createDocumentFragment();\n drawSelectionCursor(cm, pos, frag);\n if (!cm.display.dragCursor) {\n cm.display.dragCursor = elt(\"div\", null, \"CodeMirror-cursors CodeMirror-dragcursors\");\n cm.display.lineSpace.insertBefore(cm.display.dragCursor, cm.display.cursorDiv);\n }\n removeChildrenAndAdd(cm.display.dragCursor, frag);\n }\n\n function clearDragCursor(cm) {\n if (cm.display.dragCursor) {\n cm.display.lineSpace.removeChild(cm.display.dragCursor);\n cm.display.dragCursor = null;\n }\n }\n\n // These must be handled carefully, because naively registering a\n // handler for each editor will cause the editors to never be\n // garbage collected.\n\n function forEachCodeMirror(f) {\n if (!document.getElementsByClassName) { return }\n var byClass = document.getElementsByClassName(\"CodeMirror\"), editors = [];\n for (var i = 0; i < byClass.length; i++) {\n var cm = byClass[i].CodeMirror;\n if (cm) { editors.push(cm); }\n }\n if (editors.length) { editors[0].operation(function () {\n for (var i = 0; i < editors.length; i++) { f(editors[i]); }\n }); }\n }\n\n var globalsRegistered = false;\n function ensureGlobalHandlers() {\n if (globalsRegistered) { return }\n registerGlobalHandlers();\n globalsRegistered = true;\n }\n function registerGlobalHandlers() {\n // When the window resizes, we need to refresh active editors.\n var resizeTimer;\n on(window, \"resize\", function () {\n if (resizeTimer == null) { resizeTimer = setTimeout(function () {\n resizeTimer = null;\n forEachCodeMirror(onResize);\n }, 100); }\n });\n // When the window loses focus, we want to show the editor as blurred\n on(window, \"blur\", function () { return forEachCodeMirror(onBlur); });\n }\n // Called when the window resizes\n function onResize(cm) {\n var d = cm.display;\n // Might be a text scaling operation, clear size caches.\n d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null;\n d.scrollbarsClipped = false;\n cm.setSize();\n }\n\n var keyNames = {\n 3: \"Pause\", 8: \"Backspace\", 9: \"Tab\", 13: \"Enter\", 16: \"Shift\", 17: \"Ctrl\", 18: \"Alt\",\n 19: \"Pause\", 20: \"CapsLock\", 27: \"Esc\", 32: \"Space\", 33: \"PageUp\", 34: \"PageDown\", 35: \"End\",\n 36: \"Home\", 37: \"Left\", 38: \"Up\", 39: \"Right\", 40: \"Down\", 44: \"PrintScrn\", 45: \"Insert\",\n 46: \"Delete\", 59: \";\", 61: \"=\", 91: \"Mod\", 92: \"Mod\", 93: \"Mod\",\n 106: \"*\", 107: \"=\", 109: \"-\", 110: \".\", 111: \"/\", 145: \"ScrollLock\",\n 173: \"-\", 186: \";\", 187: \"=\", 188: \",\", 189: \"-\", 190: \".\", 191: \"/\", 192: \"`\", 219: \"[\", 220: \"\\\\\",\n 221: \"]\", 222: \"'\", 224: \"Mod\", 63232: \"Up\", 63233: \"Down\", 63234: \"Left\", 63235: \"Right\", 63272: \"Delete\",\n 63273: \"Home\", 63275: \"End\", 63276: \"PageUp\", 63277: \"PageDown\", 63302: \"Insert\"\n };\n\n // Number keys\n for (var i = 0; i < 10; i++) { keyNames[i + 48] = keyNames[i + 96] = String(i); }\n // Alphabetic keys\n for (var i$1 = 65; i$1 <= 90; i$1++) { keyNames[i$1] = String.fromCharCode(i$1); }\n // Function keys\n for (var i$2 = 1; i$2 <= 12; i$2++) { keyNames[i$2 + 111] = keyNames[i$2 + 63235] = \"F\" + i$2; }\n\n var keyMap = {};\n\n keyMap.basic = {\n \"Left\": \"goCharLeft\", \"Right\": \"goCharRight\", \"Up\": \"goLineUp\", \"Down\": \"goLineDown\",\n \"End\": \"goLineEnd\", \"Home\": \"goLineStartSmart\", \"PageUp\": \"goPageUp\", \"PageDown\": \"goPageDown\",\n \"Delete\": \"delCharAfter\", \"Backspace\": \"delCharBefore\", \"Shift-Backspace\": \"delCharBefore\",\n \"Tab\": \"defaultTab\", \"Shift-Tab\": \"indentAuto\",\n \"Enter\": \"newlineAndIndent\", \"Insert\": \"toggleOverwrite\",\n \"Esc\": \"singleSelection\"\n };\n // Note that the save and find-related commands aren't defined by\n // default. User code or addons can define them. Unknown commands\n // are simply ignored.\n keyMap.pcDefault = {\n \"Ctrl-A\": \"selectAll\", \"Ctrl-D\": \"deleteLine\", \"Ctrl-Z\": \"undo\", \"Shift-Ctrl-Z\": \"redo\", \"Ctrl-Y\": \"redo\",\n \"Ctrl-Home\": \"goDocStart\", \"Ctrl-End\": \"goDocEnd\", \"Ctrl-Up\": \"goLineUp\", \"Ctrl-Down\": \"goLineDown\",\n \"Ctrl-Left\": \"goGroupLeft\", \"Ctrl-Right\": \"goGroupRight\", \"Alt-Left\": \"goLineStart\", \"Alt-Right\": \"goLineEnd\",\n \"Ctrl-Backspace\": \"delGroupBefore\", \"Ctrl-Delete\": \"delGroupAfter\", \"Ctrl-S\": \"save\", \"Ctrl-F\": \"find\",\n \"Ctrl-G\": \"findNext\", \"Shift-Ctrl-G\": \"findPrev\", \"Shift-Ctrl-F\": \"replace\", \"Shift-Ctrl-R\": \"replaceAll\",\n \"Ctrl-[\": \"indentLess\", \"Ctrl-]\": \"indentMore\",\n \"Ctrl-U\": \"undoSelection\", \"Shift-Ctrl-U\": \"redoSelection\", \"Alt-U\": \"redoSelection\",\n \"fallthrough\": \"basic\"\n };\n // Very basic readline/emacs-style bindings, which are standard on Mac.\n keyMap.emacsy = {\n \"Ctrl-F\": \"goCharRight\", \"Ctrl-B\": \"goCharLeft\", \"Ctrl-P\": \"goLineUp\", \"Ctrl-N\": \"goLineDown\",\n \"Ctrl-A\": \"goLineStart\", \"Ctrl-E\": \"goLineEnd\", \"Ctrl-V\": \"goPageDown\", \"Shift-Ctrl-V\": \"goPageUp\",\n \"Ctrl-D\": \"delCharAfter\", \"Ctrl-H\": \"delCharBefore\", \"Alt-Backspace\": \"delWordBefore\", \"Ctrl-K\": \"killLine\",\n \"Ctrl-T\": \"transposeChars\", \"Ctrl-O\": \"openLine\"\n };\n keyMap.macDefault = {\n \"Cmd-A\": \"selectAll\", \"Cmd-D\": \"deleteLine\", \"Cmd-Z\": \"undo\", \"Shift-Cmd-Z\": \"redo\", \"Cmd-Y\": \"redo\",\n \"Cmd-Home\": \"goDocStart\", \"Cmd-Up\": \"goDocStart\", \"Cmd-End\": \"goDocEnd\", \"Cmd-Down\": \"goDocEnd\", \"Alt-Left\": \"goGroupLeft\",\n \"Alt-Right\": \"goGroupRight\", \"Cmd-Left\": \"goLineLeft\", \"Cmd-Right\": \"goLineRight\", \"Alt-Backspace\": \"delGroupBefore\",\n \"Ctrl-Alt-Backspace\": \"delGroupAfter\", \"Alt-Delete\": \"delGroupAfter\", \"Cmd-S\": \"save\", \"Cmd-F\": \"find\",\n \"Cmd-G\": \"findNext\", \"Shift-Cmd-G\": \"findPrev\", \"Cmd-Alt-F\": \"replace\", \"Shift-Cmd-Alt-F\": \"replaceAll\",\n \"Cmd-[\": \"indentLess\", \"Cmd-]\": \"indentMore\", \"Cmd-Backspace\": \"delWrappedLineLeft\", \"Cmd-Delete\": \"delWrappedLineRight\",\n \"Cmd-U\": \"undoSelection\", \"Shift-Cmd-U\": \"redoSelection\", \"Ctrl-Up\": \"goDocStart\", \"Ctrl-Down\": \"goDocEnd\",\n \"fallthrough\": [\"basic\", \"emacsy\"]\n };\n keyMap[\"default\"] = mac ? keyMap.macDefault : keyMap.pcDefault;\n\n // KEYMAP DISPATCH\n\n function normalizeKeyName(name) {\n var parts = name.split(/-(?!$)/);\n name = parts[parts.length - 1];\n var alt, ctrl, shift, cmd;\n for (var i = 0; i < parts.length - 1; i++) {\n var mod = parts[i];\n if (/^(cmd|meta|m)$/i.test(mod)) { cmd = true; }\n else if (/^a(lt)?$/i.test(mod)) { alt = true; }\n else if (/^(c|ctrl|control)$/i.test(mod)) { ctrl = true; }\n else if (/^s(hift)?$/i.test(mod)) { shift = true; }\n else { throw new Error(\"Unrecognized modifier name: \" + mod) }\n }\n if (alt) { name = \"Alt-\" + name; }\n if (ctrl) { name = \"Ctrl-\" + name; }\n if (cmd) { name = \"Cmd-\" + name; }\n if (shift) { name = \"Shift-\" + name; }\n return name\n }\n\n // This is a kludge to keep keymaps mostly working as raw objects\n // (backwards compatibility) while at the same time support features\n // like normalization and multi-stroke key bindings. It compiles a\n // new normalized keymap, and then updates the old object to reflect\n // this.\n function normalizeKeyMap(keymap) {\n var copy = {};\n for (var keyname in keymap) { if (keymap.hasOwnProperty(keyname)) {\n var value = keymap[keyname];\n if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) { continue }\n if (value == \"...\") { delete keymap[keyname]; continue }\n\n var keys = map(keyname.split(\" \"), normalizeKeyName);\n for (var i = 0; i < keys.length; i++) {\n var val = (void 0), name = (void 0);\n if (i == keys.length - 1) {\n name = keys.join(\" \");\n val = value;\n } else {\n name = keys.slice(0, i + 1).join(\" \");\n val = \"...\";\n }\n var prev = copy[name];\n if (!prev) { copy[name] = val; }\n else if (prev != val) { throw new Error(\"Inconsistent bindings for \" + name) }\n }\n delete keymap[keyname];\n } }\n for (var prop in copy) { keymap[prop] = copy[prop]; }\n return keymap\n }\n\n function lookupKey(key, map, handle, context) {\n map = getKeyMap(map);\n var found = map.call ? map.call(key, context) : map[key];\n if (found === false) { return \"nothing\" }\n if (found === \"...\") { return \"multi\" }\n if (found != null && handle(found)) { return \"handled\" }\n\n if (map.fallthrough) {\n if (Object.prototype.toString.call(map.fallthrough) != \"[object Array]\")\n { return lookupKey(key, map.fallthrough, handle, context) }\n for (var i = 0; i < map.fallthrough.length; i++) {\n var result = lookupKey(key, map.fallthrough[i], handle, context);\n if (result) { return result }\n }\n }\n }\n\n // Modifier key presses don't count as 'real' key presses for the\n // purpose of keymap fallthrough.\n function isModifierKey(value) {\n var name = typeof value == \"string\" ? value : keyNames[value.keyCode];\n return name == \"Ctrl\" || name == \"Alt\" || name == \"Shift\" || name == \"Mod\"\n }\n\n function addModifierNames(name, event, noShift) {\n var base = name;\n if (event.altKey && base != \"Alt\") { name = \"Alt-\" + name; }\n if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != \"Ctrl\") { name = \"Ctrl-\" + name; }\n if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != \"Mod\") { name = \"Cmd-\" + name; }\n if (!noShift && event.shiftKey && base != \"Shift\") { name = \"Shift-\" + name; }\n return name\n }\n\n // Look up the name of a key as indicated by an event object.\n function keyName(event, noShift) {\n if (presto && event.keyCode == 34 && event[\"char\"]) { return false }\n var name = keyNames[event.keyCode];\n if (name == null || event.altGraphKey) { return false }\n // Ctrl-ScrollLock has keyCode 3, same as Ctrl-Pause,\n // so we'll use event.code when available (Chrome 48+, FF 38+, Safari 10.1+)\n if (event.keyCode == 3 && event.code) { name = event.code; }\n return addModifierNames(name, event, noShift)\n }\n\n function getKeyMap(val) {\n return typeof val == \"string\" ? keyMap[val] : val\n }\n\n // Helper for deleting text near the selection(s), used to implement\n // backspace, delete, and similar functionality.\n function deleteNearSelection(cm, compute) {\n var ranges = cm.doc.sel.ranges, kill = [];\n // Build up a set of ranges to kill first, merging overlapping\n // ranges.\n for (var i = 0; i < ranges.length; i++) {\n var toKill = compute(ranges[i]);\n while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) {\n var replaced = kill.pop();\n if (cmp(replaced.from, toKill.from) < 0) {\n toKill.from = replaced.from;\n break\n }\n }\n kill.push(toKill);\n }\n // Next, remove those actual ranges.\n runInOp(cm, function () {\n for (var i = kill.length - 1; i >= 0; i--)\n { replaceRange(cm.doc, \"\", kill[i].from, kill[i].to, \"+delete\"); }\n ensureCursorVisible(cm);\n });\n }\n\n function moveCharLogically(line, ch, dir) {\n var target = skipExtendingChars(line.text, ch + dir, dir);\n return target < 0 || target > line.text.length ? null : target\n }\n\n function moveLogically(line, start, dir) {\n var ch = moveCharLogically(line, start.ch, dir);\n return ch == null ? null : new Pos(start.line, ch, dir < 0 ? \"after\" : \"before\")\n }\n\n function endOfLine(visually, cm, lineObj, lineNo, dir) {\n if (visually) {\n if (cm.doc.direction == \"rtl\") { dir = -dir; }\n var order = getOrder(lineObj, cm.doc.direction);\n if (order) {\n var part = dir < 0 ? lst(order) : order[0];\n var moveInStorageOrder = (dir < 0) == (part.level == 1);\n var sticky = moveInStorageOrder ? \"after\" : \"before\";\n var ch;\n // With a wrapped rtl chunk (possibly spanning multiple bidi parts),\n // it could be that the last bidi part is not on the last visual line,\n // since visual lines contain content order-consecutive chunks.\n // Thus, in rtl, we are looking for the first (content-order) character\n // in the rtl chunk that is on the last line (that is, the same line\n // as the last (content-order) character).\n if (part.level > 0 || cm.doc.direction == \"rtl\") {\n var prep = prepareMeasureForLine(cm, lineObj);\n ch = dir < 0 ? lineObj.text.length - 1 : 0;\n var targetTop = measureCharPrepared(cm, prep, ch).top;\n ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch);\n if (sticky == \"before\") { ch = moveCharLogically(lineObj, ch, 1); }\n } else { ch = dir < 0 ? part.to : part.from; }\n return new Pos(lineNo, ch, sticky)\n }\n }\n return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? \"before\" : \"after\")\n }\n\n function moveVisually(cm, line, start, dir) {\n var bidi = getOrder(line, cm.doc.direction);\n if (!bidi) { return moveLogically(line, start, dir) }\n if (start.ch >= line.text.length) {\n start.ch = line.text.length;\n start.sticky = \"before\";\n } else if (start.ch <= 0) {\n start.ch = 0;\n start.sticky = \"after\";\n }\n var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos];\n if (cm.doc.direction == \"ltr\" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) {\n // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines,\n // nothing interesting happens.\n return moveLogically(line, start, dir)\n }\n\n var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); };\n var prep;\n var getWrappedLineExtent = function (ch) {\n if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} }\n prep = prep || prepareMeasureForLine(cm, line);\n return wrappedLineExtentChar(cm, line, prep, ch)\n };\n var wrappedLineExtent = getWrappedLineExtent(start.sticky == \"before\" ? mv(start, -1) : start.ch);\n\n if (cm.doc.direction == \"rtl\" || part.level == 1) {\n var moveInStorageOrder = (part.level == 1) == (dir < 0);\n var ch = mv(start, moveInStorageOrder ? 1 : -1);\n if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) {\n // Case 2: We move within an rtl part or in an rtl editor on the same visual line\n var sticky = moveInStorageOrder ? \"before\" : \"after\";\n return new Pos(start.line, ch, sticky)\n }\n }\n\n // Case 3: Could not move within this bidi part in this visual line, so leave\n // the current bidi part\n\n var searchInVisualLine = function (partPos, dir, wrappedLineExtent) {\n var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder\n ? new Pos(start.line, mv(ch, 1), \"before\")\n : new Pos(start.line, ch, \"after\"); };\n\n for (; partPos >= 0 && partPos < bidi.length; partPos += dir) {\n var part = bidi[partPos];\n var moveInStorageOrder = (dir > 0) == (part.level != 1);\n var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1);\n if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) }\n ch = moveInStorageOrder ? part.from : mv(part.to, -1);\n if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) }\n }\n };\n\n // Case 3a: Look for other bidi parts on the same visual line\n var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent);\n if (res) { return res }\n\n // Case 3b: Look for other bidi parts on the next visual line\n var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1);\n if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) {\n res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh));\n if (res) { return res }\n }\n\n // Case 4: Nowhere to move\n return null\n }\n\n // Commands are parameter-less actions that can be performed on an\n // editor, mostly used for keybindings.\n var commands = {\n selectAll: selectAll,\n singleSelection: function (cm) { return cm.setSelection(cm.getCursor(\"anchor\"), cm.getCursor(\"head\"), sel_dontScroll); },\n killLine: function (cm) { return deleteNearSelection(cm, function (range) {\n if (range.empty()) {\n var len = getLine(cm.doc, range.head.line).text.length;\n if (range.head.ch == len && range.head.line < cm.lastLine())\n { return {from: range.head, to: Pos(range.head.line + 1, 0)} }\n else\n { return {from: range.head, to: Pos(range.head.line, len)} }\n } else {\n return {from: range.from(), to: range.to()}\n }\n }); },\n deleteLine: function (cm) { return deleteNearSelection(cm, function (range) { return ({\n from: Pos(range.from().line, 0),\n to: clipPos(cm.doc, Pos(range.to().line + 1, 0))\n }); }); },\n delLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { return ({\n from: Pos(range.from().line, 0), to: range.from()\n }); }); },\n delWrappedLineLeft: function (cm) { return deleteNearSelection(cm, function (range) {\n var top = cm.charCoords(range.head, \"div\").top + 5;\n var leftPos = cm.coordsChar({left: 0, top: top}, \"div\");\n return {from: leftPos, to: range.from()}\n }); },\n delWrappedLineRight: function (cm) { return deleteNearSelection(cm, function (range) {\n var top = cm.charCoords(range.head, \"div\").top + 5;\n var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, \"div\");\n return {from: range.from(), to: rightPos }\n }); },\n undo: function (cm) { return cm.undo(); },\n redo: function (cm) { return cm.redo(); },\n undoSelection: function (cm) { return cm.undoSelection(); },\n redoSelection: function (cm) { return cm.redoSelection(); },\n goDocStart: function (cm) { return cm.extendSelection(Pos(cm.firstLine(), 0)); },\n goDocEnd: function (cm) { return cm.extendSelection(Pos(cm.lastLine())); },\n goLineStart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStart(cm, range.head.line); },\n {origin: \"+move\", bias: 1}\n ); },\n goLineStartSmart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStartSmart(cm, range.head); },\n {origin: \"+move\", bias: 1}\n ); },\n goLineEnd: function (cm) { return cm.extendSelectionsBy(function (range) { return lineEnd(cm, range.head.line); },\n {origin: \"+move\", bias: -1}\n ); },\n goLineRight: function (cm) { return cm.extendSelectionsBy(function (range) {\n var top = cm.cursorCoords(range.head, \"div\").top + 5;\n return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, \"div\")\n }, sel_move); },\n goLineLeft: function (cm) { return cm.extendSelectionsBy(function (range) {\n var top = cm.cursorCoords(range.head, \"div\").top + 5;\n return cm.coordsChar({left: 0, top: top}, \"div\")\n }, sel_move); },\n goLineLeftSmart: function (cm) { return cm.extendSelectionsBy(function (range) {\n var top = cm.cursorCoords(range.head, \"div\").top + 5;\n var pos = cm.coordsChar({left: 0, top: top}, \"div\");\n if (pos.ch < cm.getLine(pos.line).search(/\\S/)) { return lineStartSmart(cm, range.head) }\n return pos\n }, sel_move); },\n goLineUp: function (cm) { return cm.moveV(-1, \"line\"); },\n goLineDown: function (cm) { return cm.moveV(1, \"line\"); },\n goPageUp: function (cm) { return cm.moveV(-1, \"page\"); },\n goPageDown: function (cm) { return cm.moveV(1, \"page\"); },\n goCharLeft: function (cm) { return cm.moveH(-1, \"char\"); },\n goCharRight: function (cm) { return cm.moveH(1, \"char\"); },\n goColumnLeft: function (cm) { return cm.moveH(-1, \"column\"); },\n goColumnRight: function (cm) { return cm.moveH(1, \"column\"); },\n goWordLeft: function (cm) { return cm.moveH(-1, \"word\"); },\n goGroupRight: function (cm) { return cm.moveH(1, \"group\"); },\n goGroupLeft: function (cm) { return cm.moveH(-1, \"group\"); },\n goWordRight: function (cm) { return cm.moveH(1, \"word\"); },\n delCharBefore: function (cm) { return cm.deleteH(-1, \"codepoint\"); },\n delCharAfter: function (cm) { return cm.deleteH(1, \"char\"); },\n delWordBefore: function (cm) { return cm.deleteH(-1, \"word\"); },\n delWordAfter: function (cm) { return cm.deleteH(1, \"word\"); },\n delGroupBefore: function (cm) { return cm.deleteH(-1, \"group\"); },\n delGroupAfter: function (cm) { return cm.deleteH(1, \"group\"); },\n indentAuto: function (cm) { return cm.indentSelection(\"smart\"); },\n indentMore: function (cm) { return cm.indentSelection(\"add\"); },\n indentLess: function (cm) { return cm.indentSelection(\"subtract\"); },\n insertTab: function (cm) { return cm.replaceSelection(\"\\t\"); },\n insertSoftTab: function (cm) {\n var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize;\n for (var i = 0; i < ranges.length; i++) {\n var pos = ranges[i].from();\n var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize);\n spaces.push(spaceStr(tabSize - col % tabSize));\n }\n cm.replaceSelections(spaces);\n },\n defaultTab: function (cm) {\n if (cm.somethingSelected()) { cm.indentSelection(\"add\"); }\n else { cm.execCommand(\"insertTab\"); }\n },\n // Swap the two chars left and right of each selection's head.\n // Move cursor behind the two swapped characters afterwards.\n //\n // Doesn't consider line feeds a character.\n // Doesn't scan more than one line above to find a character.\n // Doesn't do anything on an empty line.\n // Doesn't do anything with non-empty selections.\n transposeChars: function (cm) { return runInOp(cm, function () {\n var ranges = cm.listSelections(), newSel = [];\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) { continue }\n var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text;\n if (line) {\n if (cur.ch == line.length) { cur = new Pos(cur.line, cur.ch - 1); }\n if (cur.ch > 0) {\n cur = new Pos(cur.line, cur.ch + 1);\n cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2),\n Pos(cur.line, cur.ch - 2), cur, \"+transpose\");\n } else if (cur.line > cm.doc.first) {\n var prev = getLine(cm.doc, cur.line - 1).text;\n if (prev) {\n cur = new Pos(cur.line, 1);\n cm.replaceRange(line.charAt(0) + cm.doc.lineSeparator() +\n prev.charAt(prev.length - 1),\n Pos(cur.line - 1, prev.length - 1), cur, \"+transpose\");\n }\n }\n }\n newSel.push(new Range(cur, cur));\n }\n cm.setSelections(newSel);\n }); },\n newlineAndIndent: function (cm) { return runInOp(cm, function () {\n var sels = cm.listSelections();\n for (var i = sels.length - 1; i >= 0; i--)\n { cm.replaceRange(cm.doc.lineSeparator(), sels[i].anchor, sels[i].head, \"+input\"); }\n sels = cm.listSelections();\n for (var i$1 = 0; i$1 < sels.length; i$1++)\n { cm.indentLine(sels[i$1].from().line, null, true); }\n ensureCursorVisible(cm);\n }); },\n openLine: function (cm) { return cm.replaceSelection(\"\\n\", \"start\"); },\n toggleOverwrite: function (cm) { return cm.toggleOverwrite(); }\n };\n\n\n function lineStart(cm, lineN) {\n var line = getLine(cm.doc, lineN);\n var visual = visualLine(line);\n if (visual != line) { lineN = lineNo(visual); }\n return endOfLine(true, cm, visual, lineN, 1)\n }\n function lineEnd(cm, lineN) {\n var line = getLine(cm.doc, lineN);\n var visual = visualLineEnd(line);\n if (visual != line) { lineN = lineNo(visual); }\n return endOfLine(true, cm, line, lineN, -1)\n }\n function lineStartSmart(cm, pos) {\n var start = lineStart(cm, pos.line);\n var line = getLine(cm.doc, start.line);\n var order = getOrder(line, cm.doc.direction);\n if (!order || order[0].level == 0) {\n var firstNonWS = Math.max(start.ch, line.text.search(/\\S/));\n var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch;\n return Pos(start.line, inWS ? 0 : firstNonWS, start.sticky)\n }\n return start\n }\n\n // Run a handler that was bound to a key.\n function doHandleBinding(cm, bound, dropShift) {\n if (typeof bound == \"string\") {\n bound = commands[bound];\n if (!bound) { return false }\n }\n // Ensure previous input has been read, so that the handler sees a\n // consistent view of the document\n cm.display.input.ensurePolled();\n var prevShift = cm.display.shift, done = false;\n try {\n if (cm.isReadOnly()) { cm.state.suppressEdits = true; }\n if (dropShift) { cm.display.shift = false; }\n done = bound(cm) != Pass;\n } finally {\n cm.display.shift = prevShift;\n cm.state.suppressEdits = false;\n }\n return done\n }\n\n function lookupKeyForEditor(cm, name, handle) {\n for (var i = 0; i < cm.state.keyMaps.length; i++) {\n var result = lookupKey(name, cm.state.keyMaps[i], handle, cm);\n if (result) { return result }\n }\n return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm))\n || lookupKey(name, cm.options.keyMap, handle, cm)\n }\n\n // Note that, despite the name, this function is also used to check\n // for bound mouse clicks.\n\n var stopSeq = new Delayed;\n\n function dispatchKey(cm, name, e, handle) {\n var seq = cm.state.keySeq;\n if (seq) {\n if (isModifierKey(name)) { return \"handled\" }\n if (/\\'$/.test(name))\n { cm.state.keySeq = null; }\n else\n { stopSeq.set(50, function () {\n if (cm.state.keySeq == seq) {\n cm.state.keySeq = null;\n cm.display.input.reset();\n }\n }); }\n if (dispatchKeyInner(cm, seq + \" \" + name, e, handle)) { return true }\n }\n return dispatchKeyInner(cm, name, e, handle)\n }\n\n function dispatchKeyInner(cm, name, e, handle) {\n var result = lookupKeyForEditor(cm, name, handle);\n\n if (result == \"multi\")\n { cm.state.keySeq = name; }\n if (result == \"handled\")\n { signalLater(cm, \"keyHandled\", cm, name, e); }\n\n if (result == \"handled\" || result == \"multi\") {\n e_preventDefault(e);\n restartBlink(cm);\n }\n\n return !!result\n }\n\n // Handle a key from the keydown event.\n function handleKeyBinding(cm, e) {\n var name = keyName(e, true);\n if (!name) { return false }\n\n if (e.shiftKey && !cm.state.keySeq) {\n // First try to resolve full name (including 'Shift-'). Failing\n // that, see if there is a cursor-motion command (starting with\n // 'go') bound to the keyname without 'Shift-'.\n return dispatchKey(cm, \"Shift-\" + name, e, function (b) { return doHandleBinding(cm, b, true); })\n || dispatchKey(cm, name, e, function (b) {\n if (typeof b == \"string\" ? /^go[A-Z]/.test(b) : b.motion)\n { return doHandleBinding(cm, b) }\n })\n } else {\n return dispatchKey(cm, name, e, function (b) { return doHandleBinding(cm, b); })\n }\n }\n\n // Handle a key from the keypress event\n function handleCharBinding(cm, e, ch) {\n return dispatchKey(cm, \"'\" + ch + \"'\", e, function (b) { return doHandleBinding(cm, b, true); })\n }\n\n var lastStoppedKey = null;\n function onKeyDown(e) {\n var cm = this;\n if (e.target && e.target != cm.display.input.getField()) { return }\n cm.curOp.focus = activeElt();\n if (signalDOMEvent(cm, e)) { return }\n // IE does strange things with escape.\n if (ie && ie_version < 11 && e.keyCode == 27) { e.returnValue = false; }\n var code = e.keyCode;\n cm.display.shift = code == 16 || e.shiftKey;\n var handled = handleKeyBinding(cm, e);\n if (presto) {\n lastStoppedKey = handled ? code : null;\n // Opera has no cut event... we try to at least catch the key combo\n if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey))\n { cm.replaceSelection(\"\", null, \"cut\"); }\n }\n if (gecko && !mac && !handled && code == 46 && e.shiftKey && !e.ctrlKey && document.execCommand)\n { document.execCommand(\"cut\"); }\n\n // Turn mouse into crosshair when Alt is held on Mac.\n if (code == 18 && !/\\bCodeMirror-crosshair\\b/.test(cm.display.lineDiv.className))\n { showCrossHair(cm); }\n }\n\n function showCrossHair(cm) {\n var lineDiv = cm.display.lineDiv;\n addClass(lineDiv, \"CodeMirror-crosshair\");\n\n function up(e) {\n if (e.keyCode == 18 || !e.altKey) {\n rmClass(lineDiv, \"CodeMirror-crosshair\");\n off(document, \"keyup\", up);\n off(document, \"mouseover\", up);\n }\n }\n on(document, \"keyup\", up);\n on(document, \"mouseover\", up);\n }\n\n function onKeyUp(e) {\n if (e.keyCode == 16) { this.doc.sel.shift = false; }\n signalDOMEvent(this, e);\n }\n\n function onKeyPress(e) {\n var cm = this;\n if (e.target && e.target != cm.display.input.getField()) { return }\n if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) { return }\n var keyCode = e.keyCode, charCode = e.charCode;\n if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return}\n if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) { return }\n var ch = String.fromCharCode(charCode == null ? keyCode : charCode);\n // Some browsers fire keypress events for backspace\n if (ch == \"\\x08\") { return }\n if (handleCharBinding(cm, e, ch)) { return }\n cm.display.input.onKeyPress(e);\n }\n\n var DOUBLECLICK_DELAY = 400;\n\n var PastClick = function(time, pos, button) {\n this.time = time;\n this.pos = pos;\n this.button = button;\n };\n\n PastClick.prototype.compare = function (time, pos, button) {\n return this.time + DOUBLECLICK_DELAY > time &&\n cmp(pos, this.pos) == 0 && button == this.button\n };\n\n var lastClick, lastDoubleClick;\n function clickRepeat(pos, button) {\n var now = +new Date;\n if (lastDoubleClick && lastDoubleClick.compare(now, pos, button)) {\n lastClick = lastDoubleClick = null;\n return \"triple\"\n } else if (lastClick && lastClick.compare(now, pos, button)) {\n lastDoubleClick = new PastClick(now, pos, button);\n lastClick = null;\n return \"double\"\n } else {\n lastClick = new PastClick(now, pos, button);\n lastDoubleClick = null;\n return \"single\"\n }\n }\n\n // A mouse down can be a single click, double click, triple click,\n // start of selection drag, start of text drag, new cursor\n // (ctrl-click), rectangle drag (alt-drag), or xwin\n // middle-click-paste. Or it might be a click on something we should\n // not interfere with, such as a scrollbar or widget.\n function onMouseDown(e) {\n var cm = this, display = cm.display;\n if (signalDOMEvent(cm, e) || display.activeTouch && display.input.supportsTouch()) { return }\n display.input.ensurePolled();\n display.shift = e.shiftKey;\n\n if (eventInWidget(display, e)) {\n if (!webkit) {\n // Briefly turn off draggability, to allow widgets to do\n // normal dragging things.\n display.scroller.draggable = false;\n setTimeout(function () { return display.scroller.draggable = true; }, 100);\n }\n return\n }\n if (clickInGutter(cm, e)) { return }\n var pos = posFromMouse(cm, e), button = e_button(e), repeat = pos ? clickRepeat(pos, button) : \"single\";\n window.focus();\n\n // #3261: make sure, that we're not starting a second selection\n if (button == 1 && cm.state.selectingText)\n { cm.state.selectingText(e); }\n\n if (pos && handleMappedButton(cm, button, pos, repeat, e)) { return }\n\n if (button == 1) {\n if (pos) { leftButtonDown(cm, pos, repeat, e); }\n else if (e_target(e) == display.scroller) { e_preventDefault(e); }\n } else if (button == 2) {\n if (pos) { extendSelection(cm.doc, pos); }\n setTimeout(function () { return display.input.focus(); }, 20);\n } else if (button == 3) {\n if (captureRightClick) { cm.display.input.onContextMenu(e); }\n else { delayBlurEvent(cm); }\n }\n }\n\n function handleMappedButton(cm, button, pos, repeat, event) {\n var name = \"Click\";\n if (repeat == \"double\") { name = \"Double\" + name; }\n else if (repeat == \"triple\") { name = \"Triple\" + name; }\n name = (button == 1 ? \"Left\" : button == 2 ? \"Middle\" : \"Right\") + name;\n\n return dispatchKey(cm, addModifierNames(name, event), event, function (bound) {\n if (typeof bound == \"string\") { bound = commands[bound]; }\n if (!bound) { return false }\n var done = false;\n try {\n if (cm.isReadOnly()) { cm.state.suppressEdits = true; }\n done = bound(cm, pos) != Pass;\n } finally {\n cm.state.suppressEdits = false;\n }\n return done\n })\n }\n\n function configureMouse(cm, repeat, event) {\n var option = cm.getOption(\"configureMouse\");\n var value = option ? option(cm, repeat, event) : {};\n if (value.unit == null) {\n var rect = chromeOS ? event.shiftKey && event.metaKey : event.altKey;\n value.unit = rect ? \"rectangle\" : repeat == \"single\" ? \"char\" : repeat == \"double\" ? \"word\" : \"line\";\n }\n if (value.extend == null || cm.doc.extend) { value.extend = cm.doc.extend || event.shiftKey; }\n if (value.addNew == null) { value.addNew = mac ? event.metaKey : event.ctrlKey; }\n if (value.moveOnDrag == null) { value.moveOnDrag = !(mac ? event.altKey : event.ctrlKey); }\n return value\n }\n\n function leftButtonDown(cm, pos, repeat, event) {\n if (ie) { setTimeout(bind(ensureFocus, cm), 0); }\n else { cm.curOp.focus = activeElt(); }\n\n var behavior = configureMouse(cm, repeat, event);\n\n var sel = cm.doc.sel, contained;\n if (cm.options.dragDrop && dragAndDrop && !cm.isReadOnly() &&\n repeat == \"single\" && (contained = sel.contains(pos)) > -1 &&\n (cmp((contained = sel.ranges[contained]).from(), pos) < 0 || pos.xRel > 0) &&\n (cmp(contained.to(), pos) > 0 || pos.xRel < 0))\n { leftButtonStartDrag(cm, event, pos, behavior); }\n else\n { leftButtonSelect(cm, event, pos, behavior); }\n }\n\n // Start a text drag. When it ends, see if any dragging actually\n // happen, and treat as a click if it didn't.\n function leftButtonStartDrag(cm, event, pos, behavior) {\n var display = cm.display, moved = false;\n var dragEnd = operation(cm, function (e) {\n if (webkit) { display.scroller.draggable = false; }\n cm.state.draggingText = false;\n if (cm.state.delayingBlurEvent) {\n if (cm.hasFocus()) { cm.state.delayingBlurEvent = false; }\n else { delayBlurEvent(cm); }\n }\n off(display.wrapper.ownerDocument, \"mouseup\", dragEnd);\n off(display.wrapper.ownerDocument, \"mousemove\", mouseMove);\n off(display.scroller, \"dragstart\", dragStart);\n off(display.scroller, \"drop\", dragEnd);\n if (!moved) {\n e_preventDefault(e);\n if (!behavior.addNew)\n { extendSelection(cm.doc, pos, null, null, behavior.extend); }\n // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081)\n if ((webkit && !safari) || ie && ie_version == 9)\n { setTimeout(function () {display.wrapper.ownerDocument.body.focus({preventScroll: true}); display.input.focus();}, 20); }\n else\n { display.input.focus(); }\n }\n });\n var mouseMove = function(e2) {\n moved = moved || Math.abs(event.clientX - e2.clientX) + Math.abs(event.clientY - e2.clientY) >= 10;\n };\n var dragStart = function () { return moved = true; };\n // Let the drag handler handle this.\n if (webkit) { display.scroller.draggable = true; }\n cm.state.draggingText = dragEnd;\n dragEnd.copy = !behavior.moveOnDrag;\n on(display.wrapper.ownerDocument, \"mouseup\", dragEnd);\n on(display.wrapper.ownerDocument, \"mousemove\", mouseMove);\n on(display.scroller, \"dragstart\", dragStart);\n on(display.scroller, \"drop\", dragEnd);\n\n cm.state.delayingBlurEvent = true;\n setTimeout(function () { return display.input.focus(); }, 20);\n // IE's approach to draggable\n if (display.scroller.dragDrop) { display.scroller.dragDrop(); }\n }\n\n function rangeForUnit(cm, pos, unit) {\n if (unit == \"char\") { return new Range(pos, pos) }\n if (unit == \"word\") { return cm.findWordAt(pos) }\n if (unit == \"line\") { return new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) }\n var result = unit(cm, pos);\n return new Range(result.from, result.to)\n }\n\n // Normal selection, as opposed to text dragging.\n function leftButtonSelect(cm, event, start, behavior) {\n if (ie) { delayBlurEvent(cm); }\n var display = cm.display, doc = cm.doc;\n e_preventDefault(event);\n\n var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges;\n if (behavior.addNew && !behavior.extend) {\n ourIndex = doc.sel.contains(start);\n if (ourIndex > -1)\n { ourRange = ranges[ourIndex]; }\n else\n { ourRange = new Range(start, start); }\n } else {\n ourRange = doc.sel.primary();\n ourIndex = doc.sel.primIndex;\n }\n\n if (behavior.unit == \"rectangle\") {\n if (!behavior.addNew) { ourRange = new Range(start, start); }\n start = posFromMouse(cm, event, true, true);\n ourIndex = -1;\n } else {\n var range = rangeForUnit(cm, start, behavior.unit);\n if (behavior.extend)\n { ourRange = extendRange(ourRange, range.anchor, range.head, behavior.extend); }\n else\n { ourRange = range; }\n }\n\n if (!behavior.addNew) {\n ourIndex = 0;\n setSelection(doc, new Selection([ourRange], 0), sel_mouse);\n startSel = doc.sel;\n } else if (ourIndex == -1) {\n ourIndex = ranges.length;\n setSelection(doc, normalizeSelection(cm, ranges.concat([ourRange]), ourIndex),\n {scroll: false, origin: \"*mouse\"});\n } else if (ranges.length > 1 && ranges[ourIndex].empty() && behavior.unit == \"char\" && !behavior.extend) {\n setSelection(doc, normalizeSelection(cm, ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0),\n {scroll: false, origin: \"*mouse\"});\n startSel = doc.sel;\n } else {\n replaceOneSelection(doc, ourIndex, ourRange, sel_mouse);\n }\n\n var lastPos = start;\n function extendTo(pos) {\n if (cmp(lastPos, pos) == 0) { return }\n lastPos = pos;\n\n if (behavior.unit == \"rectangle\") {\n var ranges = [], tabSize = cm.options.tabSize;\n var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize);\n var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize);\n var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol);\n for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line));\n line <= end; line++) {\n var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize);\n if (left == right)\n { ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))); }\n else if (text.length > leftPos)\n { ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))); }\n }\n if (!ranges.length) { ranges.push(new Range(start, start)); }\n setSelection(doc, normalizeSelection(cm, startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex),\n {origin: \"*mouse\", scroll: false});\n cm.scrollIntoView(pos);\n } else {\n var oldRange = ourRange;\n var range = rangeForUnit(cm, pos, behavior.unit);\n var anchor = oldRange.anchor, head;\n if (cmp(range.anchor, anchor) > 0) {\n head = range.head;\n anchor = minPos(oldRange.from(), range.anchor);\n } else {\n head = range.anchor;\n anchor = maxPos(oldRange.to(), range.head);\n }\n var ranges$1 = startSel.ranges.slice(0);\n ranges$1[ourIndex] = bidiSimplify(cm, new Range(clipPos(doc, anchor), head));\n setSelection(doc, normalizeSelection(cm, ranges$1, ourIndex), sel_mouse);\n }\n }\n\n var editorSize = display.wrapper.getBoundingClientRect();\n // Used to ensure timeout re-tries don't fire when another extend\n // happened in the meantime (clearTimeout isn't reliable -- at\n // least on Chrome, the timeouts still happen even when cleared,\n // if the clear happens after their scheduled firing time).\n var counter = 0;\n\n function extend(e) {\n var curCount = ++counter;\n var cur = posFromMouse(cm, e, true, behavior.unit == \"rectangle\");\n if (!cur) { return }\n if (cmp(cur, lastPos) != 0) {\n cm.curOp.focus = activeElt();\n extendTo(cur);\n var visible = visibleLines(display, doc);\n if (cur.line >= visible.to || cur.line < visible.from)\n { setTimeout(operation(cm, function () {if (counter == curCount) { extend(e); }}), 150); }\n } else {\n var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0;\n if (outside) { setTimeout(operation(cm, function () {\n if (counter != curCount) { return }\n display.scroller.scrollTop += outside;\n extend(e);\n }), 50); }\n }\n }\n\n function done(e) {\n cm.state.selectingText = false;\n counter = Infinity;\n // If e is null or undefined we interpret this as someone trying\n // to explicitly cancel the selection rather than the user\n // letting go of the mouse button.\n if (e) {\n e_preventDefault(e);\n display.input.focus();\n }\n off(display.wrapper.ownerDocument, \"mousemove\", move);\n off(display.wrapper.ownerDocument, \"mouseup\", up);\n doc.history.lastSelOrigin = null;\n }\n\n var move = operation(cm, function (e) {\n if (e.buttons === 0 || !e_button(e)) { done(e); }\n else { extend(e); }\n });\n var up = operation(cm, done);\n cm.state.selectingText = up;\n on(display.wrapper.ownerDocument, \"mousemove\", move);\n on(display.wrapper.ownerDocument, \"mouseup\", up);\n }\n\n // Used when mouse-selecting to adjust the anchor to the proper side\n // of a bidi jump depending on the visual position of the head.\n function bidiSimplify(cm, range) {\n var anchor = range.anchor;\n var head = range.head;\n var anchorLine = getLine(cm.doc, anchor.line);\n if (cmp(anchor, head) == 0 && anchor.sticky == head.sticky) { return range }\n var order = getOrder(anchorLine);\n if (!order) { return range }\n var index = getBidiPartAt(order, anchor.ch, anchor.sticky), part = order[index];\n if (part.from != anchor.ch && part.to != anchor.ch) { return range }\n var boundary = index + ((part.from == anchor.ch) == (part.level != 1) ? 0 : 1);\n if (boundary == 0 || boundary == order.length) { return range }\n\n // Compute the relative visual position of the head compared to the\n // anchor (<0 is to the left, >0 to the right)\n var leftSide;\n if (head.line != anchor.line) {\n leftSide = (head.line - anchor.line) * (cm.doc.direction == \"ltr\" ? 1 : -1) > 0;\n } else {\n var headIndex = getBidiPartAt(order, head.ch, head.sticky);\n var dir = headIndex - index || (head.ch - anchor.ch) * (part.level == 1 ? -1 : 1);\n if (headIndex == boundary - 1 || headIndex == boundary)\n { leftSide = dir < 0; }\n else\n { leftSide = dir > 0; }\n }\n\n var usePart = order[boundary + (leftSide ? -1 : 0)];\n var from = leftSide == (usePart.level == 1);\n var ch = from ? usePart.from : usePart.to, sticky = from ? \"after\" : \"before\";\n return anchor.ch == ch && anchor.sticky == sticky ? range : new Range(new Pos(anchor.line, ch, sticky), head)\n }\n\n\n // Determines whether an event happened in the gutter, and fires the\n // handlers for the corresponding event.\n function gutterEvent(cm, e, type, prevent) {\n var mX, mY;\n if (e.touches) {\n mX = e.touches[0].clientX;\n mY = e.touches[0].clientY;\n } else {\n try { mX = e.clientX; mY = e.clientY; }\n catch(e$1) { return false }\n }\n if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false }\n if (prevent) { e_preventDefault(e); }\n\n var display = cm.display;\n var lineBox = display.lineDiv.getBoundingClientRect();\n\n if (mY > lineBox.bottom || !hasHandler(cm, type)) { return e_defaultPrevented(e) }\n mY -= lineBox.top - display.viewOffset;\n\n for (var i = 0; i < cm.display.gutterSpecs.length; ++i) {\n var g = display.gutters.childNodes[i];\n if (g && g.getBoundingClientRect().right >= mX) {\n var line = lineAtHeight(cm.doc, mY);\n var gutter = cm.display.gutterSpecs[i];\n signal(cm, type, cm, line, gutter.className, e);\n return e_defaultPrevented(e)\n }\n }\n }\n\n function clickInGutter(cm, e) {\n return gutterEvent(cm, e, \"gutterClick\", true)\n }\n\n // CONTEXT MENU HANDLING\n\n // To make the context menu work, we need to briefly unhide the\n // textarea (making it as unobtrusive as possible) to let the\n // right-click take effect on it.\n function onContextMenu(cm, e) {\n if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) { return }\n if (signalDOMEvent(cm, e, \"contextmenu\")) { return }\n if (!captureRightClick) { cm.display.input.onContextMenu(e); }\n }\n\n function contextMenuInGutter(cm, e) {\n if (!hasHandler(cm, \"gutterContextMenu\")) { return false }\n return gutterEvent(cm, e, \"gutterContextMenu\", false)\n }\n\n function themeChanged(cm) {\n cm.display.wrapper.className = cm.display.wrapper.className.replace(/\\s*cm-s-\\S+/g, \"\") +\n cm.options.theme.replace(/(^|\\s)\\s*/g, \" cm-s-\");\n clearCaches(cm);\n }\n\n var Init = {toString: function(){return \"CodeMirror.Init\"}};\n\n var defaults = {};\n var optionHandlers = {};\n\n function defineOptions(CodeMirror) {\n var optionHandlers = CodeMirror.optionHandlers;\n\n function option(name, deflt, handle, notOnInit) {\n CodeMirror.defaults[name] = deflt;\n if (handle) { optionHandlers[name] =\n notOnInit ? function (cm, val, old) {if (old != Init) { handle(cm, val, old); }} : handle; }\n }\n\n CodeMirror.defineOption = option;\n\n // Passed to option handlers when there is no old value.\n CodeMirror.Init = Init;\n\n // These two are, on init, called from the constructor because they\n // have to be initialized before the editor can start at all.\n option(\"value\", \"\", function (cm, val) { return cm.setValue(val); }, true);\n option(\"mode\", null, function (cm, val) {\n cm.doc.modeOption = val;\n loadMode(cm);\n }, true);\n\n option(\"indentUnit\", 2, loadMode, true);\n option(\"indentWithTabs\", false);\n option(\"smartIndent\", true);\n option(\"tabSize\", 4, function (cm) {\n resetModeState(cm);\n clearCaches(cm);\n regChange(cm);\n }, true);\n\n option(\"lineSeparator\", null, function (cm, val) {\n cm.doc.lineSep = val;\n if (!val) { return }\n var newBreaks = [], lineNo = cm.doc.first;\n cm.doc.iter(function (line) {\n for (var pos = 0;;) {\n var found = line.text.indexOf(val, pos);\n if (found == -1) { break }\n pos = found + val.length;\n newBreaks.push(Pos(lineNo, found));\n }\n lineNo++;\n });\n for (var i = newBreaks.length - 1; i >= 0; i--)\n { replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)); }\n });\n option(\"specialChars\", /[\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u061c\\u200b\\u200e\\u200f\\u2028\\u2029\\ufeff\\ufff9-\\ufffc]/g, function (cm, val, old) {\n cm.state.specialChars = new RegExp(val.source + (val.test(\"\\t\") ? \"\" : \"|\\t\"), \"g\");\n if (old != Init) { cm.refresh(); }\n });\n option(\"specialCharPlaceholder\", defaultSpecialCharPlaceholder, function (cm) { return cm.refresh(); }, true);\n option(\"electricChars\", true);\n option(\"inputStyle\", mobile ? \"contenteditable\" : \"textarea\", function () {\n throw new Error(\"inputStyle can not (yet) be changed in a running editor\") // FIXME\n }, true);\n option(\"spellcheck\", false, function (cm, val) { return cm.getInputField().spellcheck = val; }, true);\n option(\"autocorrect\", false, function (cm, val) { return cm.getInputField().autocorrect = val; }, true);\n option(\"autocapitalize\", false, function (cm, val) { return cm.getInputField().autocapitalize = val; }, true);\n option(\"rtlMoveVisually\", !windows);\n option(\"wholeLineUpdateBefore\", true);\n\n option(\"theme\", \"default\", function (cm) {\n themeChanged(cm);\n updateGutters(cm);\n }, true);\n option(\"keyMap\", \"default\", function (cm, val, old) {\n var next = getKeyMap(val);\n var prev = old != Init && getKeyMap(old);\n if (prev && prev.detach) { prev.detach(cm, next); }\n if (next.attach) { next.attach(cm, prev || null); }\n });\n option(\"extraKeys\", null);\n option(\"configureMouse\", null);\n\n option(\"lineWrapping\", false, wrappingChanged, true);\n option(\"gutters\", [], function (cm, val) {\n cm.display.gutterSpecs = getGutters(val, cm.options.lineNumbers);\n updateGutters(cm);\n }, true);\n option(\"fixedGutter\", true, function (cm, val) {\n cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + \"px\" : \"0\";\n cm.refresh();\n }, true);\n option(\"coverGutterNextToScrollbar\", false, function (cm) { return updateScrollbars(cm); }, true);\n option(\"scrollbarStyle\", \"native\", function (cm) {\n initScrollbars(cm);\n updateScrollbars(cm);\n cm.display.scrollbars.setScrollTop(cm.doc.scrollTop);\n cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft);\n }, true);\n option(\"lineNumbers\", false, function (cm, val) {\n cm.display.gutterSpecs = getGutters(cm.options.gutters, val);\n updateGutters(cm);\n }, true);\n option(\"firstLineNumber\", 1, updateGutters, true);\n option(\"lineNumberFormatter\", function (integer) { return integer; }, updateGutters, true);\n option(\"showCursorWhenSelecting\", false, updateSelection, true);\n\n option(\"resetSelectionOnContextMenu\", true);\n option(\"lineWiseCopyCut\", true);\n option(\"pasteLinesPerSelection\", true);\n option(\"selectionsMayTouch\", false);\n\n option(\"readOnly\", false, function (cm, val) {\n if (val == \"nocursor\") {\n onBlur(cm);\n cm.display.input.blur();\n }\n cm.display.input.readOnlyChanged(val);\n });\n\n option(\"screenReaderLabel\", null, function (cm, val) {\n val = (val === '') ? null : val;\n cm.display.input.screenReaderLabelChanged(val);\n });\n\n option(\"disableInput\", false, function (cm, val) {if (!val) { cm.display.input.reset(); }}, true);\n option(\"dragDrop\", true, dragDropChanged);\n option(\"allowDropFileTypes\", null);\n\n option(\"cursorBlinkRate\", 530);\n option(\"cursorScrollMargin\", 0);\n option(\"cursorHeight\", 1, updateSelection, true);\n option(\"singleCursorHeightPerLine\", true, updateSelection, true);\n option(\"workTime\", 100);\n option(\"workDelay\", 100);\n option(\"flattenSpans\", true, resetModeState, true);\n option(\"addModeClass\", false, resetModeState, true);\n option(\"pollInterval\", 100);\n option(\"undoDepth\", 200, function (cm, val) { return cm.doc.history.undoDepth = val; });\n option(\"historyEventDelay\", 1250);\n option(\"viewportMargin\", 10, function (cm) { return cm.refresh(); }, true);\n option(\"maxHighlightLength\", 10000, resetModeState, true);\n option(\"moveInputWithCursor\", true, function (cm, val) {\n if (!val) { cm.display.input.resetPosition(); }\n });\n\n option(\"tabindex\", null, function (cm, val) { return cm.display.input.getField().tabIndex = val || \"\"; });\n option(\"autofocus\", null);\n option(\"direction\", \"ltr\", function (cm, val) { return cm.doc.setDirection(val); }, true);\n option(\"phrases\", null);\n }\n\n function dragDropChanged(cm, value, old) {\n var wasOn = old && old != Init;\n if (!value != !wasOn) {\n var funcs = cm.display.dragFunctions;\n var toggle = value ? on : off;\n toggle(cm.display.scroller, \"dragstart\", funcs.start);\n toggle(cm.display.scroller, \"dragenter\", funcs.enter);\n toggle(cm.display.scroller, \"dragover\", funcs.over);\n toggle(cm.display.scroller, \"dragleave\", funcs.leave);\n toggle(cm.display.scroller, \"drop\", funcs.drop);\n }\n }\n\n function wrappingChanged(cm) {\n if (cm.options.lineWrapping) {\n addClass(cm.display.wrapper, \"CodeMirror-wrap\");\n cm.display.sizer.style.minWidth = \"\";\n cm.display.sizerWidth = null;\n } else {\n rmClass(cm.display.wrapper, \"CodeMirror-wrap\");\n findMaxLine(cm);\n }\n estimateLineHeights(cm);\n regChange(cm);\n clearCaches(cm);\n setTimeout(function () { return updateScrollbars(cm); }, 100);\n }\n\n // A CodeMirror instance represents an editor. This is the object\n // that user code is usually dealing with.\n\n function CodeMirror(place, options) {\n var this$1 = this;\n\n if (!(this instanceof CodeMirror)) { return new CodeMirror(place, options) }\n\n this.options = options = options ? copyObj(options) : {};\n // Determine effective options based on given values and defaults.\n copyObj(defaults, options, false);\n\n var doc = options.value;\n if (typeof doc == \"string\") { doc = new Doc(doc, options.mode, null, options.lineSeparator, options.direction); }\n else if (options.mode) { doc.modeOption = options.mode; }\n this.doc = doc;\n\n var input = new CodeMirror.inputStyles[options.inputStyle](this);\n var display = this.display = new Display(place, doc, input, options);\n display.wrapper.CodeMirror = this;\n themeChanged(this);\n if (options.lineWrapping)\n { this.display.wrapper.className += \" CodeMirror-wrap\"; }\n initScrollbars(this);\n\n this.state = {\n keyMaps: [], // stores maps added by addKeyMap\n overlays: [], // highlighting overlays, as added by addOverlay\n modeGen: 0, // bumped when mode/overlay changes, used to invalidate highlighting info\n overwrite: false,\n delayingBlurEvent: false,\n focused: false,\n suppressEdits: false, // used to disable editing during key handlers when in readOnly mode\n pasteIncoming: -1, cutIncoming: -1, // help recognize paste/cut edits in input.poll\n selectingText: false,\n draggingText: false,\n highlight: new Delayed(), // stores highlight worker timeout\n keySeq: null, // Unfinished key sequence\n specialChars: null\n };\n\n if (options.autofocus && !mobile) { display.input.focus(); }\n\n // Override magic textarea content restore that IE sometimes does\n // on our hidden textarea on reload\n if (ie && ie_version < 11) { setTimeout(function () { return this$1.display.input.reset(true); }, 20); }\n\n registerEventHandlers(this);\n ensureGlobalHandlers();\n\n startOperation(this);\n this.curOp.forceUpdate = true;\n attachDoc(this, doc);\n\n if ((options.autofocus && !mobile) || this.hasFocus())\n { setTimeout(function () {\n if (this$1.hasFocus() && !this$1.state.focused) { onFocus(this$1); }\n }, 20); }\n else\n { onBlur(this); }\n\n for (var opt in optionHandlers) { if (optionHandlers.hasOwnProperty(opt))\n { optionHandlers[opt](this, options[opt], Init); } }\n maybeUpdateLineNumberWidth(this);\n if (options.finishInit) { options.finishInit(this); }\n for (var i = 0; i < initHooks.length; ++i) { initHooks[i](this); }\n endOperation(this);\n // Suppress optimizelegibility in Webkit, since it breaks text\n // measuring on line wrapping boundaries.\n if (webkit && options.lineWrapping &&\n getComputedStyle(display.lineDiv).textRendering == \"optimizelegibility\")\n { display.lineDiv.style.textRendering = \"auto\"; }\n }\n\n // The default configuration options.\n CodeMirror.defaults = defaults;\n // Functions to run when options are changed.\n CodeMirror.optionHandlers = optionHandlers;\n\n // Attach the necessary event handlers when initializing the editor\n function registerEventHandlers(cm) {\n var d = cm.display;\n on(d.scroller, \"mousedown\", operation(cm, onMouseDown));\n // Older IE's will not fire a second mousedown for a double click\n if (ie && ie_version < 11)\n { on(d.scroller, \"dblclick\", operation(cm, function (e) {\n if (signalDOMEvent(cm, e)) { return }\n var pos = posFromMouse(cm, e);\n if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) { return }\n e_preventDefault(e);\n var word = cm.findWordAt(pos);\n extendSelection(cm.doc, word.anchor, word.head);\n })); }\n else\n { on(d.scroller, \"dblclick\", function (e) { return signalDOMEvent(cm, e) || e_preventDefault(e); }); }\n // Some browsers fire contextmenu *after* opening the menu, at\n // which point we can't mess with it anymore. Context menu is\n // handled in onMouseDown for these browsers.\n on(d.scroller, \"contextmenu\", function (e) { return onContextMenu(cm, e); });\n on(d.input.getField(), \"contextmenu\", function (e) {\n if (!d.scroller.contains(e.target)) { onContextMenu(cm, e); }\n });\n\n // Used to suppress mouse event handling when a touch happens\n var touchFinished, prevTouch = {end: 0};\n function finishTouch() {\n if (d.activeTouch) {\n touchFinished = setTimeout(function () { return d.activeTouch = null; }, 1000);\n prevTouch = d.activeTouch;\n prevTouch.end = +new Date;\n }\n }\n function isMouseLikeTouchEvent(e) {\n if (e.touches.length != 1) { return false }\n var touch = e.touches[0];\n return touch.radiusX <= 1 && touch.radiusY <= 1\n }\n function farAway(touch, other) {\n if (other.left == null) { return true }\n var dx = other.left - touch.left, dy = other.top - touch.top;\n return dx * dx + dy * dy > 20 * 20\n }\n on(d.scroller, \"touchstart\", function (e) {\n if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e) && !clickInGutter(cm, e)) {\n d.input.ensurePolled();\n clearTimeout(touchFinished);\n var now = +new Date;\n d.activeTouch = {start: now, moved: false,\n prev: now - prevTouch.end <= 300 ? prevTouch : null};\n if (e.touches.length == 1) {\n d.activeTouch.left = e.touches[0].pageX;\n d.activeTouch.top = e.touches[0].pageY;\n }\n }\n });\n on(d.scroller, \"touchmove\", function () {\n if (d.activeTouch) { d.activeTouch.moved = true; }\n });\n on(d.scroller, \"touchend\", function (e) {\n var touch = d.activeTouch;\n if (touch && !eventInWidget(d, e) && touch.left != null &&\n !touch.moved && new Date - touch.start < 300) {\n var pos = cm.coordsChar(d.activeTouch, \"page\"), range;\n if (!touch.prev || farAway(touch, touch.prev)) // Single tap\n { range = new Range(pos, pos); }\n else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap\n { range = cm.findWordAt(pos); }\n else // Triple tap\n { range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))); }\n cm.setSelection(range.anchor, range.head);\n cm.focus();\n e_preventDefault(e);\n }\n finishTouch();\n });\n on(d.scroller, \"touchcancel\", finishTouch);\n\n // Sync scrolling between fake scrollbars and real scrollable\n // area, ensure viewport is updated when scrolling.\n on(d.scroller, \"scroll\", function () {\n if (d.scroller.clientHeight) {\n updateScrollTop(cm, d.scroller.scrollTop);\n setScrollLeft(cm, d.scroller.scrollLeft, true);\n signal(cm, \"scroll\", cm);\n }\n });\n\n // Listen to wheel events in order to try and update the viewport on time.\n on(d.scroller, \"mousewheel\", function (e) { return onScrollWheel(cm, e); });\n on(d.scroller, \"DOMMouseScroll\", function (e) { return onScrollWheel(cm, e); });\n\n // Prevent wrapper from ever scrolling\n on(d.wrapper, \"scroll\", function () { return d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; });\n\n d.dragFunctions = {\n enter: function (e) {if (!signalDOMEvent(cm, e)) { e_stop(e); }},\n over: function (e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e); }},\n start: function (e) { return onDragStart(cm, e); },\n drop: operation(cm, onDrop),\n leave: function (e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm); }}\n };\n\n var inp = d.input.getField();\n on(inp, \"keyup\", function (e) { return onKeyUp.call(cm, e); });\n on(inp, \"keydown\", operation(cm, onKeyDown));\n on(inp, \"keypress\", operation(cm, onKeyPress));\n on(inp, \"focus\", function (e) { return onFocus(cm, e); });\n on(inp, \"blur\", function (e) { return onBlur(cm, e); });\n }\n\n var initHooks = [];\n CodeMirror.defineInitHook = function (f) { return initHooks.push(f); };\n\n // Indent the given line. The how parameter can be \"smart\",\n // \"add\"/null, \"subtract\", or \"prev\". When aggressive is false\n // (typically set to true for forced single-line indents), empty\n // lines are not indented, and places where the mode returns Pass\n // are left alone.\n function indentLine(cm, n, how, aggressive) {\n var doc = cm.doc, state;\n if (how == null) { how = \"add\"; }\n if (how == \"smart\") {\n // Fall back to \"prev\" when the mode doesn't have an indentation\n // method.\n if (!doc.mode.indent) { how = \"prev\"; }\n else { state = getContextBefore(cm, n).state; }\n }\n\n var tabSize = cm.options.tabSize;\n var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize);\n if (line.stateAfter) { line.stateAfter = null; }\n var curSpaceString = line.text.match(/^\\s*/)[0], indentation;\n if (!aggressive && !/\\S/.test(line.text)) {\n indentation = 0;\n how = \"not\";\n } else if (how == \"smart\") {\n indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text);\n if (indentation == Pass || indentation > 150) {\n if (!aggressive) { return }\n how = \"prev\";\n }\n }\n if (how == \"prev\") {\n if (n > doc.first) { indentation = countColumn(getLine(doc, n-1).text, null, tabSize); }\n else { indentation = 0; }\n } else if (how == \"add\") {\n indentation = curSpace + cm.options.indentUnit;\n } else if (how == \"subtract\") {\n indentation = curSpace - cm.options.indentUnit;\n } else if (typeof how == \"number\") {\n indentation = curSpace + how;\n }\n indentation = Math.max(0, indentation);\n\n var indentString = \"\", pos = 0;\n if (cm.options.indentWithTabs)\n { for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += \"\\t\";} }\n if (pos < indentation) { indentString += spaceStr(indentation - pos); }\n\n if (indentString != curSpaceString) {\n replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), \"+input\");\n line.stateAfter = null;\n return true\n } else {\n // Ensure that, if the cursor was in the whitespace at the start\n // of the line, it is moved to the end of that space.\n for (var i$1 = 0; i$1 < doc.sel.ranges.length; i$1++) {\n var range = doc.sel.ranges[i$1];\n if (range.head.line == n && range.head.ch < curSpaceString.length) {\n var pos$1 = Pos(n, curSpaceString.length);\n replaceOneSelection(doc, i$1, new Range(pos$1, pos$1));\n break\n }\n }\n }\n }\n\n // This will be set to a {lineWise: bool, text: [string]} object, so\n // that, when pasting, we know what kind of selections the copied\n // text was made out of.\n var lastCopied = null;\n\n function setLastCopied(newLastCopied) {\n lastCopied = newLastCopied;\n }\n\n function applyTextInput(cm, inserted, deleted, sel, origin) {\n var doc = cm.doc;\n cm.display.shift = false;\n if (!sel) { sel = doc.sel; }\n\n var recent = +new Date - 200;\n var paste = origin == \"paste\" || cm.state.pasteIncoming > recent;\n var textLines = splitLinesAuto(inserted), multiPaste = null;\n // When pasting N lines into N selections, insert one line per selection\n if (paste && sel.ranges.length > 1) {\n if (lastCopied && lastCopied.text.join(\"\\n\") == inserted) {\n if (sel.ranges.length % lastCopied.text.length == 0) {\n multiPaste = [];\n for (var i = 0; i < lastCopied.text.length; i++)\n { multiPaste.push(doc.splitLines(lastCopied.text[i])); }\n }\n } else if (textLines.length == sel.ranges.length && cm.options.pasteLinesPerSelection) {\n multiPaste = map(textLines, function (l) { return [l]; });\n }\n }\n\n var updateInput = cm.curOp.updateInput;\n // Normal behavior is to insert the new text into every selection\n for (var i$1 = sel.ranges.length - 1; i$1 >= 0; i$1--) {\n var range = sel.ranges[i$1];\n var from = range.from(), to = range.to();\n if (range.empty()) {\n if (deleted && deleted > 0) // Handle deletion\n { from = Pos(from.line, from.ch - deleted); }\n else if (cm.state.overwrite && !paste) // Handle overwrite\n { to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)); }\n else if (paste && lastCopied && lastCopied.lineWise && lastCopied.text.join(\"\\n\") == textLines.join(\"\\n\"))\n { from = to = Pos(from.line, 0); }\n }\n var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i$1 % multiPaste.length] : textLines,\n origin: origin || (paste ? \"paste\" : cm.state.cutIncoming > recent ? \"cut\" : \"+input\")};\n makeChange(cm.doc, changeEvent);\n signalLater(cm, \"inputRead\", cm, changeEvent);\n }\n if (inserted && !paste)\n { triggerElectric(cm, inserted); }\n\n ensureCursorVisible(cm);\n if (cm.curOp.updateInput < 2) { cm.curOp.updateInput = updateInput; }\n cm.curOp.typing = true;\n cm.state.pasteIncoming = cm.state.cutIncoming = -1;\n }\n\n function handlePaste(e, cm) {\n var pasted = e.clipboardData && e.clipboardData.getData(\"Text\");\n if (pasted) {\n e.preventDefault();\n if (!cm.isReadOnly() && !cm.options.disableInput)\n { runInOp(cm, function () { return applyTextInput(cm, pasted, 0, null, \"paste\"); }); }\n return true\n }\n }\n\n function triggerElectric(cm, inserted) {\n // When an 'electric' character is inserted, immediately trigger a reindent\n if (!cm.options.electricChars || !cm.options.smartIndent) { return }\n var sel = cm.doc.sel;\n\n for (var i = sel.ranges.length - 1; i >= 0; i--) {\n var range = sel.ranges[i];\n if (range.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range.head.line)) { continue }\n var mode = cm.getModeAt(range.head);\n var indented = false;\n if (mode.electricChars) {\n for (var j = 0; j < mode.electricChars.length; j++)\n { if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) {\n indented = indentLine(cm, range.head.line, \"smart\");\n break\n } }\n } else if (mode.electricInput) {\n if (mode.electricInput.test(getLine(cm.doc, range.head.line).text.slice(0, range.head.ch)))\n { indented = indentLine(cm, range.head.line, \"smart\"); }\n }\n if (indented) { signalLater(cm, \"electricInput\", cm, range.head.line); }\n }\n }\n\n function copyableRanges(cm) {\n var text = [], ranges = [];\n for (var i = 0; i < cm.doc.sel.ranges.length; i++) {\n var line = cm.doc.sel.ranges[i].head.line;\n var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)};\n ranges.push(lineRange);\n text.push(cm.getRange(lineRange.anchor, lineRange.head));\n }\n return {text: text, ranges: ranges}\n }\n\n function disableBrowserMagic(field, spellcheck, autocorrect, autocapitalize) {\n field.setAttribute(\"autocorrect\", autocorrect ? \"\" : \"off\");\n field.setAttribute(\"autocapitalize\", autocapitalize ? \"\" : \"off\");\n field.setAttribute(\"spellcheck\", !!spellcheck);\n }\n\n function hiddenTextarea() {\n var te = elt(\"textarea\", null, null, \"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none\");\n var div = elt(\"div\", [te], null, \"overflow: hidden; position: relative; width: 3px; height: 0px;\");\n // The textarea is kept positioned near the cursor to prevent the\n // fact that it'll be scrolled into view on input from scrolling\n // our fake cursor out of view. On webkit, when wrap=off, paste is\n // very slow. So make the area wide instead.\n if (webkit) { te.style.width = \"1000px\"; }\n else { te.setAttribute(\"wrap\", \"off\"); }\n // If border: 0; -- iOS fails to open keyboard (issue #1287)\n if (ios) { te.style.border = \"1px solid black\"; }\n disableBrowserMagic(te);\n return div\n }\n\n // The publicly visible API. Note that methodOp(f) means\n // 'wrap f in an operation, performed on its `this` parameter'.\n\n // This is not the complete set of editor methods. Most of the\n // methods defined on the Doc type are also injected into\n // CodeMirror.prototype, for backwards compatibility and\n // convenience.\n\n function addEditorMethods(CodeMirror) {\n var optionHandlers = CodeMirror.optionHandlers;\n\n var helpers = CodeMirror.helpers = {};\n\n CodeMirror.prototype = {\n constructor: CodeMirror,\n focus: function(){window.focus(); this.display.input.focus();},\n\n setOption: function(option, value) {\n var options = this.options, old = options[option];\n if (options[option] == value && option != \"mode\") { return }\n options[option] = value;\n if (optionHandlers.hasOwnProperty(option))\n { operation(this, optionHandlers[option])(this, value, old); }\n signal(this, \"optionChange\", this, option);\n },\n\n getOption: function(option) {return this.options[option]},\n getDoc: function() {return this.doc},\n\n addKeyMap: function(map, bottom) {\n this.state.keyMaps[bottom ? \"push\" : \"unshift\"](getKeyMap(map));\n },\n removeKeyMap: function(map) {\n var maps = this.state.keyMaps;\n for (var i = 0; i < maps.length; ++i)\n { if (maps[i] == map || maps[i].name == map) {\n maps.splice(i, 1);\n return true\n } }\n },\n\n addOverlay: methodOp(function(spec, options) {\n var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec);\n if (mode.startState) { throw new Error(\"Overlays may not be stateful.\") }\n insertSorted(this.state.overlays,\n {mode: mode, modeSpec: spec, opaque: options && options.opaque,\n priority: (options && options.priority) || 0},\n function (overlay) { return overlay.priority; });\n this.state.modeGen++;\n regChange(this);\n }),\n removeOverlay: methodOp(function(spec) {\n var overlays = this.state.overlays;\n for (var i = 0; i < overlays.length; ++i) {\n var cur = overlays[i].modeSpec;\n if (cur == spec || typeof spec == \"string\" && cur.name == spec) {\n overlays.splice(i, 1);\n this.state.modeGen++;\n regChange(this);\n return\n }\n }\n }),\n\n indentLine: methodOp(function(n, dir, aggressive) {\n if (typeof dir != \"string\" && typeof dir != \"number\") {\n if (dir == null) { dir = this.options.smartIndent ? \"smart\" : \"prev\"; }\n else { dir = dir ? \"add\" : \"subtract\"; }\n }\n if (isLine(this.doc, n)) { indentLine(this, n, dir, aggressive); }\n }),\n indentSelection: methodOp(function(how) {\n var ranges = this.doc.sel.ranges, end = -1;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i];\n if (!range.empty()) {\n var from = range.from(), to = range.to();\n var start = Math.max(end, from.line);\n end = Math.min(this.lastLine(), to.line - (to.ch ? 0 : 1)) + 1;\n for (var j = start; j < end; ++j)\n { indentLine(this, j, how); }\n var newRanges = this.doc.sel.ranges;\n if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0)\n { replaceOneSelection(this.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll); }\n } else if (range.head.line > end) {\n indentLine(this, range.head.line, how, true);\n end = range.head.line;\n if (i == this.doc.sel.primIndex) { ensureCursorVisible(this); }\n }\n }\n }),\n\n // Fetch the parser token for a given character. Useful for hacks\n // that want to inspect the mode state (say, for completion).\n getTokenAt: function(pos, precise) {\n return takeToken(this, pos, precise)\n },\n\n getLineTokens: function(line, precise) {\n return takeToken(this, Pos(line), precise, true)\n },\n\n getTokenTypeAt: function(pos) {\n pos = clipPos(this.doc, pos);\n var styles = getLineStyles(this, getLine(this.doc, pos.line));\n var before = 0, after = (styles.length - 1) / 2, ch = pos.ch;\n var type;\n if (ch == 0) { type = styles[2]; }\n else { for (;;) {\n var mid = (before + after) >> 1;\n if ((mid ? styles[mid * 2 - 1] : 0) >= ch) { after = mid; }\n else if (styles[mid * 2 + 1] < ch) { before = mid + 1; }\n else { type = styles[mid * 2 + 2]; break }\n } }\n var cut = type ? type.indexOf(\"overlay \") : -1;\n return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1)\n },\n\n getModeAt: function(pos) {\n var mode = this.doc.mode;\n if (!mode.innerMode) { return mode }\n return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode\n },\n\n getHelper: function(pos, type) {\n return this.getHelpers(pos, type)[0]\n },\n\n getHelpers: function(pos, type) {\n var found = [];\n if (!helpers.hasOwnProperty(type)) { return found }\n var help = helpers[type], mode = this.getModeAt(pos);\n if (typeof mode[type] == \"string\") {\n if (help[mode[type]]) { found.push(help[mode[type]]); }\n } else if (mode[type]) {\n for (var i = 0; i < mode[type].length; i++) {\n var val = help[mode[type][i]];\n if (val) { found.push(val); }\n }\n } else if (mode.helperType && help[mode.helperType]) {\n found.push(help[mode.helperType]);\n } else if (help[mode.name]) {\n found.push(help[mode.name]);\n }\n for (var i$1 = 0; i$1 < help._global.length; i$1++) {\n var cur = help._global[i$1];\n if (cur.pred(mode, this) && indexOf(found, cur.val) == -1)\n { found.push(cur.val); }\n }\n return found\n },\n\n getStateAfter: function(line, precise) {\n var doc = this.doc;\n line = clipLine(doc, line == null ? doc.first + doc.size - 1: line);\n return getContextBefore(this, line + 1, precise).state\n },\n\n cursorCoords: function(start, mode) {\n var pos, range = this.doc.sel.primary();\n if (start == null) { pos = range.head; }\n else if (typeof start == \"object\") { pos = clipPos(this.doc, start); }\n else { pos = start ? range.from() : range.to(); }\n return cursorCoords(this, pos, mode || \"page\")\n },\n\n charCoords: function(pos, mode) {\n return charCoords(this, clipPos(this.doc, pos), mode || \"page\")\n },\n\n coordsChar: function(coords, mode) {\n coords = fromCoordSystem(this, coords, mode || \"page\");\n return coordsChar(this, coords.left, coords.top)\n },\n\n lineAtHeight: function(height, mode) {\n height = fromCoordSystem(this, {top: height, left: 0}, mode || \"page\").top;\n return lineAtHeight(this.doc, height + this.display.viewOffset)\n },\n heightAtLine: function(line, mode, includeWidgets) {\n var end = false, lineObj;\n if (typeof line == \"number\") {\n var last = this.doc.first + this.doc.size - 1;\n if (line < this.doc.first) { line = this.doc.first; }\n else if (line > last) { line = last; end = true; }\n lineObj = getLine(this.doc, line);\n } else {\n lineObj = line;\n }\n return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || \"page\", includeWidgets || end).top +\n (end ? this.doc.height - heightAtLine(lineObj) : 0)\n },\n\n defaultTextHeight: function() { return textHeight(this.display) },\n defaultCharWidth: function() { return charWidth(this.display) },\n\n getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo}},\n\n addWidget: function(pos, node, scroll, vert, horiz) {\n var display = this.display;\n pos = cursorCoords(this, clipPos(this.doc, pos));\n var top = pos.bottom, left = pos.left;\n node.style.position = \"absolute\";\n node.setAttribute(\"cm-ignore-events\", \"true\");\n this.display.input.setUneditable(node);\n display.sizer.appendChild(node);\n if (vert == \"over\") {\n top = pos.top;\n } else if (vert == \"above\" || vert == \"near\") {\n var vspace = Math.max(display.wrapper.clientHeight, this.doc.height),\n hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth);\n // Default to positioning above (if specified and possible); otherwise default to positioning below\n if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight)\n { top = pos.top - node.offsetHeight; }\n else if (pos.bottom + node.offsetHeight <= vspace)\n { top = pos.bottom; }\n if (left + node.offsetWidth > hspace)\n { left = hspace - node.offsetWidth; }\n }\n node.style.top = top + \"px\";\n node.style.left = node.style.right = \"\";\n if (horiz == \"right\") {\n left = display.sizer.clientWidth - node.offsetWidth;\n node.style.right = \"0px\";\n } else {\n if (horiz == \"left\") { left = 0; }\n else if (horiz == \"middle\") { left = (display.sizer.clientWidth - node.offsetWidth) / 2; }\n node.style.left = left + \"px\";\n }\n if (scroll)\n { scrollIntoView(this, {left: left, top: top, right: left + node.offsetWidth, bottom: top + node.offsetHeight}); }\n },\n\n triggerOnKeyDown: methodOp(onKeyDown),\n triggerOnKeyPress: methodOp(onKeyPress),\n triggerOnKeyUp: onKeyUp,\n triggerOnMouseDown: methodOp(onMouseDown),\n\n execCommand: function(cmd) {\n if (commands.hasOwnProperty(cmd))\n { return commands[cmd].call(null, this) }\n },\n\n triggerElectric: methodOp(function(text) { triggerElectric(this, text); }),\n\n findPosH: function(from, amount, unit, visually) {\n var dir = 1;\n if (amount < 0) { dir = -1; amount = -amount; }\n var cur = clipPos(this.doc, from);\n for (var i = 0; i < amount; ++i) {\n cur = findPosH(this.doc, cur, dir, unit, visually);\n if (cur.hitSide) { break }\n }\n return cur\n },\n\n moveH: methodOp(function(dir, unit) {\n var this$1 = this;\n\n this.extendSelectionsBy(function (range) {\n if (this$1.display.shift || this$1.doc.extend || range.empty())\n { return findPosH(this$1.doc, range.head, dir, unit, this$1.options.rtlMoveVisually) }\n else\n { return dir < 0 ? range.from() : range.to() }\n }, sel_move);\n }),\n\n deleteH: methodOp(function(dir, unit) {\n var sel = this.doc.sel, doc = this.doc;\n if (sel.somethingSelected())\n { doc.replaceSelection(\"\", null, \"+delete\"); }\n else\n { deleteNearSelection(this, function (range) {\n var other = findPosH(doc, range.head, dir, unit, false);\n return dir < 0 ? {from: other, to: range.head} : {from: range.head, to: other}\n }); }\n }),\n\n findPosV: function(from, amount, unit, goalColumn) {\n var dir = 1, x = goalColumn;\n if (amount < 0) { dir = -1; amount = -amount; }\n var cur = clipPos(this.doc, from);\n for (var i = 0; i < amount; ++i) {\n var coords = cursorCoords(this, cur, \"div\");\n if (x == null) { x = coords.left; }\n else { coords.left = x; }\n cur = findPosV(this, coords, dir, unit);\n if (cur.hitSide) { break }\n }\n return cur\n },\n\n moveV: methodOp(function(dir, unit) {\n var this$1 = this;\n\n var doc = this.doc, goals = [];\n var collapse = !this.display.shift && !doc.extend && doc.sel.somethingSelected();\n doc.extendSelectionsBy(function (range) {\n if (collapse)\n { return dir < 0 ? range.from() : range.to() }\n var headPos = cursorCoords(this$1, range.head, \"div\");\n if (range.goalColumn != null) { headPos.left = range.goalColumn; }\n goals.push(headPos.left);\n var pos = findPosV(this$1, headPos, dir, unit);\n if (unit == \"page\" && range == doc.sel.primary())\n { addToScrollTop(this$1, charCoords(this$1, pos, \"div\").top - headPos.top); }\n return pos\n }, sel_move);\n if (goals.length) { for (var i = 0; i < doc.sel.ranges.length; i++)\n { doc.sel.ranges[i].goalColumn = goals[i]; } }\n }),\n\n // Find the word at the given position (as returned by coordsChar).\n findWordAt: function(pos) {\n var doc = this.doc, line = getLine(doc, pos.line).text;\n var start = pos.ch, end = pos.ch;\n if (line) {\n var helper = this.getHelper(pos, \"wordChars\");\n if ((pos.sticky == \"before\" || end == line.length) && start) { --start; } else { ++end; }\n var startChar = line.charAt(start);\n var check = isWordChar(startChar, helper)\n ? function (ch) { return isWordChar(ch, helper); }\n : /\\s/.test(startChar) ? function (ch) { return /\\s/.test(ch); }\n : function (ch) { return (!/\\s/.test(ch) && !isWordChar(ch)); };\n while (start > 0 && check(line.charAt(start - 1))) { --start; }\n while (end < line.length && check(line.charAt(end))) { ++end; }\n }\n return new Range(Pos(pos.line, start), Pos(pos.line, end))\n },\n\n toggleOverwrite: function(value) {\n if (value != null && value == this.state.overwrite) { return }\n if (this.state.overwrite = !this.state.overwrite)\n { addClass(this.display.cursorDiv, \"CodeMirror-overwrite\"); }\n else\n { rmClass(this.display.cursorDiv, \"CodeMirror-overwrite\"); }\n\n signal(this, \"overwriteToggle\", this, this.state.overwrite);\n },\n hasFocus: function() { return this.display.input.getField() == activeElt() },\n isReadOnly: function() { return !!(this.options.readOnly || this.doc.cantEdit) },\n\n scrollTo: methodOp(function (x, y) { scrollToCoords(this, x, y); }),\n getScrollInfo: function() {\n var scroller = this.display.scroller;\n return {left: scroller.scrollLeft, top: scroller.scrollTop,\n height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight,\n width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth,\n clientHeight: displayHeight(this), clientWidth: displayWidth(this)}\n },\n\n scrollIntoView: methodOp(function(range, margin) {\n if (range == null) {\n range = {from: this.doc.sel.primary().head, to: null};\n if (margin == null) { margin = this.options.cursorScrollMargin; }\n } else if (typeof range == \"number\") {\n range = {from: Pos(range, 0), to: null};\n } else if (range.from == null) {\n range = {from: range, to: null};\n }\n if (!range.to) { range.to = range.from; }\n range.margin = margin || 0;\n\n if (range.from.line != null) {\n scrollToRange(this, range);\n } else {\n scrollToCoordsRange(this, range.from, range.to, range.margin);\n }\n }),\n\n setSize: methodOp(function(width, height) {\n var this$1 = this;\n\n var interpret = function (val) { return typeof val == \"number\" || /^\\d+$/.test(String(val)) ? val + \"px\" : val; };\n if (width != null) { this.display.wrapper.style.width = interpret(width); }\n if (height != null) { this.display.wrapper.style.height = interpret(height); }\n if (this.options.lineWrapping) { clearLineMeasurementCache(this); }\n var lineNo = this.display.viewFrom;\n this.doc.iter(lineNo, this.display.viewTo, function (line) {\n if (line.widgets) { for (var i = 0; i < line.widgets.length; i++)\n { if (line.widgets[i].noHScroll) { regLineChange(this$1, lineNo, \"widget\"); break } } }\n ++lineNo;\n });\n this.curOp.forceUpdate = true;\n signal(this, \"refresh\", this);\n }),\n\n operation: function(f){return runInOp(this, f)},\n startOperation: function(){return startOperation(this)},\n endOperation: function(){return endOperation(this)},\n\n refresh: methodOp(function() {\n var oldHeight = this.display.cachedTextHeight;\n regChange(this);\n this.curOp.forceUpdate = true;\n clearCaches(this);\n scrollToCoords(this, this.doc.scrollLeft, this.doc.scrollTop);\n updateGutterSpace(this.display);\n if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5 || this.options.lineWrapping)\n { estimateLineHeights(this); }\n signal(this, \"refresh\", this);\n }),\n\n swapDoc: methodOp(function(doc) {\n var old = this.doc;\n old.cm = null;\n // Cancel the current text selection if any (#5821)\n if (this.state.selectingText) { this.state.selectingText(); }\n attachDoc(this, doc);\n clearCaches(this);\n this.display.input.reset();\n scrollToCoords(this, doc.scrollLeft, doc.scrollTop);\n this.curOp.forceScroll = true;\n signalLater(this, \"swapDoc\", this, old);\n return old\n }),\n\n phrase: function(phraseText) {\n var phrases = this.options.phrases;\n return phrases && Object.prototype.hasOwnProperty.call(phrases, phraseText) ? phrases[phraseText] : phraseText\n },\n\n getInputField: function(){return this.display.input.getField()},\n getWrapperElement: function(){return this.display.wrapper},\n getScrollerElement: function(){return this.display.scroller},\n getGutterElement: function(){return this.display.gutters}\n };\n eventMixin(CodeMirror);\n\n CodeMirror.registerHelper = function(type, name, value) {\n if (!helpers.hasOwnProperty(type)) { helpers[type] = CodeMirror[type] = {_global: []}; }\n helpers[type][name] = value;\n };\n CodeMirror.registerGlobalHelper = function(type, name, predicate, value) {\n CodeMirror.registerHelper(type, name, value);\n helpers[type]._global.push({pred: predicate, val: value});\n };\n }\n\n // Used for horizontal relative motion. Dir is -1 or 1 (left or\n // right), unit can be \"codepoint\", \"char\", \"column\" (like char, but\n // doesn't cross line boundaries), \"word\" (across next word), or\n // \"group\" (to the start of next group of word or\n // non-word-non-whitespace chars). The visually param controls\n // whether, in right-to-left text, direction 1 means to move towards\n // the next index in the string, or towards the character to the right\n // of the current position. The resulting position will have a\n // hitSide=true property if it reached the end of the document.\n function findPosH(doc, pos, dir, unit, visually) {\n var oldPos = pos;\n var origDir = dir;\n var lineObj = getLine(doc, pos.line);\n var lineDir = visually && doc.direction == \"rtl\" ? -dir : dir;\n function findNextLine() {\n var l = pos.line + lineDir;\n if (l < doc.first || l >= doc.first + doc.size) { return false }\n pos = new Pos(l, pos.ch, pos.sticky);\n return lineObj = getLine(doc, l)\n }\n function moveOnce(boundToLine) {\n var next;\n if (unit == \"codepoint\") {\n var ch = lineObj.text.charCodeAt(pos.ch + (dir > 0 ? 0 : -1));\n if (isNaN(ch)) {\n next = null;\n } else {\n var astral = dir > 0 ? ch >= 0xD800 && ch < 0xDC00 : ch >= 0xDC00 && ch < 0xDFFF;\n next = new Pos(pos.line, Math.max(0, Math.min(lineObj.text.length, pos.ch + dir * (astral ? 2 : 1))), -dir);\n }\n } else if (visually) {\n next = moveVisually(doc.cm, lineObj, pos, dir);\n } else {\n next = moveLogically(lineObj, pos, dir);\n }\n if (next == null) {\n if (!boundToLine && findNextLine())\n { pos = endOfLine(visually, doc.cm, lineObj, pos.line, lineDir); }\n else\n { return false }\n } else {\n pos = next;\n }\n return true\n }\n\n if (unit == \"char\" || unit == \"codepoint\") {\n moveOnce();\n } else if (unit == \"column\") {\n moveOnce(true);\n } else if (unit == \"word\" || unit == \"group\") {\n var sawType = null, group = unit == \"group\";\n var helper = doc.cm && doc.cm.getHelper(pos, \"wordChars\");\n for (var first = true;; first = false) {\n if (dir < 0 && !moveOnce(!first)) { break }\n var cur = lineObj.text.charAt(pos.ch) || \"\\n\";\n var type = isWordChar(cur, helper) ? \"w\"\n : group && cur == \"\\n\" ? \"n\"\n : !group || /\\s/.test(cur) ? null\n : \"p\";\n if (group && !first && !type) { type = \"s\"; }\n if (sawType && sawType != type) {\n if (dir < 0) {dir = 1; moveOnce(); pos.sticky = \"after\";}\n break\n }\n\n if (type) { sawType = type; }\n if (dir > 0 && !moveOnce(!first)) { break }\n }\n }\n var result = skipAtomic(doc, pos, oldPos, origDir, true);\n if (equalCursorPos(oldPos, result)) { result.hitSide = true; }\n return result\n }\n\n // For relative vertical movement. Dir may be -1 or 1. Unit can be\n // \"page\" or \"line\". The resulting position will have a hitSide=true\n // property if it reached the end of the document.\n function findPosV(cm, pos, dir, unit) {\n var doc = cm.doc, x = pos.left, y;\n if (unit == \"page\") {\n var pageSize = Math.min(cm.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight);\n var moveAmount = Math.max(pageSize - .5 * textHeight(cm.display), 3);\n y = (dir > 0 ? pos.bottom : pos.top) + dir * moveAmount;\n\n } else if (unit == \"line\") {\n y = dir > 0 ? pos.bottom + 3 : pos.top - 3;\n }\n var target;\n for (;;) {\n target = coordsChar(cm, x, y);\n if (!target.outside) { break }\n if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break }\n y += dir * 5;\n }\n return target\n }\n\n // CONTENTEDITABLE INPUT STYLE\n\n var ContentEditableInput = function(cm) {\n this.cm = cm;\n this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null;\n this.polling = new Delayed();\n this.composing = null;\n this.gracePeriod = false;\n this.readDOMTimeout = null;\n };\n\n ContentEditableInput.prototype.init = function (display) {\n var this$1 = this;\n\n var input = this, cm = input.cm;\n var div = input.div = display.lineDiv;\n div.contentEditable = true;\n disableBrowserMagic(div, cm.options.spellcheck, cm.options.autocorrect, cm.options.autocapitalize);\n\n function belongsToInput(e) {\n for (var t = e.target; t; t = t.parentNode) {\n if (t == div) { return true }\n if (/\\bCodeMirror-(?:line)?widget\\b/.test(t.className)) { break }\n }\n return false\n }\n\n on(div, \"paste\", function (e) {\n if (!belongsToInput(e) || signalDOMEvent(cm, e) || handlePaste(e, cm)) { return }\n // IE doesn't fire input events, so we schedule a read for the pasted content in this way\n if (ie_version <= 11) { setTimeout(operation(cm, function () { return this$1.updateFromDOM(); }), 20); }\n });\n\n on(div, \"compositionstart\", function (e) {\n this$1.composing = {data: e.data, done: false};\n });\n on(div, \"compositionupdate\", function (e) {\n if (!this$1.composing) { this$1.composing = {data: e.data, done: false}; }\n });\n on(div, \"compositionend\", function (e) {\n if (this$1.composing) {\n if (e.data != this$1.composing.data) { this$1.readFromDOMSoon(); }\n this$1.composing.done = true;\n }\n });\n\n on(div, \"touchstart\", function () { return input.forceCompositionEnd(); });\n\n on(div, \"input\", function () {\n if (!this$1.composing) { this$1.readFromDOMSoon(); }\n });\n\n function onCopyCut(e) {\n if (!belongsToInput(e) || signalDOMEvent(cm, e)) { return }\n if (cm.somethingSelected()) {\n setLastCopied({lineWise: false, text: cm.getSelections()});\n if (e.type == \"cut\") { cm.replaceSelection(\"\", null, \"cut\"); }\n } else if (!cm.options.lineWiseCopyCut) {\n return\n } else {\n var ranges = copyableRanges(cm);\n setLastCopied({lineWise: true, text: ranges.text});\n if (e.type == \"cut\") {\n cm.operation(function () {\n cm.setSelections(ranges.ranges, 0, sel_dontScroll);\n cm.replaceSelection(\"\", null, \"cut\");\n });\n }\n }\n if (e.clipboardData) {\n e.clipboardData.clearData();\n var content = lastCopied.text.join(\"\\n\");\n // iOS exposes the clipboard API, but seems to discard content inserted into it\n e.clipboardData.setData(\"Text\", content);\n if (e.clipboardData.getData(\"Text\") == content) {\n e.preventDefault();\n return\n }\n }\n // Old-fashioned briefly-focus-a-textarea hack\n var kludge = hiddenTextarea(), te = kludge.firstChild;\n cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild);\n te.value = lastCopied.text.join(\"\\n\");\n var hadFocus = activeElt();\n selectInput(te);\n setTimeout(function () {\n cm.display.lineSpace.removeChild(kludge);\n hadFocus.focus();\n if (hadFocus == div) { input.showPrimarySelection(); }\n }, 50);\n }\n on(div, \"copy\", onCopyCut);\n on(div, \"cut\", onCopyCut);\n };\n\n ContentEditableInput.prototype.screenReaderLabelChanged = function (label) {\n // Label for screenreaders, accessibility\n if(label) {\n this.div.setAttribute('aria-label', label);\n } else {\n this.div.removeAttribute('aria-label');\n }\n };\n\n ContentEditableInput.prototype.prepareSelection = function () {\n var result = prepareSelection(this.cm, false);\n result.focus = activeElt() == this.div;\n return result\n };\n\n ContentEditableInput.prototype.showSelection = function (info, takeFocus) {\n if (!info || !this.cm.display.view.length) { return }\n if (info.focus || takeFocus) { this.showPrimarySelection(); }\n this.showMultipleSelections(info);\n };\n\n ContentEditableInput.prototype.getSelection = function () {\n return this.cm.display.wrapper.ownerDocument.getSelection()\n };\n\n ContentEditableInput.prototype.showPrimarySelection = function () {\n var sel = this.getSelection(), cm = this.cm, prim = cm.doc.sel.primary();\n var from = prim.from(), to = prim.to();\n\n if (cm.display.viewTo == cm.display.viewFrom || from.line >= cm.display.viewTo || to.line < cm.display.viewFrom) {\n sel.removeAllRanges();\n return\n }\n\n var curAnchor = domToPos(cm, sel.anchorNode, sel.anchorOffset);\n var curFocus = domToPos(cm, sel.focusNode, sel.focusOffset);\n if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad &&\n cmp(minPos(curAnchor, curFocus), from) == 0 &&\n cmp(maxPos(curAnchor, curFocus), to) == 0)\n { return }\n\n var view = cm.display.view;\n var start = (from.line >= cm.display.viewFrom && posToDOM(cm, from)) ||\n {node: view[0].measure.map[2], offset: 0};\n var end = to.line < cm.display.viewTo && posToDOM(cm, to);\n if (!end) {\n var measure = view[view.length - 1].measure;\n var map = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map;\n end = {node: map[map.length - 1], offset: map[map.length - 2] - map[map.length - 3]};\n }\n\n if (!start || !end) {\n sel.removeAllRanges();\n return\n }\n\n var old = sel.rangeCount && sel.getRangeAt(0), rng;\n try { rng = range(start.node, start.offset, end.offset, end.node); }\n catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible\n if (rng) {\n if (!gecko && cm.state.focused) {\n sel.collapse(start.node, start.offset);\n if (!rng.collapsed) {\n sel.removeAllRanges();\n sel.addRange(rng);\n }\n } else {\n sel.removeAllRanges();\n sel.addRange(rng);\n }\n if (old && sel.anchorNode == null) { sel.addRange(old); }\n else if (gecko) { this.startGracePeriod(); }\n }\n this.rememberSelection();\n };\n\n ContentEditableInput.prototype.startGracePeriod = function () {\n var this$1 = this;\n\n clearTimeout(this.gracePeriod);\n this.gracePeriod = setTimeout(function () {\n this$1.gracePeriod = false;\n if (this$1.selectionChanged())\n { this$1.cm.operation(function () { return this$1.cm.curOp.selectionChanged = true; }); }\n }, 20);\n };\n\n ContentEditableInput.prototype.showMultipleSelections = function (info) {\n removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors);\n removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection);\n };\n\n ContentEditableInput.prototype.rememberSelection = function () {\n var sel = this.getSelection();\n this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset;\n this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset;\n };\n\n ContentEditableInput.prototype.selectionInEditor = function () {\n var sel = this.getSelection();\n if (!sel.rangeCount) { return false }\n var node = sel.getRangeAt(0).commonAncestorContainer;\n return contains(this.div, node)\n };\n\n ContentEditableInput.prototype.focus = function () {\n if (this.cm.options.readOnly != \"nocursor\") {\n if (!this.selectionInEditor() || activeElt() != this.div)\n { this.showSelection(this.prepareSelection(), true); }\n this.div.focus();\n }\n };\n ContentEditableInput.prototype.blur = function () { this.div.blur(); };\n ContentEditableInput.prototype.getField = function () { return this.div };\n\n ContentEditableInput.prototype.supportsTouch = function () { return true };\n\n ContentEditableInput.prototype.receivedFocus = function () {\n var input = this;\n if (this.selectionInEditor())\n { this.pollSelection(); }\n else\n { runInOp(this.cm, function () { return input.cm.curOp.selectionChanged = true; }); }\n\n function poll() {\n if (input.cm.state.focused) {\n input.pollSelection();\n input.polling.set(input.cm.options.pollInterval, poll);\n }\n }\n this.polling.set(this.cm.options.pollInterval, poll);\n };\n\n ContentEditableInput.prototype.selectionChanged = function () {\n var sel = this.getSelection();\n return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset ||\n sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset\n };\n\n ContentEditableInput.prototype.pollSelection = function () {\n if (this.readDOMTimeout != null || this.gracePeriod || !this.selectionChanged()) { return }\n var sel = this.getSelection(), cm = this.cm;\n // On Android Chrome (version 56, at least), backspacing into an\n // uneditable block element will put the cursor in that element,\n // and then, because it's not editable, hide the virtual keyboard.\n // Because Android doesn't allow us to actually detect backspace\n // presses in a sane way, this code checks for when that happens\n // and simulates a backspace press in this case.\n if (android && chrome && this.cm.display.gutterSpecs.length && isInGutter(sel.anchorNode)) {\n this.cm.triggerOnKeyDown({type: \"keydown\", keyCode: 8, preventDefault: Math.abs});\n this.blur();\n this.focus();\n return\n }\n if (this.composing) { return }\n this.rememberSelection();\n var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset);\n var head = domToPos(cm, sel.focusNode, sel.focusOffset);\n if (anchor && head) { runInOp(cm, function () {\n setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll);\n if (anchor.bad || head.bad) { cm.curOp.selectionChanged = true; }\n }); }\n };\n\n ContentEditableInput.prototype.pollContent = function () {\n if (this.readDOMTimeout != null) {\n clearTimeout(this.readDOMTimeout);\n this.readDOMTimeout = null;\n }\n\n var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary();\n var from = sel.from(), to = sel.to();\n if (from.ch == 0 && from.line > cm.firstLine())\n { from = Pos(from.line - 1, getLine(cm.doc, from.line - 1).length); }\n if (to.ch == getLine(cm.doc, to.line).text.length && to.line < cm.lastLine())\n { to = Pos(to.line + 1, 0); }\n if (from.line < display.viewFrom || to.line > display.viewTo - 1) { return false }\n\n var fromIndex, fromLine, fromNode;\n if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) {\n fromLine = lineNo(display.view[0].line);\n fromNode = display.view[0].node;\n } else {\n fromLine = lineNo(display.view[fromIndex].line);\n fromNode = display.view[fromIndex - 1].node.nextSibling;\n }\n var toIndex = findViewIndex(cm, to.line);\n var toLine, toNode;\n if (toIndex == display.view.length - 1) {\n toLine = display.viewTo - 1;\n toNode = display.lineDiv.lastChild;\n } else {\n toLine = lineNo(display.view[toIndex + 1].line) - 1;\n toNode = display.view[toIndex + 1].node.previousSibling;\n }\n\n if (!fromNode) { return false }\n var newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine));\n var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length));\n while (newText.length > 1 && oldText.length > 1) {\n if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine--; }\n else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++; }\n else { break }\n }\n\n var cutFront = 0, cutEnd = 0;\n var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length);\n while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront))\n { ++cutFront; }\n var newBot = lst(newText), oldBot = lst(oldText);\n var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0),\n oldBot.length - (oldText.length == 1 ? cutFront : 0));\n while (cutEnd < maxCutEnd &&\n newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1))\n { ++cutEnd; }\n // Try to move start of change to start of selection if ambiguous\n if (newText.length == 1 && oldText.length == 1 && fromLine == from.line) {\n while (cutFront && cutFront > from.ch &&\n newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) {\n cutFront--;\n cutEnd++;\n }\n }\n\n newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd).replace(/^\\u200b+/, \"\");\n newText[0] = newText[0].slice(cutFront).replace(/\\u200b+$/, \"\");\n\n var chFrom = Pos(fromLine, cutFront);\n var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0);\n if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) {\n replaceRange(cm.doc, newText, chFrom, chTo, \"+input\");\n return true\n }\n };\n\n ContentEditableInput.prototype.ensurePolled = function () {\n this.forceCompositionEnd();\n };\n ContentEditableInput.prototype.reset = function () {\n this.forceCompositionEnd();\n };\n ContentEditableInput.prototype.forceCompositionEnd = function () {\n if (!this.composing) { return }\n clearTimeout(this.readDOMTimeout);\n this.composing = null;\n this.updateFromDOM();\n this.div.blur();\n this.div.focus();\n };\n ContentEditableInput.prototype.readFromDOMSoon = function () {\n var this$1 = this;\n\n if (this.readDOMTimeout != null) { return }\n this.readDOMTimeout = setTimeout(function () {\n this$1.readDOMTimeout = null;\n if (this$1.composing) {\n if (this$1.composing.done) { this$1.composing = null; }\n else { return }\n }\n this$1.updateFromDOM();\n }, 80);\n };\n\n ContentEditableInput.prototype.updateFromDOM = function () {\n var this$1 = this;\n\n if (this.cm.isReadOnly() || !this.pollContent())\n { runInOp(this.cm, function () { return regChange(this$1.cm); }); }\n };\n\n ContentEditableInput.prototype.setUneditable = function (node) {\n node.contentEditable = \"false\";\n };\n\n ContentEditableInput.prototype.onKeyPress = function (e) {\n if (e.charCode == 0 || this.composing) { return }\n e.preventDefault();\n if (!this.cm.isReadOnly())\n { operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0); }\n };\n\n ContentEditableInput.prototype.readOnlyChanged = function (val) {\n this.div.contentEditable = String(val != \"nocursor\");\n };\n\n ContentEditableInput.prototype.onContextMenu = function () {};\n ContentEditableInput.prototype.resetPosition = function () {};\n\n ContentEditableInput.prototype.needsContentAttribute = true;\n\n function posToDOM(cm, pos) {\n var view = findViewForLine(cm, pos.line);\n if (!view || view.hidden) { return null }\n var line = getLine(cm.doc, pos.line);\n var info = mapFromLineView(view, line, pos.line);\n\n var order = getOrder(line, cm.doc.direction), side = \"left\";\n if (order) {\n var partPos = getBidiPartAt(order, pos.ch);\n side = partPos % 2 ? \"right\" : \"left\";\n }\n var result = nodeAndOffsetInLineMap(info.map, pos.ch, side);\n result.offset = result.collapse == \"right\" ? result.end : result.start;\n return result\n }\n\n function isInGutter(node) {\n for (var scan = node; scan; scan = scan.parentNode)\n { if (/CodeMirror-gutter-wrapper/.test(scan.className)) { return true } }\n return false\n }\n\n function badPos(pos, bad) { if (bad) { pos.bad = true; } return pos }\n\n function domTextBetween(cm, from, to, fromLine, toLine) {\n var text = \"\", closing = false, lineSep = cm.doc.lineSeparator(), extraLinebreak = false;\n function recognizeMarker(id) { return function (marker) { return marker.id == id; } }\n function close() {\n if (closing) {\n text += lineSep;\n if (extraLinebreak) { text += lineSep; }\n closing = extraLinebreak = false;\n }\n }\n function addText(str) {\n if (str) {\n close();\n text += str;\n }\n }\n function walk(node) {\n if (node.nodeType == 1) {\n var cmText = node.getAttribute(\"cm-text\");\n if (cmText) {\n addText(cmText);\n return\n }\n var markerID = node.getAttribute(\"cm-marker\"), range;\n if (markerID) {\n var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID));\n if (found.length && (range = found[0].find(0)))\n { addText(getBetween(cm.doc, range.from, range.to).join(lineSep)); }\n return\n }\n if (node.getAttribute(\"contenteditable\") == \"false\") { return }\n var isBlock = /^(pre|div|p|li|table|br)$/i.test(node.nodeName);\n if (!/^br$/i.test(node.nodeName) && node.textContent.length == 0) { return }\n\n if (isBlock) { close(); }\n for (var i = 0; i < node.childNodes.length; i++)\n { walk(node.childNodes[i]); }\n\n if (/^(pre|p)$/i.test(node.nodeName)) { extraLinebreak = true; }\n if (isBlock) { closing = true; }\n } else if (node.nodeType == 3) {\n addText(node.nodeValue.replace(/\\u200b/g, \"\").replace(/\\u00a0/g, \" \"));\n }\n }\n for (;;) {\n walk(from);\n if (from == to) { break }\n from = from.nextSibling;\n extraLinebreak = false;\n }\n return text\n }\n\n function domToPos(cm, node, offset) {\n var lineNode;\n if (node == cm.display.lineDiv) {\n lineNode = cm.display.lineDiv.childNodes[offset];\n if (!lineNode) { return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true) }\n node = null; offset = 0;\n } else {\n for (lineNode = node;; lineNode = lineNode.parentNode) {\n if (!lineNode || lineNode == cm.display.lineDiv) { return null }\n if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) { break }\n }\n }\n for (var i = 0; i < cm.display.view.length; i++) {\n var lineView = cm.display.view[i];\n if (lineView.node == lineNode)\n { return locateNodeInLineView(lineView, node, offset) }\n }\n }\n\n function locateNodeInLineView(lineView, node, offset) {\n var wrapper = lineView.text.firstChild, bad = false;\n if (!node || !contains(wrapper, node)) { return badPos(Pos(lineNo(lineView.line), 0), true) }\n if (node == wrapper) {\n bad = true;\n node = wrapper.childNodes[offset];\n offset = 0;\n if (!node) {\n var line = lineView.rest ? lst(lineView.rest) : lineView.line;\n return badPos(Pos(lineNo(line), line.text.length), bad)\n }\n }\n\n var textNode = node.nodeType == 3 ? node : null, topNode = node;\n if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) {\n textNode = node.firstChild;\n if (offset) { offset = textNode.nodeValue.length; }\n }\n while (topNode.parentNode != wrapper) { topNode = topNode.parentNode; }\n var measure = lineView.measure, maps = measure.maps;\n\n function find(textNode, topNode, offset) {\n for (var i = -1; i < (maps ? maps.length : 0); i++) {\n var map = i < 0 ? measure.map : maps[i];\n for (var j = 0; j < map.length; j += 3) {\n var curNode = map[j + 2];\n if (curNode == textNode || curNode == topNode) {\n var line = lineNo(i < 0 ? lineView.line : lineView.rest[i]);\n var ch = map[j] + offset;\n if (offset < 0 || curNode != textNode) { ch = map[j + (offset ? 1 : 0)]; }\n return Pos(line, ch)\n }\n }\n }\n }\n var found = find(textNode, topNode, offset);\n if (found) { return badPos(found, bad) }\n\n // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems\n for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) {\n found = find(after, after.firstChild, 0);\n if (found)\n { return badPos(Pos(found.line, found.ch - dist), bad) }\n else\n { dist += after.textContent.length; }\n }\n for (var before = topNode.previousSibling, dist$1 = offset; before; before = before.previousSibling) {\n found = find(before, before.firstChild, -1);\n if (found)\n { return badPos(Pos(found.line, found.ch + dist$1), bad) }\n else\n { dist$1 += before.textContent.length; }\n }\n }\n\n // TEXTAREA INPUT STYLE\n\n var TextareaInput = function(cm) {\n this.cm = cm;\n // See input.poll and input.reset\n this.prevInput = \"\";\n\n // Flag that indicates whether we expect input to appear real soon\n // now (after some event like 'keypress' or 'input') and are\n // polling intensively.\n this.pollingFast = false;\n // Self-resetting timeout for the poller\n this.polling = new Delayed();\n // Used to work around IE issue with selection being forgotten when focus moves away from textarea\n this.hasSelection = false;\n this.composing = null;\n };\n\n TextareaInput.prototype.init = function (display) {\n var this$1 = this;\n\n var input = this, cm = this.cm;\n this.createField(display);\n var te = this.textarea;\n\n display.wrapper.insertBefore(this.wrapper, display.wrapper.firstChild);\n\n // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore)\n if (ios) { te.style.width = \"0px\"; }\n\n on(te, \"input\", function () {\n if (ie && ie_version >= 9 && this$1.hasSelection) { this$1.hasSelection = null; }\n input.poll();\n });\n\n on(te, \"paste\", function (e) {\n if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return }\n\n cm.state.pasteIncoming = +new Date;\n input.fastPoll();\n });\n\n function prepareCopyCut(e) {\n if (signalDOMEvent(cm, e)) { return }\n if (cm.somethingSelected()) {\n setLastCopied({lineWise: false, text: cm.getSelections()});\n } else if (!cm.options.lineWiseCopyCut) {\n return\n } else {\n var ranges = copyableRanges(cm);\n setLastCopied({lineWise: true, text: ranges.text});\n if (e.type == \"cut\") {\n cm.setSelections(ranges.ranges, null, sel_dontScroll);\n } else {\n input.prevInput = \"\";\n te.value = ranges.text.join(\"\\n\");\n selectInput(te);\n }\n }\n if (e.type == \"cut\") { cm.state.cutIncoming = +new Date; }\n }\n on(te, \"cut\", prepareCopyCut);\n on(te, \"copy\", prepareCopyCut);\n\n on(display.scroller, \"paste\", function (e) {\n if (eventInWidget(display, e) || signalDOMEvent(cm, e)) { return }\n if (!te.dispatchEvent) {\n cm.state.pasteIncoming = +new Date;\n input.focus();\n return\n }\n\n // Pass the `paste` event to the textarea so it's handled by its event listener.\n var event = new Event(\"paste\");\n event.clipboardData = e.clipboardData;\n te.dispatchEvent(event);\n });\n\n // Prevent normal selection in the editor (we handle our own)\n on(display.lineSpace, \"selectstart\", function (e) {\n if (!eventInWidget(display, e)) { e_preventDefault(e); }\n });\n\n on(te, \"compositionstart\", function () {\n var start = cm.getCursor(\"from\");\n if (input.composing) { input.composing.range.clear(); }\n input.composing = {\n start: start,\n range: cm.markText(start, cm.getCursor(\"to\"), {className: \"CodeMirror-composing\"})\n };\n });\n on(te, \"compositionend\", function () {\n if (input.composing) {\n input.poll();\n input.composing.range.clear();\n input.composing = null;\n }\n });\n };\n\n TextareaInput.prototype.createField = function (_display) {\n // Wraps and hides input textarea\n this.wrapper = hiddenTextarea();\n // The semihidden textarea that is focused when the editor is\n // focused, and receives input.\n this.textarea = this.wrapper.firstChild;\n };\n\n TextareaInput.prototype.screenReaderLabelChanged = function (label) {\n // Label for screenreaders, accessibility\n if(label) {\n this.textarea.setAttribute('aria-label', label);\n } else {\n this.textarea.removeAttribute('aria-label');\n }\n };\n\n TextareaInput.prototype.prepareSelection = function () {\n // Redraw the selection and/or cursor\n var cm = this.cm, display = cm.display, doc = cm.doc;\n var result = prepareSelection(cm);\n\n // Move the hidden textarea near the cursor to prevent scrolling artifacts\n if (cm.options.moveInputWithCursor) {\n var headPos = cursorCoords(cm, doc.sel.primary().head, \"div\");\n var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect();\n result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10,\n headPos.top + lineOff.top - wrapOff.top));\n result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10,\n headPos.left + lineOff.left - wrapOff.left));\n }\n\n return result\n };\n\n TextareaInput.prototype.showSelection = function (drawn) {\n var cm = this.cm, display = cm.display;\n removeChildrenAndAdd(display.cursorDiv, drawn.cursors);\n removeChildrenAndAdd(display.selectionDiv, drawn.selection);\n if (drawn.teTop != null) {\n this.wrapper.style.top = drawn.teTop + \"px\";\n this.wrapper.style.left = drawn.teLeft + \"px\";\n }\n };\n\n // Reset the input to correspond to the selection (or to be empty,\n // when not typing and nothing is selected)\n TextareaInput.prototype.reset = function (typing) {\n if (this.contextMenuPending || this.composing) { return }\n var cm = this.cm;\n if (cm.somethingSelected()) {\n this.prevInput = \"\";\n var content = cm.getSelection();\n this.textarea.value = content;\n if (cm.state.focused) { selectInput(this.textarea); }\n if (ie && ie_version >= 9) { this.hasSelection = content; }\n } else if (!typing) {\n this.prevInput = this.textarea.value = \"\";\n if (ie && ie_version >= 9) { this.hasSelection = null; }\n }\n };\n\n TextareaInput.prototype.getField = function () { return this.textarea };\n\n TextareaInput.prototype.supportsTouch = function () { return false };\n\n TextareaInput.prototype.focus = function () {\n if (this.cm.options.readOnly != \"nocursor\" && (!mobile || activeElt() != this.textarea)) {\n try { this.textarea.focus(); }\n catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM\n }\n };\n\n TextareaInput.prototype.blur = function () { this.textarea.blur(); };\n\n TextareaInput.prototype.resetPosition = function () {\n this.wrapper.style.top = this.wrapper.style.left = 0;\n };\n\n TextareaInput.prototype.receivedFocus = function () { this.slowPoll(); };\n\n // Poll for input changes, using the normal rate of polling. This\n // runs as long as the editor is focused.\n TextareaInput.prototype.slowPoll = function () {\n var this$1 = this;\n\n if (this.pollingFast) { return }\n this.polling.set(this.cm.options.pollInterval, function () {\n this$1.poll();\n if (this$1.cm.state.focused) { this$1.slowPoll(); }\n });\n };\n\n // When an event has just come in that is likely to add or change\n // something in the input textarea, we poll faster, to ensure that\n // the change appears on the screen quickly.\n TextareaInput.prototype.fastPoll = function () {\n var missed = false, input = this;\n input.pollingFast = true;\n function p() {\n var changed = input.poll();\n if (!changed && !missed) {missed = true; input.polling.set(60, p);}\n else {input.pollingFast = false; input.slowPoll();}\n }\n input.polling.set(20, p);\n };\n\n // Read input from the textarea, and update the document to match.\n // When something is selected, it is present in the textarea, and\n // selected (unless it is huge, in which case a placeholder is\n // used). When nothing is selected, the cursor sits after previously\n // seen text (can be empty), which is stored in prevInput (we must\n // not reset the textarea when typing, because that breaks IME).\n TextareaInput.prototype.poll = function () {\n var this$1 = this;\n\n var cm = this.cm, input = this.textarea, prevInput = this.prevInput;\n // Since this is called a *lot*, try to bail out as cheaply as\n // possible when it is clear that nothing happened. hasSelection\n // will be the case when there is a lot of text in the textarea,\n // in which case reading its value would be expensive.\n if (this.contextMenuPending || !cm.state.focused ||\n (hasSelection(input) && !prevInput && !this.composing) ||\n cm.isReadOnly() || cm.options.disableInput || cm.state.keySeq)\n { return false }\n\n var text = input.value;\n // If nothing changed, bail.\n if (text == prevInput && !cm.somethingSelected()) { return false }\n // Work around nonsensical selection resetting in IE9/10, and\n // inexplicable appearance of private area unicode characters on\n // some key combos in Mac (#2689).\n if (ie && ie_version >= 9 && this.hasSelection === text ||\n mac && /[\\uf700-\\uf7ff]/.test(text)) {\n cm.display.input.reset();\n return false\n }\n\n if (cm.doc.sel == cm.display.selForContextMenu) {\n var first = text.charCodeAt(0);\n if (first == 0x200b && !prevInput) { prevInput = \"\\u200b\"; }\n if (first == 0x21da) { this.reset(); return this.cm.execCommand(\"undo\") }\n }\n // Find the part of the input that is actually new\n var same = 0, l = Math.min(prevInput.length, text.length);\n while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) { ++same; }\n\n runInOp(cm, function () {\n applyTextInput(cm, text.slice(same), prevInput.length - same,\n null, this$1.composing ? \"*compose\" : null);\n\n // Don't leave long text in the textarea, since it makes further polling slow\n if (text.length > 1000 || text.indexOf(\"\\n\") > -1) { input.value = this$1.prevInput = \"\"; }\n else { this$1.prevInput = text; }\n\n if (this$1.composing) {\n this$1.composing.range.clear();\n this$1.composing.range = cm.markText(this$1.composing.start, cm.getCursor(\"to\"),\n {className: \"CodeMirror-composing\"});\n }\n });\n return true\n };\n\n TextareaInput.prototype.ensurePolled = function () {\n if (this.pollingFast && this.poll()) { this.pollingFast = false; }\n };\n\n TextareaInput.prototype.onKeyPress = function () {\n if (ie && ie_version >= 9) { this.hasSelection = null; }\n this.fastPoll();\n };\n\n TextareaInput.prototype.onContextMenu = function (e) {\n var input = this, cm = input.cm, display = cm.display, te = input.textarea;\n if (input.contextMenuPending) { input.contextMenuPending(); }\n var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop;\n if (!pos || presto) { return } // Opera is difficult.\n\n // Reset the current text selection only if the click is done outside of the selection\n // and 'resetSelectionOnContextMenu' option is true.\n var reset = cm.options.resetSelectionOnContextMenu;\n if (reset && cm.doc.sel.contains(pos) == -1)\n { operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll); }\n\n var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText;\n var wrapperBox = input.wrapper.offsetParent.getBoundingClientRect();\n input.wrapper.style.cssText = \"position: static\";\n te.style.cssText = \"position: absolute; width: 30px; height: 30px;\\n top: \" + (e.clientY - wrapperBox.top - 5) + \"px; left: \" + (e.clientX - wrapperBox.left - 5) + \"px;\\n z-index: 1000; background: \" + (ie ? \"rgba(255, 255, 255, .05)\" : \"transparent\") + \";\\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\";\n var oldScrollY;\n if (webkit) { oldScrollY = window.scrollY; } // Work around Chrome issue (#2712)\n display.input.focus();\n if (webkit) { window.scrollTo(null, oldScrollY); }\n display.input.reset();\n // Adds \"Select all\" to context menu in FF\n if (!cm.somethingSelected()) { te.value = input.prevInput = \" \"; }\n input.contextMenuPending = rehide;\n display.selForContextMenu = cm.doc.sel;\n clearTimeout(display.detectingSelectAll);\n\n // Select-all will be greyed out if there's nothing to select, so\n // this adds a zero-width space so that we can later check whether\n // it got selected.\n function prepareSelectAllHack() {\n if (te.selectionStart != null) {\n var selected = cm.somethingSelected();\n var extval = \"\\u200b\" + (selected ? te.value : \"\");\n te.value = \"\\u21da\"; // Used to catch context-menu undo\n te.value = extval;\n input.prevInput = selected ? \"\" : \"\\u200b\";\n te.selectionStart = 1; te.selectionEnd = extval.length;\n // Re-set this, in case some other handler touched the\n // selection in the meantime.\n display.selForContextMenu = cm.doc.sel;\n }\n }\n function rehide() {\n if (input.contextMenuPending != rehide) { return }\n input.contextMenuPending = false;\n input.wrapper.style.cssText = oldWrapperCSS;\n te.style.cssText = oldCSS;\n if (ie && ie_version < 9) { display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos); }\n\n // Try to detect the user choosing select-all\n if (te.selectionStart != null) {\n if (!ie || (ie && ie_version < 9)) { prepareSelectAllHack(); }\n var i = 0, poll = function () {\n if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 &&\n te.selectionEnd > 0 && input.prevInput == \"\\u200b\") {\n operation(cm, selectAll)(cm);\n } else if (i++ < 10) {\n display.detectingSelectAll = setTimeout(poll, 500);\n } else {\n display.selForContextMenu = null;\n display.input.reset();\n }\n };\n display.detectingSelectAll = setTimeout(poll, 200);\n }\n }\n\n if (ie && ie_version >= 9) { prepareSelectAllHack(); }\n if (captureRightClick) {\n e_stop(e);\n var mouseup = function () {\n off(window, \"mouseup\", mouseup);\n setTimeout(rehide, 20);\n };\n on(window, \"mouseup\", mouseup);\n } else {\n setTimeout(rehide, 50);\n }\n };\n\n TextareaInput.prototype.readOnlyChanged = function (val) {\n if (!val) { this.reset(); }\n this.textarea.disabled = val == \"nocursor\";\n this.textarea.readOnly = !!val;\n };\n\n TextareaInput.prototype.setUneditable = function () {};\n\n TextareaInput.prototype.needsContentAttribute = false;\n\n function fromTextArea(textarea, options) {\n options = options ? copyObj(options) : {};\n options.value = textarea.value;\n if (!options.tabindex && textarea.tabIndex)\n { options.tabindex = textarea.tabIndex; }\n if (!options.placeholder && textarea.placeholder)\n { options.placeholder = textarea.placeholder; }\n // Set autofocus to true if this textarea is focused, or if it has\n // autofocus and no other element is focused.\n if (options.autofocus == null) {\n var hasFocus = activeElt();\n options.autofocus = hasFocus == textarea ||\n textarea.getAttribute(\"autofocus\") != null && hasFocus == document.body;\n }\n\n function save() {textarea.value = cm.getValue();}\n\n var realSubmit;\n if (textarea.form) {\n on(textarea.form, \"submit\", save);\n // Deplorable hack to make the submit method do the right thing.\n if (!options.leaveSubmitMethodAlone) {\n var form = textarea.form;\n realSubmit = form.submit;\n try {\n var wrappedSubmit = form.submit = function () {\n save();\n form.submit = realSubmit;\n form.submit();\n form.submit = wrappedSubmit;\n };\n } catch(e) {}\n }\n }\n\n options.finishInit = function (cm) {\n cm.save = save;\n cm.getTextArea = function () { return textarea; };\n cm.toTextArea = function () {\n cm.toTextArea = isNaN; // Prevent this from being ran twice\n save();\n textarea.parentNode.removeChild(cm.getWrapperElement());\n textarea.style.display = \"\";\n if (textarea.form) {\n off(textarea.form, \"submit\", save);\n if (!options.leaveSubmitMethodAlone && typeof textarea.form.submit == \"function\")\n { textarea.form.submit = realSubmit; }\n }\n };\n };\n\n textarea.style.display = \"none\";\n var cm = CodeMirror(function (node) { return textarea.parentNode.insertBefore(node, textarea.nextSibling); },\n options);\n return cm\n }\n\n function addLegacyProps(CodeMirror) {\n CodeMirror.off = off;\n CodeMirror.on = on;\n CodeMirror.wheelEventPixels = wheelEventPixels;\n CodeMirror.Doc = Doc;\n CodeMirror.splitLines = splitLinesAuto;\n CodeMirror.countColumn = countColumn;\n CodeMirror.findColumn = findColumn;\n CodeMirror.isWordChar = isWordCharBasic;\n CodeMirror.Pass = Pass;\n CodeMirror.signal = signal;\n CodeMirror.Line = Line;\n CodeMirror.changeEnd = changeEnd;\n CodeMirror.scrollbarModel = scrollbarModel;\n CodeMirror.Pos = Pos;\n CodeMirror.cmpPos = cmp;\n CodeMirror.modes = modes;\n CodeMirror.mimeModes = mimeModes;\n CodeMirror.resolveMode = resolveMode;\n CodeMirror.getMode = getMode;\n CodeMirror.modeExtensions = modeExtensions;\n CodeMirror.extendMode = extendMode;\n CodeMirror.copyState = copyState;\n CodeMirror.startState = startState;\n CodeMirror.innerMode = innerMode;\n CodeMirror.commands = commands;\n CodeMirror.keyMap = keyMap;\n CodeMirror.keyName = keyName;\n CodeMirror.isModifierKey = isModifierKey;\n CodeMirror.lookupKey = lookupKey;\n CodeMirror.normalizeKeyMap = normalizeKeyMap;\n CodeMirror.StringStream = StringStream;\n CodeMirror.SharedTextMarker = SharedTextMarker;\n CodeMirror.TextMarker = TextMarker;\n CodeMirror.LineWidget = LineWidget;\n CodeMirror.e_preventDefault = e_preventDefault;\n CodeMirror.e_stopPropagation = e_stopPropagation;\n CodeMirror.e_stop = e_stop;\n CodeMirror.addClass = addClass;\n CodeMirror.contains = contains;\n CodeMirror.rmClass = rmClass;\n CodeMirror.keyNames = keyNames;\n }\n\n // EDITOR CONSTRUCTOR\n\n defineOptions(CodeMirror);\n\n addEditorMethods(CodeMirror);\n\n // Set up methods on CodeMirror's prototype to redirect to the editor's document.\n var dontDelegate = \"iter insert remove copy getEditor constructor\".split(\" \");\n for (var prop in Doc.prototype) { if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0)\n { CodeMirror.prototype[prop] = (function(method) {\n return function() {return method.apply(this.doc, arguments)}\n })(Doc.prototype[prop]); } }\n\n eventMixin(Doc);\n CodeMirror.inputStyles = {\"textarea\": TextareaInput, \"contenteditable\": ContentEditableInput};\n\n // Extra arguments are stored as the mode's dependencies, which is\n // used by (legacy) mechanisms like loadmode.js to automatically\n // load a mode. (Preferred mechanism is the require/define calls.)\n CodeMirror.defineMode = function(name/*, mode, …*/) {\n if (!CodeMirror.defaults.mode && name != \"null\") { CodeMirror.defaults.mode = name; }\n defineMode.apply(this, arguments);\n };\n\n CodeMirror.defineMIME = defineMIME;\n\n // Minimal default mode.\n CodeMirror.defineMode(\"null\", function () { return ({token: function (stream) { return stream.skipToEnd(); }}); });\n CodeMirror.defineMIME(\"text/plain\", \"null\");\n\n // EXTENSIONS\n\n CodeMirror.defineExtension = function (name, func) {\n CodeMirror.prototype[name] = func;\n };\n CodeMirror.defineDocExtension = function (name, func) {\n Doc.prototype[name] = func;\n };\n\n CodeMirror.fromTextArea = fromTextArea;\n\n addLegacyProps(CodeMirror);\n\n CodeMirror.version = \"5.61.1\";\n\n return CodeMirror;\n\n})));\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"javascript\", function(config, parserConfig) {\n var indentUnit = config.indentUnit;\n var statementIndent = parserConfig.statementIndent;\n var jsonldMode = parserConfig.jsonld;\n var jsonMode = parserConfig.json || jsonldMode;\n var trackScope = parserConfig.trackScope !== false\n var isTS = parserConfig.typescript;\n var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n // Tokenizer\n\n var keywords = function(){\n function kw(type) {return {type: type, style: \"keyword\"};}\n var A = kw(\"keyword a\"), B = kw(\"keyword b\"), C = kw(\"keyword c\"), D = kw(\"keyword d\");\n var operator = kw(\"operator\"), atom = {type: \"atom\", style: \"atom\"};\n\n return {\n \"if\": kw(\"if\"), \"while\": A, \"with\": A, \"else\": B, \"do\": B, \"try\": B, \"finally\": B,\n \"return\": D, \"break\": D, \"continue\": D, \"new\": kw(\"new\"), \"delete\": C, \"void\": C, \"throw\": C,\n \"debugger\": kw(\"debugger\"), \"var\": kw(\"var\"), \"const\": kw(\"var\"), \"let\": kw(\"var\"),\n \"function\": kw(\"function\"), \"catch\": kw(\"catch\"),\n \"for\": kw(\"for\"), \"switch\": kw(\"switch\"), \"case\": kw(\"case\"), \"default\": kw(\"default\"),\n \"in\": operator, \"typeof\": operator, \"instanceof\": operator,\n \"true\": atom, \"false\": atom, \"null\": atom, \"undefined\": atom, \"NaN\": atom, \"Infinity\": atom,\n \"this\": kw(\"this\"), \"class\": kw(\"class\"), \"super\": kw(\"atom\"),\n \"yield\": C, \"export\": kw(\"export\"), \"import\": kw(\"import\"), \"extends\": C,\n \"await\": C\n };\n }();\n\n var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;\n\n function readRegexp(stream) {\n var escaped = false, next, inSet = false;\n while ((next = stream.next()) != null) {\n if (!escaped) {\n if (next == \"/\" && !inSet) return;\n if (next == \"[\") inSet = true;\n else if (inSet && next == \"]\") inSet = false;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n }\n\n // Used as scratch variables to communicate multiple values without\n // consing up tons of objects.\n var type, content;\n function ret(tp, style, cont) {\n type = tp; content = cont;\n return style;\n }\n function tokenBase(stream, state) {\n var ch = stream.next();\n if (ch == '\"' || ch == \"'\") {\n state.tokenize = tokenString(ch);\n return state.tokenize(stream, state);\n } else if (ch == \".\" && stream.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/)) {\n return ret(\"number\", \"number\");\n } else if (ch == \".\" && stream.match(\"..\")) {\n return ret(\"spread\", \"meta\");\n } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n return ret(ch);\n } else if (ch == \"=\" && stream.eat(\">\")) {\n return ret(\"=>\", \"operator\");\n } else if (ch == \"0\" && stream.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) {\n return ret(\"number\", \"number\");\n } else if (/\\d/.test(ch)) {\n stream.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/);\n return ret(\"number\", \"number\");\n } else if (ch == \"/\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n } else if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return ret(\"comment\", \"comment\");\n } else if (expressionAllowed(stream, state, 1)) {\n readRegexp(stream);\n stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n return ret(\"regexp\", \"string-2\");\n } else {\n stream.eat(\"=\");\n return ret(\"operator\", \"operator\", stream.current());\n }\n } else if (ch == \"`\") {\n state.tokenize = tokenQuasi;\n return tokenQuasi(stream, state);\n } else if (ch == \"#\" && stream.peek() == \"!\") {\n stream.skipToEnd();\n return ret(\"meta\", \"meta\");\n } else if (ch == \"#\" && stream.eatWhile(wordRE)) {\n return ret(\"variable\", \"property\")\n } else if (ch == \"<\" && stream.match(\"!--\") ||\n (ch == \"-\" && stream.match(\"->\") && !/\\S/.test(stream.string.slice(0, stream.start)))) {\n stream.skipToEnd()\n return ret(\"comment\", \"comment\")\n } else if (isOperatorChar.test(ch)) {\n if (ch != \">\" || !state.lexical || state.lexical.type != \">\") {\n if (stream.eat(\"=\")) {\n if (ch == \"!\" || ch == \"=\") stream.eat(\"=\")\n } else if (/[<>*+\\-|&?]/.test(ch)) {\n stream.eat(ch)\n if (ch == \">\") stream.eat(ch)\n }\n }\n if (ch == \"?\" && stream.eat(\".\")) return ret(\".\")\n return ret(\"operator\", \"operator\", stream.current());\n } else if (wordRE.test(ch)) {\n stream.eatWhile(wordRE);\n var word = stream.current()\n if (state.lastType != \".\") {\n if (keywords.propertyIsEnumerable(word)) {\n var kw = keywords[word]\n return ret(kw.type, kw.style, word)\n }\n if (word == \"async\" && stream.match(/^(\\s|\\/\\*([^*]|\\*(?!\\/))*?\\*\\/)*[\\[\\(\\w]/, false))\n return ret(\"async\", \"keyword\", word)\n }\n return ret(\"variable\", \"variable\", word)\n }\n }\n\n function tokenString(quote) {\n return function(stream, state) {\n var escaped = false, next;\n if (jsonldMode && stream.peek() == \"@\" && stream.match(isJsonldKeyword)){\n state.tokenize = tokenBase;\n return ret(\"jsonld-keyword\", \"meta\");\n }\n while ((next = stream.next()) != null) {\n if (next == quote && !escaped) break;\n escaped = !escaped && next == \"\\\\\";\n }\n if (!escaped) state.tokenize = tokenBase;\n return ret(\"string\", \"string\");\n };\n }\n\n function tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if (ch == \"/\" && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return ret(\"comment\", \"comment\");\n }\n\n function tokenQuasi(stream, state) {\n var escaped = false, next;\n while ((next = stream.next()) != null) {\n if (!escaped && (next == \"`\" || next == \"$\" && stream.eat(\"{\"))) {\n state.tokenize = tokenBase;\n break;\n }\n escaped = !escaped && next == \"\\\\\";\n }\n return ret(\"quasi\", \"string-2\", stream.current());\n }\n\n var brackets = \"([{}])\";\n // This is a crude lookahead trick to try and notice that we're\n // parsing the argument patterns for a fat-arrow function before we\n // actually hit the arrow token. It only works if the arrow is on\n // the same line as the arguments and there's no strange noise\n // (comments) in between. Fallback is to only notice when we hit the\n // arrow, and not declare the arguments as locals for the arrow\n // body.\n function findFatArrow(stream, state) {\n if (state.fatArrowAt) state.fatArrowAt = null;\n var arrow = stream.string.indexOf(\"=>\", stream.start);\n if (arrow < 0) return;\n\n if (isTS) { // Try to skip TypeScript return type declarations after the arguments\n var m = /:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(stream.string.slice(stream.start, arrow))\n if (m) arrow = m.index\n }\n\n var depth = 0, sawSomething = false;\n for (var pos = arrow - 1; pos >= 0; --pos) {\n var ch = stream.string.charAt(pos);\n var bracket = brackets.indexOf(ch);\n if (bracket >= 0 && bracket < 3) {\n if (!depth) { ++pos; break; }\n if (--depth == 0) { if (ch == \"(\") sawSomething = true; break; }\n } else if (bracket >= 3 && bracket < 6) {\n ++depth;\n } else if (wordRE.test(ch)) {\n sawSomething = true;\n } else if (/[\"'\\/`]/.test(ch)) {\n for (;; --pos) {\n if (pos == 0) return\n var next = stream.string.charAt(pos - 1)\n if (next == ch && stream.string.charAt(pos - 2) != \"\\\\\") { pos--; break }\n }\n } else if (sawSomething && !depth) {\n ++pos;\n break;\n }\n }\n if (sawSomething && !depth) state.fatArrowAt = pos;\n }\n\n // Parser\n\n var atomicTypes = {\"atom\": true, \"number\": true, \"variable\": true, \"string\": true,\n \"regexp\": true, \"this\": true, \"import\": true, \"jsonld-keyword\": true};\n\n function JSLexical(indented, column, type, align, prev, info) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.prev = prev;\n this.info = info;\n if (align != null) this.align = align;\n }\n\n function inScope(state, varname) {\n if (!trackScope) return false\n for (var v = state.localVars; v; v = v.next)\n if (v.name == varname) return true;\n for (var cx = state.context; cx; cx = cx.prev) {\n for (var v = cx.vars; v; v = v.next)\n if (v.name == varname) return true;\n }\n }\n\n function parseJS(state, style, type, content, stream) {\n var cc = state.cc;\n // Communicate our context to the combinators.\n // (Less wasteful than consing up a hundred closures on every call.)\n cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;\n\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = true;\n\n while(true) {\n var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\n if (combinator(type, content)) {\n while(cc.length && cc[cc.length - 1].lex)\n cc.pop()();\n if (cx.marked) return cx.marked;\n if (type == \"variable\" && inScope(state, content)) return \"variable-2\";\n return style;\n }\n }\n }\n\n // Combinator utils\n\n var cx = {state: null, column: null, marked: null, cc: null};\n function pass() {\n for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\n }\n function cont() {\n pass.apply(null, arguments);\n return true;\n }\n function inList(name, list) {\n for (var v = list; v; v = v.next) if (v.name == name) return true\n return false;\n }\n function register(varname) {\n var state = cx.state;\n cx.marked = \"def\";\n if (!trackScope) return\n if (state.context) {\n if (state.lexical.info == \"var\" && state.context && state.context.block) {\n // FIXME function decls are also not block scoped\n var newContext = registerVarScoped(varname, state.context)\n if (newContext != null) {\n state.context = newContext\n return\n }\n } else if (!inList(varname, state.localVars)) {\n state.localVars = new Var(varname, state.localVars)\n return\n }\n }\n // Fall through means this is global\n if (parserConfig.globalVars && !inList(varname, state.globalVars))\n state.globalVars = new Var(varname, state.globalVars)\n }\n function registerVarScoped(varname, context) {\n if (!context) {\n return null\n } else if (context.block) {\n var inner = registerVarScoped(varname, context.prev)\n if (!inner) return null\n if (inner == context.prev) return context\n return new Context(inner, context.vars, true)\n } else if (inList(varname, context.vars)) {\n return context\n } else {\n return new Context(context.prev, new Var(varname, context.vars), false)\n }\n }\n\n function isModifier(name) {\n return name == \"public\" || name == \"private\" || name == \"protected\" || name == \"abstract\" || name == \"readonly\"\n }\n\n // Combinators\n\n function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\n function Var(name, next) { this.name = name; this.next = next }\n\n var defaultVars = new Var(\"this\", new Var(\"arguments\", null))\n function pushcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\n cx.state.localVars = defaultVars\n }\n function pushblockcontext() {\n cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\n cx.state.localVars = null\n }\n function popcontext() {\n cx.state.localVars = cx.state.context.vars\n cx.state.context = cx.state.context.prev\n }\n popcontext.lex = true\n function pushlex(type, info) {\n var result = function() {\n var state = cx.state, indent = state.indented;\n if (state.lexical.type == \"stat\") indent = state.lexical.indented;\n else for (var outer = state.lexical; outer && outer.type == \")\" && outer.align; outer = outer.prev)\n indent = outer.indented;\n state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\n };\n result.lex = true;\n return result;\n }\n function poplex() {\n var state = cx.state;\n if (state.lexical.prev) {\n if (state.lexical.type == \")\")\n state.indented = state.lexical.indented;\n state.lexical = state.lexical.prev;\n }\n }\n poplex.lex = true;\n\n function expect(wanted) {\n function exp(type) {\n if (type == wanted) return cont();\n else if (wanted == \";\" || type == \"}\" || type == \")\" || type == \"]\") return pass();\n else return cont(exp);\n };\n return exp;\n }\n\n function statement(type, value) {\n if (type == \"var\") return cont(pushlex(\"vardef\", value), vardef, expect(\";\"), poplex);\n if (type == \"keyword a\") return cont(pushlex(\"form\"), parenExpr, statement, poplex);\n if (type == \"keyword b\") return cont(pushlex(\"form\"), statement, poplex);\n if (type == \"keyword d\") return cx.stream.match(/^\\s*$/, false) ? cont() : cont(pushlex(\"stat\"), maybeexpression, expect(\";\"), poplex);\n if (type == \"debugger\") return cont(expect(\";\"));\n if (type == \"{\") return cont(pushlex(\"}\"), pushblockcontext, block, poplex, popcontext);\n if (type == \";\") return cont();\n if (type == \"if\") {\n if (cx.state.lexical.info == \"else\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\n cx.state.cc.pop()();\n return cont(pushlex(\"form\"), parenExpr, statement, poplex, maybeelse);\n }\n if (type == \"function\") return cont(functiondef);\n if (type == \"for\") return cont(pushlex(\"form\"), pushblockcontext, forspec, statement, popcontext, poplex);\n if (type == \"class\" || (isTS && value == \"interface\")) {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\", type == \"class\" ? type : value), className, poplex)\n }\n if (type == \"variable\") {\n if (isTS && value == \"declare\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else if (isTS && (value == \"module\" || value == \"enum\" || value == \"type\") && cx.stream.match(/^\\s*\\w/, false)) {\n cx.marked = \"keyword\"\n if (value == \"enum\") return cont(enumdef);\n else if (value == \"type\") return cont(typename, expect(\"operator\"), typeexpr, expect(\";\"));\n else return cont(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), block, poplex, poplex)\n } else if (isTS && value == \"namespace\") {\n cx.marked = \"keyword\"\n return cont(pushlex(\"form\"), expression, statement, poplex)\n } else if (isTS && value == \"abstract\") {\n cx.marked = \"keyword\"\n return cont(statement)\n } else {\n return cont(pushlex(\"stat\"), maybelabel);\n }\n }\n if (type == \"switch\") return cont(pushlex(\"form\"), parenExpr, expect(\"{\"), pushlex(\"}\", \"switch\"), pushblockcontext,\n block, poplex, poplex, popcontext);\n if (type == \"case\") return cont(expression, expect(\":\"));\n if (type == \"default\") return cont(expect(\":\"));\n if (type == \"catch\") return cont(pushlex(\"form\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\n if (type == \"export\") return cont(pushlex(\"stat\"), afterExport, poplex);\n if (type == \"import\") return cont(pushlex(\"stat\"), afterImport, poplex);\n if (type == \"async\") return cont(statement)\n if (value == \"@\") return cont(expression, statement)\n return pass(pushlex(\"stat\"), expression, expect(\";\"), poplex);\n }\n function maybeCatchBinding(type) {\n if (type == \"(\") return cont(funarg, expect(\")\"))\n }\n function expression(type, value) {\n return expressionInner(type, value, false);\n }\n function expressionNoComma(type, value) {\n return expressionInner(type, value, true);\n }\n function parenExpr(type) {\n if (type != \"(\") return pass()\n return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex)\n }\n function expressionInner(type, value, noComma) {\n if (cx.state.fatArrowAt == cx.stream.start) {\n var body = noComma ? arrowBodyNoComma : arrowBody;\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, expect(\"=>\"), body, popcontext);\n else if (type == \"variable\") return pass(pushcontext, pattern, expect(\"=>\"), body, popcontext);\n }\n\n var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\n if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\n if (type == \"function\") return cont(functiondef, maybeop);\n if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), classExpression, poplex); }\n if (type == \"keyword c\" || type == \"async\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"(\") return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex, maybeop);\n if (type == \"operator\" || type == \"spread\") return cont(noComma ? expressionNoComma : expression);\n if (type == \"[\") return cont(pushlex(\"]\"), arrayLiteral, poplex, maybeop);\n if (type == \"{\") return contCommasep(objprop, \"}\", null, maybeop);\n if (type == \"quasi\") return pass(quasi, maybeop);\n if (type == \"new\") return cont(maybeTarget(noComma));\n return cont();\n }\n function maybeexpression(type) {\n if (type.match(/[;\\}\\)\\],]/)) return pass();\n return pass(expression);\n }\n\n function maybeoperatorComma(type, value) {\n if (type == \",\") return cont(maybeexpression);\n return maybeoperatorNoComma(type, value, false);\n }\n function maybeoperatorNoComma(type, value, noComma) {\n var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\n var expr = noComma == false ? expression : expressionNoComma;\n if (type == \"=>\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\n if (type == \"operator\") {\n if (/\\+\\+|--/.test(value) || isTS && value == \"!\") return cont(me);\n if (isTS && value == \"<\" && cx.stream.match(/^([^<>]|<[^<>]*>)*>\\s*\\(/, false))\n return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, me);\n if (value == \"?\") return cont(expression, expect(\":\"), expr);\n return cont(expr);\n }\n if (type == \"quasi\") { return pass(quasi, me); }\n if (type == \";\") return;\n if (type == \"(\") return contCommasep(expressionNoComma, \")\", \"call\", me);\n if (type == \".\") return cont(property, me);\n if (type == \"[\") return cont(pushlex(\"]\"), maybeexpression, expect(\"]\"), poplex, me);\n if (isTS && value == \"as\") { cx.marked = \"keyword\"; return cont(typeexpr, me) }\n if (type == \"regexp\") {\n cx.state.lastType = cx.marked = \"operator\"\n cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\n return cont(expr)\n }\n }\n function quasi(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasi);\n return cont(expression, continueQuasi);\n }\n function continueQuasi(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasi);\n }\n }\n function arrowBody(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expression);\n }\n function arrowBodyNoComma(type) {\n findFatArrow(cx.stream, cx.state);\n return pass(type == \"{\" ? statement : expressionNoComma);\n }\n function maybeTarget(noComma) {\n return function(type) {\n if (type == \".\") return cont(noComma ? targetNoComma : target);\n else if (type == \"variable\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\n else return pass(noComma ? expressionNoComma : expression);\n };\n }\n function target(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorComma); }\n }\n function targetNoComma(_, value) {\n if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorNoComma); }\n }\n function maybelabel(type) {\n if (type == \":\") return cont(poplex, statement);\n return pass(maybeoperatorComma, expect(\";\"), poplex);\n }\n function property(type) {\n if (type == \"variable\") {cx.marked = \"property\"; return cont();}\n }\n function objprop(type, value) {\n if (type == \"async\") {\n cx.marked = \"property\";\n return cont(objprop);\n } else if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n if (value == \"get\" || value == \"set\") return cont(getterSetter);\n var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\n if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\s*:\\s*/, false)))\n cx.state.fatArrowAt = cx.stream.pos + m[0].length\n return cont(afterprop);\n } else if (type == \"number\" || type == \"string\") {\n cx.marked = jsonldMode ? \"property\" : (cx.style + \" property\");\n return cont(afterprop);\n } else if (type == \"jsonld-keyword\") {\n return cont(afterprop);\n } else if (isTS && isModifier(value)) {\n cx.marked = \"keyword\"\n return cont(objprop)\n } else if (type == \"[\") {\n return cont(expression, maybetype, expect(\"]\"), afterprop);\n } else if (type == \"spread\") {\n return cont(expressionNoComma, afterprop);\n } else if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(objprop);\n } else if (type == \":\") {\n return pass(afterprop)\n }\n }\n function getterSetter(type) {\n if (type != \"variable\") return pass(afterprop);\n cx.marked = \"property\";\n return cont(functiondef);\n }\n function afterprop(type) {\n if (type == \":\") return cont(expressionNoComma);\n if (type == \"(\") return pass(functiondef);\n }\n function commasep(what, end, sep) {\n function proceed(type, value) {\n if (sep ? sep.indexOf(type) > -1 : type == \",\") {\n var lex = cx.state.lexical;\n if (lex.info == \"call\") lex.pos = (lex.pos || 0) + 1;\n return cont(function(type, value) {\n if (type == end || value == end) return pass()\n return pass(what)\n }, proceed);\n }\n if (type == end || value == end) return cont();\n if (sep && sep.indexOf(\";\") > -1) return pass(what)\n return cont(expect(end));\n }\n return function(type, value) {\n if (type == end || value == end) return cont();\n return pass(what, proceed);\n };\n }\n function contCommasep(what, end, info) {\n for (var i = 3; i < arguments.length; i++)\n cx.cc.push(arguments[i]);\n return cont(pushlex(end, info), commasep(what, end), poplex);\n }\n function block(type) {\n if (type == \"}\") return cont();\n return pass(statement, block);\n }\n function maybetype(type, value) {\n if (isTS) {\n if (type == \":\") return cont(typeexpr);\n if (value == \"?\") return cont(maybetype);\n }\n }\n function maybetypeOrIn(type, value) {\n if (isTS && (type == \":\" || value == \"in\")) return cont(typeexpr)\n }\n function mayberettype(type) {\n if (isTS && type == \":\") {\n if (cx.stream.match(/^\\s*\\w+\\s+is\\b/, false)) return cont(expression, isKW, typeexpr)\n else return cont(typeexpr)\n }\n }\n function isKW(_, value) {\n if (value == \"is\") {\n cx.marked = \"keyword\"\n return cont()\n }\n }\n function typeexpr(type, value) {\n if (value == \"keyof\" || value == \"typeof\" || value == \"infer\" || value == \"readonly\") {\n cx.marked = \"keyword\"\n return cont(value == \"typeof\" ? expressionNoComma : typeexpr)\n }\n if (type == \"variable\" || value == \"void\") {\n cx.marked = \"type\"\n return cont(afterType)\n }\n if (value == \"|\" || value == \"&\") return cont(typeexpr)\n if (type == \"string\" || type == \"number\" || type == \"atom\") return cont(afterType);\n if (type == \"[\") return cont(pushlex(\"]\"), commasep(typeexpr, \"]\", \",\"), poplex, afterType)\n if (type == \"{\") return cont(pushlex(\"}\"), typeprops, poplex, afterType)\n if (type == \"(\") return cont(commasep(typearg, \")\"), maybeReturnType, afterType)\n if (type == \"<\") return cont(commasep(typeexpr, \">\"), typeexpr)\n if (type == \"quasi\") { return pass(quasiType, afterType); }\n }\n function maybeReturnType(type) {\n if (type == \"=>\") return cont(typeexpr)\n }\n function typeprops(type) {\n if (type.match(/[\\}\\)\\]]/)) return cont()\n if (type == \",\" || type == \";\") return cont(typeprops)\n return pass(typeprop, typeprops)\n }\n function typeprop(type, value) {\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\"\n return cont(typeprop)\n } else if (value == \"?\" || type == \"number\" || type == \"string\") {\n return cont(typeprop)\n } else if (type == \":\") {\n return cont(typeexpr)\n } else if (type == \"[\") {\n return cont(expect(\"variable\"), maybetypeOrIn, expect(\"]\"), typeprop)\n } else if (type == \"(\") {\n return pass(functiondecl, typeprop)\n } else if (!type.match(/[;\\}\\)\\],]/)) {\n return cont()\n }\n }\n function quasiType(type, value) {\n if (type != \"quasi\") return pass();\n if (value.slice(value.length - 2) != \"${\") return cont(quasiType);\n return cont(typeexpr, continueQuasiType);\n }\n function continueQuasiType(type) {\n if (type == \"}\") {\n cx.marked = \"string-2\";\n cx.state.tokenize = tokenQuasi;\n return cont(quasiType);\n }\n }\n function typearg(type, value) {\n if (type == \"variable\" && cx.stream.match(/^\\s*[?:]/, false) || value == \"?\") return cont(typearg)\n if (type == \":\") return cont(typeexpr)\n if (type == \"spread\") return cont(typearg)\n return pass(typeexpr)\n }\n function afterType(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n if (value == \"|\" || type == \".\" || value == \"&\") return cont(typeexpr)\n if (type == \"[\") return cont(typeexpr, expect(\"]\"), afterType)\n if (value == \"extends\" || value == \"implements\") { cx.marked = \"keyword\"; return cont(typeexpr) }\n if (value == \"?\") return cont(typeexpr, expect(\":\"), typeexpr)\n }\n function maybeTypeArgs(_, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n }\n function typeparam() {\n return pass(typeexpr, maybeTypeDefault)\n }\n function maybeTypeDefault(_, value) {\n if (value == \"=\") return cont(typeexpr)\n }\n function vardef(_, value) {\n if (value == \"enum\") {cx.marked = \"keyword\"; return cont(enumdef)}\n return pass(pattern, maybetype, maybeAssign, vardefCont);\n }\n function pattern(type, value) {\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(pattern) }\n if (type == \"variable\") { register(value); return cont(); }\n if (type == \"spread\") return cont(pattern);\n if (type == \"[\") return contCommasep(eltpattern, \"]\");\n if (type == \"{\") return contCommasep(proppattern, \"}\");\n }\n function proppattern(type, value) {\n if (type == \"variable\" && !cx.stream.match(/^\\s*:/, false)) {\n register(value);\n return cont(maybeAssign);\n }\n if (type == \"variable\") cx.marked = \"property\";\n if (type == \"spread\") return cont(pattern);\n if (type == \"}\") return pass();\n if (type == \"[\") return cont(expression, expect(']'), expect(':'), proppattern);\n return cont(expect(\":\"), pattern, maybeAssign);\n }\n function eltpattern() {\n return pass(pattern, maybeAssign)\n }\n function maybeAssign(_type, value) {\n if (value == \"=\") return cont(expressionNoComma);\n }\n function vardefCont(type) {\n if (type == \",\") return cont(vardef);\n }\n function maybeelse(type, value) {\n if (type == \"keyword b\" && value == \"else\") return cont(pushlex(\"form\", \"else\"), statement, poplex);\n }\n function forspec(type, value) {\n if (value == \"await\") return cont(forspec);\n if (type == \"(\") return cont(pushlex(\")\"), forspec1, poplex);\n }\n function forspec1(type) {\n if (type == \"var\") return cont(vardef, forspec2);\n if (type == \"variable\") return cont(forspec2);\n return pass(forspec2)\n }\n function forspec2(type, value) {\n if (type == \")\") return cont()\n if (type == \";\") return cont(forspec2)\n if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression, forspec2) }\n return pass(expression, forspec2)\n }\n function functiondef(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondef);}\n if (type == \"variable\") {register(value); return cont(functiondef);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, statement, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondef)\n }\n function functiondecl(type, value) {\n if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondecl);}\n if (type == \"variable\") {register(value); return cont(functiondecl);}\n if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, popcontext);\n if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondecl)\n }\n function typename(type, value) {\n if (type == \"keyword\" || type == \"variable\") {\n cx.marked = \"type\"\n return cont(typename)\n } else if (value == \"<\") {\n return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex)\n }\n }\n function funarg(type, value) {\n if (value == \"@\") cont(expression, funarg)\n if (type == \"spread\") return cont(funarg);\n if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(funarg); }\n if (isTS && type == \"this\") return cont(maybetype, maybeAssign)\n return pass(pattern, maybetype, maybeAssign);\n }\n function classExpression(type, value) {\n // Class expressions may have an optional name.\n if (type == \"variable\") return className(type, value);\n return classNameAfter(type, value);\n }\n function className(type, value) {\n if (type == \"variable\") {register(value); return cont(classNameAfter);}\n }\n function classNameAfter(type, value) {\n if (value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, classNameAfter)\n if (value == \"extends\" || value == \"implements\" || (isTS && type == \",\")) {\n if (value == \"implements\") cx.marked = \"keyword\";\n return cont(isTS ? typeexpr : expression, classNameAfter);\n }\n if (type == \"{\") return cont(pushlex(\"}\"), classBody, poplex);\n }\n function classBody(type, value) {\n if (type == \"async\" ||\n (type == \"variable\" &&\n (value == \"static\" || value == \"get\" || value == \"set\" || (isTS && isModifier(value))) &&\n cx.stream.match(/^\\s+[\\w$\\xa1-\\uffff]/, false))) {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (type == \"variable\" || cx.style == \"keyword\") {\n cx.marked = \"property\";\n return cont(classfield, classBody);\n }\n if (type == \"number\" || type == \"string\") return cont(classfield, classBody);\n if (type == \"[\")\n return cont(expression, maybetype, expect(\"]\"), classfield, classBody)\n if (value == \"*\") {\n cx.marked = \"keyword\";\n return cont(classBody);\n }\n if (isTS && type == \"(\") return pass(functiondecl, classBody)\n if (type == \";\" || type == \",\") return cont(classBody);\n if (type == \"}\") return cont();\n if (value == \"@\") return cont(expression, classBody)\n }\n function classfield(type, value) {\n if (value == \"!\") return cont(classfield)\n if (value == \"?\") return cont(classfield)\n if (type == \":\") return cont(typeexpr, maybeAssign)\n if (value == \"=\") return cont(expressionNoComma)\n var context = cx.state.lexical.prev, isInterface = context && context.info == \"interface\"\n return pass(isInterface ? functiondecl : functiondef)\n }\n function afterExport(type, value) {\n if (value == \"*\") { cx.marked = \"keyword\"; return cont(maybeFrom, expect(\";\")); }\n if (value == \"default\") { cx.marked = \"keyword\"; return cont(expression, expect(\";\")); }\n if (type == \"{\") return cont(commasep(exportField, \"}\"), maybeFrom, expect(\";\"));\n return pass(statement);\n }\n function exportField(type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(expect(\"variable\")); }\n if (type == \"variable\") return pass(expressionNoComma, exportField);\n }\n function afterImport(type) {\n if (type == \"string\") return cont();\n if (type == \"(\") return pass(expression);\n if (type == \".\") return pass(maybeoperatorComma);\n return pass(importSpec, maybeMoreImports, maybeFrom);\n }\n function importSpec(type, value) {\n if (type == \"{\") return contCommasep(importSpec, \"}\");\n if (type == \"variable\") register(value);\n if (value == \"*\") cx.marked = \"keyword\";\n return cont(maybeAs);\n }\n function maybeMoreImports(type) {\n if (type == \",\") return cont(importSpec, maybeMoreImports)\n }\n function maybeAs(_type, value) {\n if (value == \"as\") { cx.marked = \"keyword\"; return cont(importSpec); }\n }\n function maybeFrom(_type, value) {\n if (value == \"from\") { cx.marked = \"keyword\"; return cont(expression); }\n }\n function arrayLiteral(type) {\n if (type == \"]\") return cont();\n return pass(commasep(expressionNoComma, \"]\"));\n }\n function enumdef() {\n return pass(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), commasep(enummember, \"}\"), poplex, poplex)\n }\n function enummember() {\n return pass(pattern, maybeAssign);\n }\n\n function isContinuedStatement(state, textAfter) {\n return state.lastType == \"operator\" || state.lastType == \",\" ||\n isOperatorChar.test(textAfter.charAt(0)) ||\n /[,.]/.test(textAfter.charAt(0));\n }\n\n function expressionAllowed(stream, state, backUp) {\n return state.tokenize == tokenBase &&\n /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(state.lastType) ||\n (state.lastType == \"quasi\" && /\\{\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\n }\n\n // Interface\n\n return {\n startState: function(basecolumn) {\n var state = {\n tokenize: tokenBase,\n lastType: \"sof\",\n cc: [],\n lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, \"block\", false),\n localVars: parserConfig.localVars,\n context: parserConfig.localVars && new Context(null, null, false),\n indented: basecolumn || 0\n };\n if (parserConfig.globalVars && typeof parserConfig.globalVars == \"object\")\n state.globalVars = parserConfig.globalVars;\n return state;\n },\n\n token: function(stream, state) {\n if (stream.sol()) {\n if (!state.lexical.hasOwnProperty(\"align\"))\n state.lexical.align = false;\n state.indented = stream.indentation();\n findFatArrow(stream, state);\n }\n if (state.tokenize != tokenComment && stream.eatSpace()) return null;\n var style = state.tokenize(stream, state);\n if (type == \"comment\") return style;\n state.lastType = type == \"operator\" && (content == \"++\" || content == \"--\") ? \"incdec\" : type;\n return parseJS(state, style, type, content, stream);\n },\n\n indent: function(state, textAfter) {\n if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return CodeMirror.Pass;\n if (state.tokenize != tokenBase) return 0;\n var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\n // Kludge to prevent 'maybelse' from blocking lexical scope pops\n if (!/^\\s*else\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\n var c = state.cc[i];\n if (c == poplex) lexical = lexical.prev;\n else if (c != maybeelse && c != popcontext) break;\n }\n while ((lexical.type == \"stat\" || lexical.type == \"form\") &&\n (firstChar == \"}\" || ((top = state.cc[state.cc.length - 1]) &&\n (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\n !/^[,\\.=+\\-*:?[\\(]/.test(textAfter))))\n lexical = lexical.prev;\n if (statementIndent && lexical.type == \")\" && lexical.prev.type == \"stat\")\n lexical = lexical.prev;\n var type = lexical.type, closing = firstChar == type;\n\n if (type == \"vardef\") return lexical.indented + (state.lastType == \"operator\" || state.lastType == \",\" ? lexical.info.length + 1 : 0);\n else if (type == \"form\" && firstChar == \"{\") return lexical.indented;\n else if (type == \"form\") return lexical.indented + indentUnit;\n else if (type == \"stat\")\n return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);\n else if (lexical.info == \"switch\" && !closing && parserConfig.doubleIndentSwitch != false)\n return lexical.indented + (/^(?:case|default)\\b/.test(textAfter) ? indentUnit : 2 * indentUnit);\n else if (lexical.align) return lexical.column + (closing ? 0 : 1);\n else return lexical.indented + (closing ? 0 : indentUnit);\n },\n\n electricInput: /^\\s*(?:case .*?:|default:|\\{|\\})$/,\n blockCommentStart: jsonMode ? null : \"/*\",\n blockCommentEnd: jsonMode ? null : \"*/\",\n blockCommentContinue: jsonMode ? null : \" * \",\n lineComment: jsonMode ? null : \"//\",\n fold: \"brace\",\n closeBrackets: \"()[]{}''\\\"\\\"``\",\n\n helperType: jsonMode ? \"json\" : \"javascript\",\n jsonldMode: jsonldMode,\n jsonMode: jsonMode,\n\n expressionAllowed: expressionAllowed,\n\n skipExpression: function(state) {\n parseJS(state, \"atom\", \"atom\", \"true\", new CodeMirror.StringStream(\"\", 2, null))\n }\n };\n});\n\nCodeMirror.registerHelper(\"wordChars\", \"javascript\", /[\\w$]/);\n\nCodeMirror.defineMIME(\"text/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"text/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/x-javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/x-json\", { name: \"javascript\", json: true });\nCodeMirror.defineMIME(\"application/manifest+json\", { name: \"javascript\", json: true })\nCodeMirror.defineMIME(\"application/ld+json\", { name: \"javascript\", jsonld: true });\nCodeMirror.defineMIME(\"text/typescript\", { name: \"javascript\", typescript: true });\nCodeMirror.defineMIME(\"application/typescript\", { name: \"javascript\", typescript: true });\n\n});\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"yaml\", function() {\n\n var cons = ['true', 'false', 'on', 'off', 'yes', 'no'];\n var keywordRegex = new RegExp(\"\\\\b((\"+cons.join(\")|(\")+\"))$\", 'i');\n\n return {\n token: function(stream, state) {\n var ch = stream.peek();\n var esc = state.escaped;\n state.escaped = false;\n /* comments */\n if (ch == \"#\" && (stream.pos == 0 || /\\s/.test(stream.string.charAt(stream.pos - 1)))) {\n stream.skipToEnd();\n return \"comment\";\n }\n\n if (stream.match(/^('([^']|\\\\.)*'?|\"([^\"]|\\\\.)*\"?)/))\n return \"string\";\n\n if (state.literal && stream.indentation() > state.keyCol) {\n stream.skipToEnd(); return \"string\";\n } else if (state.literal) { state.literal = false; }\n if (stream.sol()) {\n state.keyCol = 0;\n state.pair = false;\n state.pairStart = false;\n /* document start */\n if(stream.match('---')) { return \"def\"; }\n /* document end */\n if (stream.match('...')) { return \"def\"; }\n /* array list item */\n if (stream.match(/\\s*-\\s+/)) { return 'meta'; }\n }\n /* inline pairs/lists */\n if (stream.match(/^(\\{|\\}|\\[|\\])/)) {\n if (ch == '{')\n state.inlinePairs++;\n else if (ch == '}')\n state.inlinePairs--;\n else if (ch == '[')\n state.inlineList++;\n else\n state.inlineList--;\n return 'meta';\n }\n\n /* list separator */\n if (state.inlineList > 0 && !esc && ch == ',') {\n stream.next();\n return 'meta';\n }\n /* pairs separator */\n if (state.inlinePairs > 0 && !esc && ch == ',') {\n state.keyCol = 0;\n state.pair = false;\n state.pairStart = false;\n stream.next();\n return 'meta';\n }\n\n /* start of value of a pair */\n if (state.pairStart) {\n /* block literals */\n if (stream.match(/^\\s*(\\||\\>)\\s*/)) { state.literal = true; return 'meta'; };\n /* references */\n if (stream.match(/^\\s*(\\&|\\*)[a-z0-9\\._-]+\\b/i)) { return 'variable-2'; }\n /* numbers */\n if (state.inlinePairs == 0 && stream.match(/^\\s*-?[0-9\\.\\,]+\\s?$/)) { return 'number'; }\n if (state.inlinePairs > 0 && stream.match(/^\\s*-?[0-9\\.\\,]+\\s?(?=(,|}))/)) { return 'number'; }\n /* keywords */\n if (stream.match(keywordRegex)) { return 'keyword'; }\n }\n\n /* pairs (associative arrays) -> key */\n if (!state.pair && stream.match(/^\\s*(?:[,\\[\\]{}&*!|>'\"%@`][^\\s'\":]|[^,\\[\\]{}#&*!|>'\"%@`])[^#]*?(?=\\s*:($|\\s))/)) {\n state.pair = true;\n state.keyCol = stream.indentation();\n return \"atom\";\n }\n if (state.pair && stream.match(/^:\\s*/)) { state.pairStart = true; return 'meta'; }\n\n /* nothing found, continue */\n state.pairStart = false;\n state.escaped = (ch == '\\\\');\n stream.next();\n return null;\n },\n startState: function() {\n return {\n pair: false,\n pairStart: false,\n keyCol: 0,\n inlinePairs: 0,\n inlineList: 0,\n literal: false,\n escaped: false\n };\n },\n lineComment: \"#\",\n fold: \"indent\"\n };\n});\n\nCodeMirror.defineMIME(\"text/x-yaml\", \"yaml\");\nCodeMirror.defineMIME(\"text/yaml\", \"yaml\");\n\n});\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/* BASICS */\\n\\n.CodeMirror {\\n /* Set height, width, borders, and global font properties here */\\n font-family: monospace;\\n height: 300px;\\n color: black;\\n direction: ltr;\\n}\\n\\n/* PADDING */\\n\\n.CodeMirror-lines {\\n padding: 4px 0; /* Vertical padding around content */\\n}\\n.CodeMirror pre.CodeMirror-line,\\n.CodeMirror pre.CodeMirror-line-like {\\n padding: 0 4px; /* Horizontal padding of content */\\n}\\n\\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\\n background-color: white; /* The little square between H and V scrollbars */\\n}\\n\\n/* GUTTER */\\n\\n.CodeMirror-gutters {\\n border-right: 1px solid #ddd;\\n background-color: #f7f7f7;\\n white-space: nowrap;\\n}\\n.CodeMirror-linenumbers {}\\n.CodeMirror-linenumber {\\n padding: 0 3px 0 5px;\\n min-width: 20px;\\n text-align: right;\\n color: #999;\\n white-space: nowrap;\\n}\\n\\n.CodeMirror-guttermarker { color: black; }\\n.CodeMirror-guttermarker-subtle { color: #999; }\\n\\n/* CURSOR */\\n\\n.CodeMirror-cursor {\\n border-left: 1px solid black;\\n border-right: none;\\n width: 0;\\n}\\n/* Shown when moving in bi-directional text */\\n.CodeMirror div.CodeMirror-secondarycursor {\\n border-left: 1px solid silver;\\n}\\n.cm-fat-cursor .CodeMirror-cursor {\\n width: auto;\\n border: 0 !important;\\n background: #7e7;\\n}\\n.cm-fat-cursor div.CodeMirror-cursors {\\n z-index: 1;\\n}\\n.cm-fat-cursor-mark {\\n background-color: rgba(20, 255, 20, 0.5);\\n -webkit-animation: blink 1.06s steps(1) infinite;\\n -moz-animation: blink 1.06s steps(1) infinite;\\n animation: blink 1.06s steps(1) infinite;\\n}\\n.cm-animate-fat-cursor {\\n width: auto;\\n border: 0;\\n -webkit-animation: blink 1.06s steps(1) infinite;\\n -moz-animation: blink 1.06s steps(1) infinite;\\n animation: blink 1.06s steps(1) infinite;\\n background-color: #7e7;\\n}\\n@-moz-keyframes blink {\\n 0% {}\\n 50% { background-color: transparent; }\\n 100% {}\\n}\\n@-webkit-keyframes blink {\\n 0% {}\\n 50% { background-color: transparent; }\\n 100% {}\\n}\\n@keyframes blink {\\n 0% {}\\n 50% { background-color: transparent; }\\n 100% {}\\n}\\n\\n/* Can style cursor different in overwrite (non-insert) mode */\\n.CodeMirror-overwrite .CodeMirror-cursor {}\\n\\n.cm-tab { display: inline-block; text-decoration: inherit; }\\n\\n.CodeMirror-rulers {\\n position: absolute;\\n left: 0; right: 0; top: -50px; bottom: 0;\\n overflow: hidden;\\n}\\n.CodeMirror-ruler {\\n border-left: 1px solid #ccc;\\n top: 0; bottom: 0;\\n position: absolute;\\n}\\n\\n/* DEFAULT THEME */\\n\\n.cm-s-default .cm-header {color: blue;}\\n.cm-s-default .cm-quote {color: #090;}\\n.cm-negative {color: #d44;}\\n.cm-positive {color: #292;}\\n.cm-header, .cm-strong {font-weight: bold;}\\n.cm-em {font-style: italic;}\\n.cm-link {text-decoration: underline;}\\n.cm-strikethrough {text-decoration: line-through;}\\n\\n.cm-s-default .cm-keyword {color: #708;}\\n.cm-s-default .cm-atom {color: #219;}\\n.cm-s-default .cm-number {color: #164;}\\n.cm-s-default .cm-def {color: #00f;}\\n.cm-s-default .cm-variable,\\n.cm-s-default .cm-punctuation,\\n.cm-s-default .cm-property,\\n.cm-s-default .cm-operator {}\\n.cm-s-default .cm-variable-2 {color: #05a;}\\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\\n.cm-s-default .cm-comment {color: #a50;}\\n.cm-s-default .cm-string {color: #a11;}\\n.cm-s-default .cm-string-2 {color: #f50;}\\n.cm-s-default .cm-meta {color: #555;}\\n.cm-s-default .cm-qualifier {color: #555;}\\n.cm-s-default .cm-builtin {color: #30a;}\\n.cm-s-default .cm-bracket {color: #997;}\\n.cm-s-default .cm-tag {color: #170;}\\n.cm-s-default .cm-attribute {color: #00c;}\\n.cm-s-default .cm-hr {color: #999;}\\n.cm-s-default .cm-link {color: #00c;}\\n\\n.cm-s-default .cm-error {color: #f00;}\\n.cm-invalidchar {color: #f00;}\\n\\n.CodeMirror-composing { border-bottom: 2px solid; }\\n\\n/* Default styles for common addons */\\n\\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\\n.CodeMirror-activeline-background {background: #e8f2ff;}\\n\\n/* STOP */\\n\\n/* The rest of this file contains styles related to the mechanics of\\n the editor. You probably shouldn't touch them. */\\n\\n.CodeMirror {\\n position: relative;\\n overflow: hidden;\\n background: white;\\n}\\n\\n.CodeMirror-scroll {\\n overflow: scroll !important; /* Things will break if this is overridden */\\n /* 50px is the magic margin used to hide the element's real scrollbars */\\n /* See overflow: hidden in .CodeMirror */\\n margin-bottom: -50px; margin-right: -50px;\\n padding-bottom: 50px;\\n height: 100%;\\n outline: none; /* Prevent dragging from highlighting the element */\\n position: relative;\\n}\\n.CodeMirror-sizer {\\n position: relative;\\n border-right: 50px solid transparent;\\n}\\n\\n/* The fake, visible scrollbars. Used to force redraw during scrolling\\n before actual scrolling happens, thus preventing shaking and\\n flickering artifacts. */\\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\\n position: absolute;\\n z-index: 6;\\n display: none;\\n outline: none;\\n}\\n.CodeMirror-vscrollbar {\\n right: 0; top: 0;\\n overflow-x: hidden;\\n overflow-y: scroll;\\n}\\n.CodeMirror-hscrollbar {\\n bottom: 0; left: 0;\\n overflow-y: hidden;\\n overflow-x: scroll;\\n}\\n.CodeMirror-scrollbar-filler {\\n right: 0; bottom: 0;\\n}\\n.CodeMirror-gutter-filler {\\n left: 0; bottom: 0;\\n}\\n\\n.CodeMirror-gutters {\\n position: absolute; left: 0; top: 0;\\n min-height: 100%;\\n z-index: 3;\\n}\\n.CodeMirror-gutter {\\n white-space: normal;\\n height: 100%;\\n display: inline-block;\\n vertical-align: top;\\n margin-bottom: -50px;\\n}\\n.CodeMirror-gutter-wrapper {\\n position: absolute;\\n z-index: 4;\\n background: none !important;\\n border: none !important;\\n}\\n.CodeMirror-gutter-background {\\n position: absolute;\\n top: 0; bottom: 0;\\n z-index: 4;\\n}\\n.CodeMirror-gutter-elt {\\n position: absolute;\\n cursor: default;\\n z-index: 4;\\n}\\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\\n\\n.CodeMirror-lines {\\n cursor: text;\\n min-height: 1px; /* prevents collapsing before first draw */\\n}\\n.CodeMirror pre.CodeMirror-line,\\n.CodeMirror pre.CodeMirror-line-like {\\n /* Reset some styles that the rest of the page might have set */\\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\\n border-width: 0;\\n background: transparent;\\n font-family: inherit;\\n font-size: inherit;\\n margin: 0;\\n white-space: pre;\\n word-wrap: normal;\\n line-height: inherit;\\n color: inherit;\\n z-index: 2;\\n position: relative;\\n overflow: visible;\\n -webkit-tap-highlight-color: transparent;\\n -webkit-font-variant-ligatures: contextual;\\n font-variant-ligatures: contextual;\\n}\\n.CodeMirror-wrap pre.CodeMirror-line,\\n.CodeMirror-wrap pre.CodeMirror-line-like {\\n word-wrap: break-word;\\n white-space: pre-wrap;\\n word-break: normal;\\n}\\n\\n.CodeMirror-linebackground {\\n position: absolute;\\n left: 0; right: 0; top: 0; bottom: 0;\\n z-index: 0;\\n}\\n\\n.CodeMirror-linewidget {\\n position: relative;\\n z-index: 2;\\n padding: 0.1px; /* Force widget margins to stay inside of the container */\\n}\\n\\n.CodeMirror-widget {}\\n\\n.CodeMirror-rtl pre { direction: rtl; }\\n\\n.CodeMirror-code {\\n outline: none;\\n}\\n\\n/* Force content-box sizing for the elements where we expect it */\\n.CodeMirror-scroll,\\n.CodeMirror-sizer,\\n.CodeMirror-gutter,\\n.CodeMirror-gutters,\\n.CodeMirror-linenumber {\\n -moz-box-sizing: content-box;\\n box-sizing: content-box;\\n}\\n\\n.CodeMirror-measure {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n overflow: hidden;\\n visibility: hidden;\\n}\\n\\n.CodeMirror-cursor {\\n position: absolute;\\n pointer-events: none;\\n}\\n.CodeMirror-measure pre { position: static; }\\n\\ndiv.CodeMirror-cursors {\\n visibility: hidden;\\n position: relative;\\n z-index: 3;\\n}\\ndiv.CodeMirror-dragcursors {\\n visibility: visible;\\n}\\n\\n.CodeMirror-focused div.CodeMirror-cursors {\\n visibility: visible;\\n}\\n\\n.CodeMirror-selected { background: #d9d9d9; }\\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\\n.CodeMirror-crosshair { cursor: crosshair; }\\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\\n\\n.cm-searching {\\n background-color: #ffa;\\n background-color: rgba(255, 255, 0, .4);\\n}\\n\\n/* Used to force a border model for a node */\\n.cm-force-border { padding-right: .1px; }\\n\\n@media print {\\n /* Hide the cursor when printing */\\n .CodeMirror div.CodeMirror-cursors {\\n visibility: hidden;\\n }\\n}\\n\\n/* See issue #2901 */\\n.cm-tab-wrap-hack:after { content: ''; }\\n\\n/* Help users use markselection to safely style text background */\\nspan.CodeMirror-selectedtext { background: none; }\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/codemirror/lib/codemirror.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/* BASICS */\\n\\n.CodeMirror {\\n /* Set height, width, borders, and global font properties here */\\n font-family: monospace;\\n height: 300px;\\n color: black;\\n direction: ltr;\\n}\\n\\n/* PADDING */\\n\\n.CodeMirror-lines {\\n padding: 4px 0; /* Vertical padding around content */\\n}\\n.CodeMirror pre.CodeMirror-line,\\n.CodeMirror pre.CodeMirror-line-like {\\n padding: 0 4px; /* Horizontal padding of content */\\n}\\n\\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\\n background-color: white; /* The little square between H and V scrollbars */\\n}\\n\\n/* GUTTER */\\n\\n.CodeMirror-gutters {\\n border-right: 1px solid #ddd;\\n background-color: #f7f7f7;\\n white-space: nowrap;\\n}\\n.CodeMirror-linenumbers {}\\n.CodeMirror-linenumber {\\n padding: 0 3px 0 5px;\\n min-width: 20px;\\n text-align: right;\\n color: #999;\\n white-space: nowrap;\\n}\\n\\n.CodeMirror-guttermarker { color: black; }\\n.CodeMirror-guttermarker-subtle { color: #999; }\\n\\n/* CURSOR */\\n\\n.CodeMirror-cursor {\\n border-left: 1px solid black;\\n border-right: none;\\n width: 0;\\n}\\n/* Shown when moving in bi-directional text */\\n.CodeMirror div.CodeMirror-secondarycursor {\\n border-left: 1px solid silver;\\n}\\n.cm-fat-cursor .CodeMirror-cursor {\\n width: auto;\\n border: 0 !important;\\n background: #7e7;\\n}\\n.cm-fat-cursor div.CodeMirror-cursors {\\n z-index: 1;\\n}\\n.cm-fat-cursor-mark {\\n background-color: rgba(20, 255, 20, 0.5);\\n -webkit-animation: blink 1.06s steps(1) infinite;\\n -moz-animation: blink 1.06s steps(1) infinite;\\n animation: blink 1.06s steps(1) infinite;\\n}\\n.cm-animate-fat-cursor {\\n width: auto;\\n border: 0;\\n -webkit-animation: blink 1.06s steps(1) infinite;\\n -moz-animation: blink 1.06s steps(1) infinite;\\n animation: blink 1.06s steps(1) infinite;\\n background-color: #7e7;\\n}\\n@-moz-keyframes blink {\\n 0% {}\\n 50% { background-color: transparent; }\\n 100% {}\\n}\\n@-webkit-keyframes blink {\\n 0% {}\\n 50% { background-color: transparent; }\\n 100% {}\\n}\\n@keyframes blink {\\n 0% {}\\n 50% { background-color: transparent; }\\n 100% {}\\n}\\n\\n/* Can style cursor different in overwrite (non-insert) mode */\\n.CodeMirror-overwrite .CodeMirror-cursor {}\\n\\n.cm-tab { display: inline-block; text-decoration: inherit; }\\n\\n.CodeMirror-rulers {\\n position: absolute;\\n left: 0; right: 0; top: -50px; bottom: 0;\\n overflow: hidden;\\n}\\n.CodeMirror-ruler {\\n border-left: 1px solid #ccc;\\n top: 0; bottom: 0;\\n position: absolute;\\n}\\n\\n/* DEFAULT THEME */\\n\\n.cm-s-default .cm-header {color: blue;}\\n.cm-s-default .cm-quote {color: #090;}\\n.cm-negative {color: #d44;}\\n.cm-positive {color: #292;}\\n.cm-header, .cm-strong {font-weight: bold;}\\n.cm-em {font-style: italic;}\\n.cm-link {text-decoration: underline;}\\n.cm-strikethrough {text-decoration: line-through;}\\n\\n.cm-s-default .cm-keyword {color: #708;}\\n.cm-s-default .cm-atom {color: #219;}\\n.cm-s-default .cm-number {color: #164;}\\n.cm-s-default .cm-def {color: #00f;}\\n.cm-s-default .cm-variable,\\n.cm-s-default .cm-punctuation,\\n.cm-s-default .cm-property,\\n.cm-s-default .cm-operator {}\\n.cm-s-default .cm-variable-2 {color: #05a;}\\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\\n.cm-s-default .cm-comment {color: #a50;}\\n.cm-s-default .cm-string {color: #a11;}\\n.cm-s-default .cm-string-2 {color: #f50;}\\n.cm-s-default .cm-meta {color: #555;}\\n.cm-s-default .cm-qualifier {color: #555;}\\n.cm-s-default .cm-builtin {color: #30a;}\\n.cm-s-default .cm-bracket {color: #997;}\\n.cm-s-default .cm-tag {color: #170;}\\n.cm-s-default .cm-attribute {color: #00c;}\\n.cm-s-default .cm-hr {color: #999;}\\n.cm-s-default .cm-link {color: #00c;}\\n\\n.cm-s-default .cm-error {color: #f00;}\\n.cm-invalidchar {color: #f00;}\\n\\n.CodeMirror-composing { border-bottom: 2px solid; }\\n\\n/* Default styles for common addons */\\n\\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\\n.CodeMirror-activeline-background {background: #e8f2ff;}\\n\\n/* STOP */\\n\\n/* The rest of this file contains styles related to the mechanics of\\n the editor. You probably shouldn't touch them. */\\n\\n.CodeMirror {\\n position: relative;\\n overflow: hidden;\\n background: white;\\n}\\n\\n.CodeMirror-scroll {\\n overflow: scroll !important; /* Things will break if this is overridden */\\n /* 50px is the magic margin used to hide the element's real scrollbars */\\n /* See overflow: hidden in .CodeMirror */\\n margin-bottom: -50px; margin-right: -50px;\\n padding-bottom: 50px;\\n height: 100%;\\n outline: none; /* Prevent dragging from highlighting the element */\\n position: relative;\\n}\\n.CodeMirror-sizer {\\n position: relative;\\n border-right: 50px solid transparent;\\n}\\n\\n/* The fake, visible scrollbars. Used to force redraw during scrolling\\n before actual scrolling happens, thus preventing shaking and\\n flickering artifacts. */\\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\\n position: absolute;\\n z-index: 6;\\n display: none;\\n outline: none;\\n}\\n.CodeMirror-vscrollbar {\\n right: 0; top: 0;\\n overflow-x: hidden;\\n overflow-y: scroll;\\n}\\n.CodeMirror-hscrollbar {\\n bottom: 0; left: 0;\\n overflow-y: hidden;\\n overflow-x: scroll;\\n}\\n.CodeMirror-scrollbar-filler {\\n right: 0; bottom: 0;\\n}\\n.CodeMirror-gutter-filler {\\n left: 0; bottom: 0;\\n}\\n\\n.CodeMirror-gutters {\\n position: absolute; left: 0; top: 0;\\n min-height: 100%;\\n z-index: 3;\\n}\\n.CodeMirror-gutter {\\n white-space: normal;\\n height: 100%;\\n display: inline-block;\\n vertical-align: top;\\n margin-bottom: -50px;\\n}\\n.CodeMirror-gutter-wrapper {\\n position: absolute;\\n z-index: 4;\\n background: none !important;\\n border: none !important;\\n}\\n.CodeMirror-gutter-background {\\n position: absolute;\\n top: 0; bottom: 0;\\n z-index: 4;\\n}\\n.CodeMirror-gutter-elt {\\n position: absolute;\\n cursor: default;\\n z-index: 4;\\n}\\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\\n\\n.CodeMirror-lines {\\n cursor: text;\\n min-height: 1px; /* prevents collapsing before first draw */\\n}\\n.CodeMirror pre.CodeMirror-line,\\n.CodeMirror pre.CodeMirror-line-like {\\n /* Reset some styles that the rest of the page might have set */\\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\\n border-width: 0;\\n background: transparent;\\n font-family: inherit;\\n font-size: inherit;\\n margin: 0;\\n white-space: pre;\\n word-wrap: normal;\\n line-height: inherit;\\n color: inherit;\\n z-index: 2;\\n position: relative;\\n overflow: visible;\\n -webkit-tap-highlight-color: transparent;\\n -webkit-font-variant-ligatures: contextual;\\n font-variant-ligatures: contextual;\\n}\\n.CodeMirror-wrap pre.CodeMirror-line,\\n.CodeMirror-wrap pre.CodeMirror-line-like {\\n word-wrap: break-word;\\n white-space: pre-wrap;\\n word-break: normal;\\n}\\n\\n.CodeMirror-linebackground {\\n position: absolute;\\n left: 0; right: 0; top: 0; bottom: 0;\\n z-index: 0;\\n}\\n\\n.CodeMirror-linewidget {\\n position: relative;\\n z-index: 2;\\n padding: 0.1px; /* Force widget margins to stay inside of the container */\\n}\\n\\n.CodeMirror-widget {}\\n\\n.CodeMirror-rtl pre { direction: rtl; }\\n\\n.CodeMirror-code {\\n outline: none;\\n}\\n\\n/* Force content-box sizing for the elements where we expect it */\\n.CodeMirror-scroll,\\n.CodeMirror-sizer,\\n.CodeMirror-gutter,\\n.CodeMirror-gutters,\\n.CodeMirror-linenumber {\\n -moz-box-sizing: content-box;\\n box-sizing: content-box;\\n}\\n\\n.CodeMirror-measure {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n overflow: hidden;\\n visibility: hidden;\\n}\\n\\n.CodeMirror-cursor {\\n position: absolute;\\n pointer-events: none;\\n}\\n.CodeMirror-measure pre { position: static; }\\n\\ndiv.CodeMirror-cursors {\\n visibility: hidden;\\n position: relative;\\n z-index: 3;\\n}\\ndiv.CodeMirror-dragcursors {\\n visibility: visible;\\n}\\n\\n.CodeMirror-focused div.CodeMirror-cursors {\\n visibility: visible;\\n}\\n\\n.CodeMirror-selected { background: #d9d9d9; }\\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\\n.CodeMirror-crosshair { cursor: crosshair; }\\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\\n\\n.cm-searching {\\n background-color: #ffa;\\n background-color: rgba(255, 255, 0, .4);\\n}\\n\\n/* Used to force a border model for a node */\\n.cm-force-border { padding-right: .1px; }\\n\\n@media print {\\n /* Hide the cursor when printing */\\n .CodeMirror div.CodeMirror-cursors {\\n visibility: hidden;\\n }\\n}\\n\\n/* See issue #2901 */\\n.cm-tab-wrap-hack:after { content: ''; }\\n\\n/* Help users use markselection to safely style text background */\\nspan.CodeMirror-selectedtext { background: none; }\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"body {\\n padding: 0;\\n background-color: #f9f9f9;\\n font-family: sans-serif;\\n}\\n.container {\\n margin: 0;\\n display: flex;\\n flex-direction: column;\\n padding-bottom: 30px;\\n}\\n\\n#header {\\n padding: 10px 0px;\\n}\\n#header a {\\n font-size: 20px;\\n font-weight: 400;\\n text-decoration: none;\\n}\\n\\n#pane {\\n display: flex;\\n flex-direction: row;\\n}\\n#inputWrapper {\\n flex: 1;\\n}\\n#input {\\n margin-top: 3px;\\n}\\n\\n#input .CodeMirror {\\n border: 1px solid #ddd;\\n height: auto;\\n}\\n#path {\\n font-size: 20px;\\n padding: 6px 8px;\\n margin: 0;\\n margin-bottom: 10px;\\n}\\n#output {\\n flex: 0.3;\\n padding: 20px;\\n background: #f9f9f9;\\n}\\n\\nh1 {\\n margin: 10px;\\n}\\n\\n#footer {\\n position: fixed;\\n text-align: right;\\n bottom: 0px;\\n left:0px;\\n right: 0px;\\n padding: 5px 20px;\\n background: #eee;\\n opacity: 0.8;\\n z-index: 100;\\n font-size: 13px;\\n border-top: 1px solid #ddd;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./public/app.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,UAAU;EACV,yBAAyB;EACzB,uBAAuB;AACzB;AACA;EACE,SAAS;EACT,aAAa;EACb,sBAAsB;EACtB,oBAAoB;AACtB;;AAEA;EACE,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,qBAAqB;AACvB;;AAEA;EACE,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,OAAO;AACT;AACA;EACE,eAAe;AACjB;;AAEA;EACE,sBAAsB;EACtB,YAAY;AACd;AACA;EACE,eAAe;EACf,gBAAgB;EAChB,SAAS;EACT,mBAAmB;AACrB;AACA;EACE,SAAS;EACT,aAAa;EACb,mBAAmB;AACrB;;AAEA;EACE,YAAY;AACd;;AAEA;EACE,eAAe;EACf,iBAAiB;EACjB,WAAW;EACX,QAAQ;EACR,UAAU;EACV,iBAAiB;EACjB,gBAAgB;EAChB,YAAY;EACZ,YAAY;EACZ,eAAe;EACf,0BAA0B;AAC5B\",\"sourcesContent\":[\"body {\\n padding: 0;\\n background-color: #f9f9f9;\\n font-family: sans-serif;\\n}\\n.container {\\n margin: 0;\\n display: flex;\\n flex-direction: column;\\n padding-bottom: 30px;\\n}\\n\\n#header {\\n padding: 10px 0px;\\n}\\n#header a {\\n font-size: 20px;\\n font-weight: 400;\\n text-decoration: none;\\n}\\n\\n#pane {\\n display: flex;\\n flex-direction: row;\\n}\\n#inputWrapper {\\n flex: 1;\\n}\\n#input {\\n margin-top: 3px;\\n}\\n\\n#input .CodeMirror {\\n border: 1px solid #ddd;\\n height: auto;\\n}\\n#path {\\n font-size: 20px;\\n padding: 6px 8px;\\n margin: 0;\\n margin-bottom: 10px;\\n}\\n#output {\\n flex: 0.3;\\n padding: 20px;\\n background: #f9f9f9;\\n}\\n\\nh1 {\\n margin: 10px;\\n}\\n\\n#footer {\\n position: fixed;\\n text-align: right;\\n bottom: 0px;\\n left:0px;\\n right: 0px;\\n padding: 5px 20px;\\n background: #eee;\\n opacity: 0.8;\\n z-index: 100;\\n font-size: 13px;\\n border-top: 1px solid #ddd;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","(function webpackUniversalModuleDefinition(root, factory) {\n/* istanbul ignore next */\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n/* istanbul ignore next */\n\telse if(typeof exports === 'object')\n\t\texports[\"esprima\"] = factory();\n\telse\n\t\troot[\"esprima\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/* istanbul ignore if */\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t/*\n\t Copyright JS Foundation and other contributors, https://js.foundation/\n\n\t Redistribution and use in source and binary forms, with or without\n\t modification, are permitted provided that the following conditions are met:\n\n\t * Redistributions of source code must retain the above copyright\n\t notice, this list of conditions and the following disclaimer.\n\t * Redistributions in binary form must reproduce the above copyright\n\t notice, this list of conditions and the following disclaimer in the\n\t documentation and/or other materials provided with the distribution.\n\n\t THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n\t AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n\t IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n\t ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY\n\t DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n\t (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n\t LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n\t ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n\t (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n\t THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t*/\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar comment_handler_1 = __webpack_require__(1);\n\tvar jsx_parser_1 = __webpack_require__(3);\n\tvar parser_1 = __webpack_require__(8);\n\tvar tokenizer_1 = __webpack_require__(15);\n\tfunction parse(code, options, delegate) {\n\t var commentHandler = null;\n\t var proxyDelegate = function (node, metadata) {\n\t if (delegate) {\n\t delegate(node, metadata);\n\t }\n\t if (commentHandler) {\n\t commentHandler.visit(node, metadata);\n\t }\n\t };\n\t var parserDelegate = (typeof delegate === 'function') ? proxyDelegate : null;\n\t var collectComment = false;\n\t if (options) {\n\t collectComment = (typeof options.comment === 'boolean' && options.comment);\n\t var attachComment = (typeof options.attachComment === 'boolean' && options.attachComment);\n\t if (collectComment || attachComment) {\n\t commentHandler = new comment_handler_1.CommentHandler();\n\t commentHandler.attach = attachComment;\n\t options.comment = true;\n\t parserDelegate = proxyDelegate;\n\t }\n\t }\n\t var isModule = false;\n\t if (options && typeof options.sourceType === 'string') {\n\t isModule = (options.sourceType === 'module');\n\t }\n\t var parser;\n\t if (options && typeof options.jsx === 'boolean' && options.jsx) {\n\t parser = new jsx_parser_1.JSXParser(code, options, parserDelegate);\n\t }\n\t else {\n\t parser = new parser_1.Parser(code, options, parserDelegate);\n\t }\n\t var program = isModule ? parser.parseModule() : parser.parseScript();\n\t var ast = program;\n\t if (collectComment && commentHandler) {\n\t ast.comments = commentHandler.comments;\n\t }\n\t if (parser.config.tokens) {\n\t ast.tokens = parser.tokens;\n\t }\n\t if (parser.config.tolerant) {\n\t ast.errors = parser.errorHandler.errors;\n\t }\n\t return ast;\n\t}\n\texports.parse = parse;\n\tfunction parseModule(code, options, delegate) {\n\t var parsingOptions = options || {};\n\t parsingOptions.sourceType = 'module';\n\t return parse(code, parsingOptions, delegate);\n\t}\n\texports.parseModule = parseModule;\n\tfunction parseScript(code, options, delegate) {\n\t var parsingOptions = options || {};\n\t parsingOptions.sourceType = 'script';\n\t return parse(code, parsingOptions, delegate);\n\t}\n\texports.parseScript = parseScript;\n\tfunction tokenize(code, options, delegate) {\n\t var tokenizer = new tokenizer_1.Tokenizer(code, options);\n\t var tokens;\n\t tokens = [];\n\t try {\n\t while (true) {\n\t var token = tokenizer.getNextToken();\n\t if (!token) {\n\t break;\n\t }\n\t if (delegate) {\n\t token = delegate(token);\n\t }\n\t tokens.push(token);\n\t }\n\t }\n\t catch (e) {\n\t tokenizer.errorHandler.tolerate(e);\n\t }\n\t if (tokenizer.errorHandler.tolerant) {\n\t tokens.errors = tokenizer.errors();\n\t }\n\t return tokens;\n\t}\n\texports.tokenize = tokenize;\n\tvar syntax_1 = __webpack_require__(2);\n\texports.Syntax = syntax_1.Syntax;\n\t// Sync with *.json manifests.\n\texports.version = '4.0.1';\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar syntax_1 = __webpack_require__(2);\n\tvar CommentHandler = (function () {\n\t function CommentHandler() {\n\t this.attach = false;\n\t this.comments = [];\n\t this.stack = [];\n\t this.leading = [];\n\t this.trailing = [];\n\t }\n\t CommentHandler.prototype.insertInnerComments = function (node, metadata) {\n\t // innnerComments for properties empty block\n\t // `function a() {/** comments **\\/}`\n\t if (node.type === syntax_1.Syntax.BlockStatement && node.body.length === 0) {\n\t var innerComments = [];\n\t for (var i = this.leading.length - 1; i >= 0; --i) {\n\t var entry = this.leading[i];\n\t if (metadata.end.offset >= entry.start) {\n\t innerComments.unshift(entry.comment);\n\t this.leading.splice(i, 1);\n\t this.trailing.splice(i, 1);\n\t }\n\t }\n\t if (innerComments.length) {\n\t node.innerComments = innerComments;\n\t }\n\t }\n\t };\n\t CommentHandler.prototype.findTrailingComments = function (metadata) {\n\t var trailingComments = [];\n\t if (this.trailing.length > 0) {\n\t for (var i = this.trailing.length - 1; i >= 0; --i) {\n\t var entry_1 = this.trailing[i];\n\t if (entry_1.start >= metadata.end.offset) {\n\t trailingComments.unshift(entry_1.comment);\n\t }\n\t }\n\t this.trailing.length = 0;\n\t return trailingComments;\n\t }\n\t var entry = this.stack[this.stack.length - 1];\n\t if (entry && entry.node.trailingComments) {\n\t var firstComment = entry.node.trailingComments[0];\n\t if (firstComment && firstComment.range[0] >= metadata.end.offset) {\n\t trailingComments = entry.node.trailingComments;\n\t delete entry.node.trailingComments;\n\t }\n\t }\n\t return trailingComments;\n\t };\n\t CommentHandler.prototype.findLeadingComments = function (metadata) {\n\t var leadingComments = [];\n\t var target;\n\t while (this.stack.length > 0) {\n\t var entry = this.stack[this.stack.length - 1];\n\t if (entry && entry.start >= metadata.start.offset) {\n\t target = entry.node;\n\t this.stack.pop();\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t if (target) {\n\t var count = target.leadingComments ? target.leadingComments.length : 0;\n\t for (var i = count - 1; i >= 0; --i) {\n\t var comment = target.leadingComments[i];\n\t if (comment.range[1] <= metadata.start.offset) {\n\t leadingComments.unshift(comment);\n\t target.leadingComments.splice(i, 1);\n\t }\n\t }\n\t if (target.leadingComments && target.leadingComments.length === 0) {\n\t delete target.leadingComments;\n\t }\n\t return leadingComments;\n\t }\n\t for (var i = this.leading.length - 1; i >= 0; --i) {\n\t var entry = this.leading[i];\n\t if (entry.start <= metadata.start.offset) {\n\t leadingComments.unshift(entry.comment);\n\t this.leading.splice(i, 1);\n\t }\n\t }\n\t return leadingComments;\n\t };\n\t CommentHandler.prototype.visitNode = function (node, metadata) {\n\t if (node.type === syntax_1.Syntax.Program && node.body.length > 0) {\n\t return;\n\t }\n\t this.insertInnerComments(node, metadata);\n\t var trailingComments = this.findTrailingComments(metadata);\n\t var leadingComments = this.findLeadingComments(metadata);\n\t if (leadingComments.length > 0) {\n\t node.leadingComments = leadingComments;\n\t }\n\t if (trailingComments.length > 0) {\n\t node.trailingComments = trailingComments;\n\t }\n\t this.stack.push({\n\t node: node,\n\t start: metadata.start.offset\n\t });\n\t };\n\t CommentHandler.prototype.visitComment = function (node, metadata) {\n\t var type = (node.type[0] === 'L') ? 'Line' : 'Block';\n\t var comment = {\n\t type: type,\n\t value: node.value\n\t };\n\t if (node.range) {\n\t comment.range = node.range;\n\t }\n\t if (node.loc) {\n\t comment.loc = node.loc;\n\t }\n\t this.comments.push(comment);\n\t if (this.attach) {\n\t var entry = {\n\t comment: {\n\t type: type,\n\t value: node.value,\n\t range: [metadata.start.offset, metadata.end.offset]\n\t },\n\t start: metadata.start.offset\n\t };\n\t if (node.loc) {\n\t entry.comment.loc = node.loc;\n\t }\n\t node.type = type;\n\t this.leading.push(entry);\n\t this.trailing.push(entry);\n\t }\n\t };\n\t CommentHandler.prototype.visit = function (node, metadata) {\n\t if (node.type === 'LineComment') {\n\t this.visitComment(node, metadata);\n\t }\n\t else if (node.type === 'BlockComment') {\n\t this.visitComment(node, metadata);\n\t }\n\t else if (this.attach) {\n\t this.visitNode(node, metadata);\n\t }\n\t };\n\t return CommentHandler;\n\t}());\n\texports.CommentHandler = CommentHandler;\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\texports.Syntax = {\n\t AssignmentExpression: 'AssignmentExpression',\n\t AssignmentPattern: 'AssignmentPattern',\n\t ArrayExpression: 'ArrayExpression',\n\t ArrayPattern: 'ArrayPattern',\n\t ArrowFunctionExpression: 'ArrowFunctionExpression',\n\t AwaitExpression: 'AwaitExpression',\n\t BlockStatement: 'BlockStatement',\n\t BinaryExpression: 'BinaryExpression',\n\t BreakStatement: 'BreakStatement',\n\t CallExpression: 'CallExpression',\n\t CatchClause: 'CatchClause',\n\t ClassBody: 'ClassBody',\n\t ClassDeclaration: 'ClassDeclaration',\n\t ClassExpression: 'ClassExpression',\n\t ConditionalExpression: 'ConditionalExpression',\n\t ContinueStatement: 'ContinueStatement',\n\t DoWhileStatement: 'DoWhileStatement',\n\t DebuggerStatement: 'DebuggerStatement',\n\t EmptyStatement: 'EmptyStatement',\n\t ExportAllDeclaration: 'ExportAllDeclaration',\n\t ExportDefaultDeclaration: 'ExportDefaultDeclaration',\n\t ExportNamedDeclaration: 'ExportNamedDeclaration',\n\t ExportSpecifier: 'ExportSpecifier',\n\t ExpressionStatement: 'ExpressionStatement',\n\t ForStatement: 'ForStatement',\n\t ForOfStatement: 'ForOfStatement',\n\t ForInStatement: 'ForInStatement',\n\t FunctionDeclaration: 'FunctionDeclaration',\n\t FunctionExpression: 'FunctionExpression',\n\t Identifier: 'Identifier',\n\t IfStatement: 'IfStatement',\n\t ImportDeclaration: 'ImportDeclaration',\n\t ImportDefaultSpecifier: 'ImportDefaultSpecifier',\n\t ImportNamespaceSpecifier: 'ImportNamespaceSpecifier',\n\t ImportSpecifier: 'ImportSpecifier',\n\t Literal: 'Literal',\n\t LabeledStatement: 'LabeledStatement',\n\t LogicalExpression: 'LogicalExpression',\n\t MemberExpression: 'MemberExpression',\n\t MetaProperty: 'MetaProperty',\n\t MethodDefinition: 'MethodDefinition',\n\t NewExpression: 'NewExpression',\n\t ObjectExpression: 'ObjectExpression',\n\t ObjectPattern: 'ObjectPattern',\n\t Program: 'Program',\n\t Property: 'Property',\n\t RestElement: 'RestElement',\n\t ReturnStatement: 'ReturnStatement',\n\t SequenceExpression: 'SequenceExpression',\n\t SpreadElement: 'SpreadElement',\n\t Super: 'Super',\n\t SwitchCase: 'SwitchCase',\n\t SwitchStatement: 'SwitchStatement',\n\t TaggedTemplateExpression: 'TaggedTemplateExpression',\n\t TemplateElement: 'TemplateElement',\n\t TemplateLiteral: 'TemplateLiteral',\n\t ThisExpression: 'ThisExpression',\n\t ThrowStatement: 'ThrowStatement',\n\t TryStatement: 'TryStatement',\n\t UnaryExpression: 'UnaryExpression',\n\t UpdateExpression: 'UpdateExpression',\n\t VariableDeclaration: 'VariableDeclaration',\n\t VariableDeclarator: 'VariableDeclarator',\n\t WhileStatement: 'WhileStatement',\n\t WithStatement: 'WithStatement',\n\t YieldExpression: 'YieldExpression'\n\t};\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n/* istanbul ignore next */\n\tvar __extends = (this && this.__extends) || (function () {\n\t var extendStatics = Object.setPrototypeOf ||\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n\t return function (d, b) {\n\t extendStatics(d, b);\n\t function __() { this.constructor = d; }\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n\t };\n\t})();\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar character_1 = __webpack_require__(4);\n\tvar JSXNode = __webpack_require__(5);\n\tvar jsx_syntax_1 = __webpack_require__(6);\n\tvar Node = __webpack_require__(7);\n\tvar parser_1 = __webpack_require__(8);\n\tvar token_1 = __webpack_require__(13);\n\tvar xhtml_entities_1 = __webpack_require__(14);\n\ttoken_1.TokenName[100 /* Identifier */] = 'JSXIdentifier';\n\ttoken_1.TokenName[101 /* Text */] = 'JSXText';\n\t// Fully qualified element name, e.g. returns \"svg:path\"\n\tfunction getQualifiedElementName(elementName) {\n\t var qualifiedName;\n\t switch (elementName.type) {\n\t case jsx_syntax_1.JSXSyntax.JSXIdentifier:\n\t var id = elementName;\n\t qualifiedName = id.name;\n\t break;\n\t case jsx_syntax_1.JSXSyntax.JSXNamespacedName:\n\t var ns = elementName;\n\t qualifiedName = getQualifiedElementName(ns.namespace) + ':' +\n\t getQualifiedElementName(ns.name);\n\t break;\n\t case jsx_syntax_1.JSXSyntax.JSXMemberExpression:\n\t var expr = elementName;\n\t qualifiedName = getQualifiedElementName(expr.object) + '.' +\n\t getQualifiedElementName(expr.property);\n\t break;\n\t /* istanbul ignore next */\n\t default:\n\t break;\n\t }\n\t return qualifiedName;\n\t}\n\tvar JSXParser = (function (_super) {\n\t __extends(JSXParser, _super);\n\t function JSXParser(code, options, delegate) {\n\t return _super.call(this, code, options, delegate) || this;\n\t }\n\t JSXParser.prototype.parsePrimaryExpression = function () {\n\t return this.match('<') ? this.parseJSXRoot() : _super.prototype.parsePrimaryExpression.call(this);\n\t };\n\t JSXParser.prototype.startJSX = function () {\n\t // Unwind the scanner before the lookahead token.\n\t this.scanner.index = this.startMarker.index;\n\t this.scanner.lineNumber = this.startMarker.line;\n\t this.scanner.lineStart = this.startMarker.index - this.startMarker.column;\n\t };\n\t JSXParser.prototype.finishJSX = function () {\n\t // Prime the next lookahead.\n\t this.nextToken();\n\t };\n\t JSXParser.prototype.reenterJSX = function () {\n\t this.startJSX();\n\t this.expectJSX('}');\n\t // Pop the closing '}' added from the lookahead.\n\t if (this.config.tokens) {\n\t this.tokens.pop();\n\t }\n\t };\n\t JSXParser.prototype.createJSXNode = function () {\n\t this.collectComments();\n\t return {\n\t index: this.scanner.index,\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t };\n\t JSXParser.prototype.createJSXChildNode = function () {\n\t return {\n\t index: this.scanner.index,\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t };\n\t JSXParser.prototype.scanXHTMLEntity = function (quote) {\n\t var result = '&';\n\t var valid = true;\n\t var terminated = false;\n\t var numeric = false;\n\t var hex = false;\n\t while (!this.scanner.eof() && valid && !terminated) {\n\t var ch = this.scanner.source[this.scanner.index];\n\t if (ch === quote) {\n\t break;\n\t }\n\t terminated = (ch === ';');\n\t result += ch;\n\t ++this.scanner.index;\n\t if (!terminated) {\n\t switch (result.length) {\n\t case 2:\n\t // e.g. '{'\n\t numeric = (ch === '#');\n\t break;\n\t case 3:\n\t if (numeric) {\n\t // e.g. 'A'\n\t hex = (ch === 'x');\n\t valid = hex || character_1.Character.isDecimalDigit(ch.charCodeAt(0));\n\t numeric = numeric && !hex;\n\t }\n\t break;\n\t default:\n\t valid = valid && !(numeric && !character_1.Character.isDecimalDigit(ch.charCodeAt(0)));\n\t valid = valid && !(hex && !character_1.Character.isHexDigit(ch.charCodeAt(0)));\n\t break;\n\t }\n\t }\n\t }\n\t if (valid && terminated && result.length > 2) {\n\t // e.g. 'A' becomes just '#x41'\n\t var str = result.substr(1, result.length - 2);\n\t if (numeric && str.length > 1) {\n\t result = String.fromCharCode(parseInt(str.substr(1), 10));\n\t }\n\t else if (hex && str.length > 2) {\n\t result = String.fromCharCode(parseInt('0' + str.substr(1), 16));\n\t }\n\t else if (!numeric && !hex && xhtml_entities_1.XHTMLEntities[str]) {\n\t result = xhtml_entities_1.XHTMLEntities[str];\n\t }\n\t }\n\t return result;\n\t };\n\t // Scan the next JSX token. This replaces Scanner#lex when in JSX mode.\n\t JSXParser.prototype.lexJSX = function () {\n\t var cp = this.scanner.source.charCodeAt(this.scanner.index);\n\t // < > / : = { }\n\t if (cp === 60 || cp === 62 || cp === 47 || cp === 58 || cp === 61 || cp === 123 || cp === 125) {\n\t var value = this.scanner.source[this.scanner.index++];\n\t return {\n\t type: 7 /* Punctuator */,\n\t value: value,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: this.scanner.index - 1,\n\t end: this.scanner.index\n\t };\n\t }\n\t // \" '\n\t if (cp === 34 || cp === 39) {\n\t var start = this.scanner.index;\n\t var quote = this.scanner.source[this.scanner.index++];\n\t var str = '';\n\t while (!this.scanner.eof()) {\n\t var ch = this.scanner.source[this.scanner.index++];\n\t if (ch === quote) {\n\t break;\n\t }\n\t else if (ch === '&') {\n\t str += this.scanXHTMLEntity(quote);\n\t }\n\t else {\n\t str += ch;\n\t }\n\t }\n\t return {\n\t type: 8 /* StringLiteral */,\n\t value: str,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t }\n\t // ... or .\n\t if (cp === 46) {\n\t var n1 = this.scanner.source.charCodeAt(this.scanner.index + 1);\n\t var n2 = this.scanner.source.charCodeAt(this.scanner.index + 2);\n\t var value = (n1 === 46 && n2 === 46) ? '...' : '.';\n\t var start = this.scanner.index;\n\t this.scanner.index += value.length;\n\t return {\n\t type: 7 /* Punctuator */,\n\t value: value,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t }\n\t // `\n\t if (cp === 96) {\n\t // Only placeholder, since it will be rescanned as a real assignment expression.\n\t return {\n\t type: 10 /* Template */,\n\t value: '',\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: this.scanner.index,\n\t end: this.scanner.index\n\t };\n\t }\n\t // Identifer can not contain backslash (char code 92).\n\t if (character_1.Character.isIdentifierStart(cp) && (cp !== 92)) {\n\t var start = this.scanner.index;\n\t ++this.scanner.index;\n\t while (!this.scanner.eof()) {\n\t var ch = this.scanner.source.charCodeAt(this.scanner.index);\n\t if (character_1.Character.isIdentifierPart(ch) && (ch !== 92)) {\n\t ++this.scanner.index;\n\t }\n\t else if (ch === 45) {\n\t // Hyphen (char code 45) can be part of an identifier.\n\t ++this.scanner.index;\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t var id = this.scanner.source.slice(start, this.scanner.index);\n\t return {\n\t type: 100 /* Identifier */,\n\t value: id,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t }\n\t return this.scanner.lex();\n\t };\n\t JSXParser.prototype.nextJSXToken = function () {\n\t this.collectComments();\n\t this.startMarker.index = this.scanner.index;\n\t this.startMarker.line = this.scanner.lineNumber;\n\t this.startMarker.column = this.scanner.index - this.scanner.lineStart;\n\t var token = this.lexJSX();\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t if (this.config.tokens) {\n\t this.tokens.push(this.convertToken(token));\n\t }\n\t return token;\n\t };\n\t JSXParser.prototype.nextJSXText = function () {\n\t this.startMarker.index = this.scanner.index;\n\t this.startMarker.line = this.scanner.lineNumber;\n\t this.startMarker.column = this.scanner.index - this.scanner.lineStart;\n\t var start = this.scanner.index;\n\t var text = '';\n\t while (!this.scanner.eof()) {\n\t var ch = this.scanner.source[this.scanner.index];\n\t if (ch === '{' || ch === '<') {\n\t break;\n\t }\n\t ++this.scanner.index;\n\t text += ch;\n\t if (character_1.Character.isLineTerminator(ch.charCodeAt(0))) {\n\t ++this.scanner.lineNumber;\n\t if (ch === '\\r' && this.scanner.source[this.scanner.index] === '\\n') {\n\t ++this.scanner.index;\n\t }\n\t this.scanner.lineStart = this.scanner.index;\n\t }\n\t }\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t var token = {\n\t type: 101 /* Text */,\n\t value: text,\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: this.scanner.lineStart,\n\t start: start,\n\t end: this.scanner.index\n\t };\n\t if ((text.length > 0) && this.config.tokens) {\n\t this.tokens.push(this.convertToken(token));\n\t }\n\t return token;\n\t };\n\t JSXParser.prototype.peekJSXToken = function () {\n\t var state = this.scanner.saveState();\n\t this.scanner.scanComments();\n\t var next = this.lexJSX();\n\t this.scanner.restoreState(state);\n\t return next;\n\t };\n\t // Expect the next JSX token to match the specified punctuator.\n\t // If not, an exception will be thrown.\n\t JSXParser.prototype.expectJSX = function (value) {\n\t var token = this.nextJSXToken();\n\t if (token.type !== 7 /* Punctuator */ || token.value !== value) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t };\n\t // Return true if the next JSX token matches the specified punctuator.\n\t JSXParser.prototype.matchJSX = function (value) {\n\t var next = this.peekJSXToken();\n\t return next.type === 7 /* Punctuator */ && next.value === value;\n\t };\n\t JSXParser.prototype.parseJSXIdentifier = function () {\n\t var node = this.createJSXNode();\n\t var token = this.nextJSXToken();\n\t if (token.type !== 100 /* Identifier */) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t return this.finalize(node, new JSXNode.JSXIdentifier(token.value));\n\t };\n\t JSXParser.prototype.parseJSXElementName = function () {\n\t var node = this.createJSXNode();\n\t var elementName = this.parseJSXIdentifier();\n\t if (this.matchJSX(':')) {\n\t var namespace = elementName;\n\t this.expectJSX(':');\n\t var name_1 = this.parseJSXIdentifier();\n\t elementName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_1));\n\t }\n\t else if (this.matchJSX('.')) {\n\t while (this.matchJSX('.')) {\n\t var object = elementName;\n\t this.expectJSX('.');\n\t var property = this.parseJSXIdentifier();\n\t elementName = this.finalize(node, new JSXNode.JSXMemberExpression(object, property));\n\t }\n\t }\n\t return elementName;\n\t };\n\t JSXParser.prototype.parseJSXAttributeName = function () {\n\t var node = this.createJSXNode();\n\t var attributeName;\n\t var identifier = this.parseJSXIdentifier();\n\t if (this.matchJSX(':')) {\n\t var namespace = identifier;\n\t this.expectJSX(':');\n\t var name_2 = this.parseJSXIdentifier();\n\t attributeName = this.finalize(node, new JSXNode.JSXNamespacedName(namespace, name_2));\n\t }\n\t else {\n\t attributeName = identifier;\n\t }\n\t return attributeName;\n\t };\n\t JSXParser.prototype.parseJSXStringLiteralAttribute = function () {\n\t var node = this.createJSXNode();\n\t var token = this.nextJSXToken();\n\t if (token.type !== 8 /* StringLiteral */) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t var raw = this.getTokenRaw(token);\n\t return this.finalize(node, new Node.Literal(token.value, raw));\n\t };\n\t JSXParser.prototype.parseJSXExpressionAttribute = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('{');\n\t this.finishJSX();\n\t if (this.match('}')) {\n\t this.tolerateError('JSX attributes must only be assigned a non-empty expression');\n\t }\n\t var expression = this.parseAssignmentExpression();\n\t this.reenterJSX();\n\t return this.finalize(node, new JSXNode.JSXExpressionContainer(expression));\n\t };\n\t JSXParser.prototype.parseJSXAttributeValue = function () {\n\t return this.matchJSX('{') ? this.parseJSXExpressionAttribute() :\n\t this.matchJSX('<') ? this.parseJSXElement() : this.parseJSXStringLiteralAttribute();\n\t };\n\t JSXParser.prototype.parseJSXNameValueAttribute = function () {\n\t var node = this.createJSXNode();\n\t var name = this.parseJSXAttributeName();\n\t var value = null;\n\t if (this.matchJSX('=')) {\n\t this.expectJSX('=');\n\t value = this.parseJSXAttributeValue();\n\t }\n\t return this.finalize(node, new JSXNode.JSXAttribute(name, value));\n\t };\n\t JSXParser.prototype.parseJSXSpreadAttribute = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('{');\n\t this.expectJSX('...');\n\t this.finishJSX();\n\t var argument = this.parseAssignmentExpression();\n\t this.reenterJSX();\n\t return this.finalize(node, new JSXNode.JSXSpreadAttribute(argument));\n\t };\n\t JSXParser.prototype.parseJSXAttributes = function () {\n\t var attributes = [];\n\t while (!this.matchJSX('/') && !this.matchJSX('>')) {\n\t var attribute = this.matchJSX('{') ? this.parseJSXSpreadAttribute() :\n\t this.parseJSXNameValueAttribute();\n\t attributes.push(attribute);\n\t }\n\t return attributes;\n\t };\n\t JSXParser.prototype.parseJSXOpeningElement = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('<');\n\t var name = this.parseJSXElementName();\n\t var attributes = this.parseJSXAttributes();\n\t var selfClosing = this.matchJSX('/');\n\t if (selfClosing) {\n\t this.expectJSX('/');\n\t }\n\t this.expectJSX('>');\n\t return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes));\n\t };\n\t JSXParser.prototype.parseJSXBoundaryElement = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('<');\n\t if (this.matchJSX('/')) {\n\t this.expectJSX('/');\n\t var name_3 = this.parseJSXElementName();\n\t this.expectJSX('>');\n\t return this.finalize(node, new JSXNode.JSXClosingElement(name_3));\n\t }\n\t var name = this.parseJSXElementName();\n\t var attributes = this.parseJSXAttributes();\n\t var selfClosing = this.matchJSX('/');\n\t if (selfClosing) {\n\t this.expectJSX('/');\n\t }\n\t this.expectJSX('>');\n\t return this.finalize(node, new JSXNode.JSXOpeningElement(name, selfClosing, attributes));\n\t };\n\t JSXParser.prototype.parseJSXEmptyExpression = function () {\n\t var node = this.createJSXChildNode();\n\t this.collectComments();\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t return this.finalize(node, new JSXNode.JSXEmptyExpression());\n\t };\n\t JSXParser.prototype.parseJSXExpressionContainer = function () {\n\t var node = this.createJSXNode();\n\t this.expectJSX('{');\n\t var expression;\n\t if (this.matchJSX('}')) {\n\t expression = this.parseJSXEmptyExpression();\n\t this.expectJSX('}');\n\t }\n\t else {\n\t this.finishJSX();\n\t expression = this.parseAssignmentExpression();\n\t this.reenterJSX();\n\t }\n\t return this.finalize(node, new JSXNode.JSXExpressionContainer(expression));\n\t };\n\t JSXParser.prototype.parseJSXChildren = function () {\n\t var children = [];\n\t while (!this.scanner.eof()) {\n\t var node = this.createJSXChildNode();\n\t var token = this.nextJSXText();\n\t if (token.start < token.end) {\n\t var raw = this.getTokenRaw(token);\n\t var child = this.finalize(node, new JSXNode.JSXText(token.value, raw));\n\t children.push(child);\n\t }\n\t if (this.scanner.source[this.scanner.index] === '{') {\n\t var container = this.parseJSXExpressionContainer();\n\t children.push(container);\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t return children;\n\t };\n\t JSXParser.prototype.parseComplexJSXElement = function (el) {\n\t var stack = [];\n\t while (!this.scanner.eof()) {\n\t el.children = el.children.concat(this.parseJSXChildren());\n\t var node = this.createJSXChildNode();\n\t var element = this.parseJSXBoundaryElement();\n\t if (element.type === jsx_syntax_1.JSXSyntax.JSXOpeningElement) {\n\t var opening = element;\n\t if (opening.selfClosing) {\n\t var child = this.finalize(node, new JSXNode.JSXElement(opening, [], null));\n\t el.children.push(child);\n\t }\n\t else {\n\t stack.push(el);\n\t el = { node: node, opening: opening, closing: null, children: [] };\n\t }\n\t }\n\t if (element.type === jsx_syntax_1.JSXSyntax.JSXClosingElement) {\n\t el.closing = element;\n\t var open_1 = getQualifiedElementName(el.opening.name);\n\t var close_1 = getQualifiedElementName(el.closing.name);\n\t if (open_1 !== close_1) {\n\t this.tolerateError('Expected corresponding JSX closing tag for %0', open_1);\n\t }\n\t if (stack.length > 0) {\n\t var child = this.finalize(el.node, new JSXNode.JSXElement(el.opening, el.children, el.closing));\n\t el = stack[stack.length - 1];\n\t el.children.push(child);\n\t stack.pop();\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t }\n\t return el;\n\t };\n\t JSXParser.prototype.parseJSXElement = function () {\n\t var node = this.createJSXNode();\n\t var opening = this.parseJSXOpeningElement();\n\t var children = [];\n\t var closing = null;\n\t if (!opening.selfClosing) {\n\t var el = this.parseComplexJSXElement({ node: node, opening: opening, closing: closing, children: children });\n\t children = el.children;\n\t closing = el.closing;\n\t }\n\t return this.finalize(node, new JSXNode.JSXElement(opening, children, closing));\n\t };\n\t JSXParser.prototype.parseJSXRoot = function () {\n\t // Pop the opening '<' added from the lookahead.\n\t if (this.config.tokens) {\n\t this.tokens.pop();\n\t }\n\t this.startJSX();\n\t var element = this.parseJSXElement();\n\t this.finishJSX();\n\t return element;\n\t };\n\t JSXParser.prototype.isStartOfExpression = function () {\n\t return _super.prototype.isStartOfExpression.call(this) || this.match('<');\n\t };\n\t return JSXParser;\n\t}(parser_1.Parser));\n\texports.JSXParser = JSXParser;\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t// See also tools/generate-unicode-regex.js.\n\tvar Regex = {\n\t // Unicode v8.0.0 NonAsciiIdentifierStart:\n\t NonAsciiIdentifierStart: /[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDF00-\\uDF19]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]/,\n\t // Unicode v8.0.0 NonAsciiIdentifierPart:\n\t NonAsciiIdentifierPart: /[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B4\\u08E3-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0AF9\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58-\\u0C5A\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D5F-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA8FD\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2F\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDCA-\\uDDCC\\uDDD0-\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF00-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF50\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDDD8-\\uDDDD\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9\\uDF00-\\uDF19\\uDF1D-\\uDF2B\\uDF30-\\uDF39]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD836[\\uDE00-\\uDE36\\uDE3B-\\uDE6C\\uDE75\\uDE84\\uDE9B-\\uDE9F\\uDEA1-\\uDEAF]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/\n\t};\n\texports.Character = {\n\t /* tslint:disable:no-bitwise */\n\t fromCodePoint: function (cp) {\n\t return (cp < 0x10000) ? String.fromCharCode(cp) :\n\t String.fromCharCode(0xD800 + ((cp - 0x10000) >> 10)) +\n\t String.fromCharCode(0xDC00 + ((cp - 0x10000) & 1023));\n\t },\n\t // https://tc39.github.io/ecma262/#sec-white-space\n\t isWhiteSpace: function (cp) {\n\t return (cp === 0x20) || (cp === 0x09) || (cp === 0x0B) || (cp === 0x0C) || (cp === 0xA0) ||\n\t (cp >= 0x1680 && [0x1680, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF].indexOf(cp) >= 0);\n\t },\n\t // https://tc39.github.io/ecma262/#sec-line-terminators\n\t isLineTerminator: function (cp) {\n\t return (cp === 0x0A) || (cp === 0x0D) || (cp === 0x2028) || (cp === 0x2029);\n\t },\n\t // https://tc39.github.io/ecma262/#sec-names-and-keywords\n\t isIdentifierStart: function (cp) {\n\t return (cp === 0x24) || (cp === 0x5F) ||\n\t (cp >= 0x41 && cp <= 0x5A) ||\n\t (cp >= 0x61 && cp <= 0x7A) ||\n\t (cp === 0x5C) ||\n\t ((cp >= 0x80) && Regex.NonAsciiIdentifierStart.test(exports.Character.fromCodePoint(cp)));\n\t },\n\t isIdentifierPart: function (cp) {\n\t return (cp === 0x24) || (cp === 0x5F) ||\n\t (cp >= 0x41 && cp <= 0x5A) ||\n\t (cp >= 0x61 && cp <= 0x7A) ||\n\t (cp >= 0x30 && cp <= 0x39) ||\n\t (cp === 0x5C) ||\n\t ((cp >= 0x80) && Regex.NonAsciiIdentifierPart.test(exports.Character.fromCodePoint(cp)));\n\t },\n\t // https://tc39.github.io/ecma262/#sec-literals-numeric-literals\n\t isDecimalDigit: function (cp) {\n\t return (cp >= 0x30 && cp <= 0x39); // 0..9\n\t },\n\t isHexDigit: function (cp) {\n\t return (cp >= 0x30 && cp <= 0x39) ||\n\t (cp >= 0x41 && cp <= 0x46) ||\n\t (cp >= 0x61 && cp <= 0x66); // a..f\n\t },\n\t isOctalDigit: function (cp) {\n\t return (cp >= 0x30 && cp <= 0x37); // 0..7\n\t }\n\t};\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar jsx_syntax_1 = __webpack_require__(6);\n\t/* tslint:disable:max-classes-per-file */\n\tvar JSXClosingElement = (function () {\n\t function JSXClosingElement(name) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXClosingElement;\n\t this.name = name;\n\t }\n\t return JSXClosingElement;\n\t}());\n\texports.JSXClosingElement = JSXClosingElement;\n\tvar JSXElement = (function () {\n\t function JSXElement(openingElement, children, closingElement) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXElement;\n\t this.openingElement = openingElement;\n\t this.children = children;\n\t this.closingElement = closingElement;\n\t }\n\t return JSXElement;\n\t}());\n\texports.JSXElement = JSXElement;\n\tvar JSXEmptyExpression = (function () {\n\t function JSXEmptyExpression() {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXEmptyExpression;\n\t }\n\t return JSXEmptyExpression;\n\t}());\n\texports.JSXEmptyExpression = JSXEmptyExpression;\n\tvar JSXExpressionContainer = (function () {\n\t function JSXExpressionContainer(expression) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXExpressionContainer;\n\t this.expression = expression;\n\t }\n\t return JSXExpressionContainer;\n\t}());\n\texports.JSXExpressionContainer = JSXExpressionContainer;\n\tvar JSXIdentifier = (function () {\n\t function JSXIdentifier(name) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXIdentifier;\n\t this.name = name;\n\t }\n\t return JSXIdentifier;\n\t}());\n\texports.JSXIdentifier = JSXIdentifier;\n\tvar JSXMemberExpression = (function () {\n\t function JSXMemberExpression(object, property) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXMemberExpression;\n\t this.object = object;\n\t this.property = property;\n\t }\n\t return JSXMemberExpression;\n\t}());\n\texports.JSXMemberExpression = JSXMemberExpression;\n\tvar JSXAttribute = (function () {\n\t function JSXAttribute(name, value) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXAttribute;\n\t this.name = name;\n\t this.value = value;\n\t }\n\t return JSXAttribute;\n\t}());\n\texports.JSXAttribute = JSXAttribute;\n\tvar JSXNamespacedName = (function () {\n\t function JSXNamespacedName(namespace, name) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXNamespacedName;\n\t this.namespace = namespace;\n\t this.name = name;\n\t }\n\t return JSXNamespacedName;\n\t}());\n\texports.JSXNamespacedName = JSXNamespacedName;\n\tvar JSXOpeningElement = (function () {\n\t function JSXOpeningElement(name, selfClosing, attributes) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXOpeningElement;\n\t this.name = name;\n\t this.selfClosing = selfClosing;\n\t this.attributes = attributes;\n\t }\n\t return JSXOpeningElement;\n\t}());\n\texports.JSXOpeningElement = JSXOpeningElement;\n\tvar JSXSpreadAttribute = (function () {\n\t function JSXSpreadAttribute(argument) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXSpreadAttribute;\n\t this.argument = argument;\n\t }\n\t return JSXSpreadAttribute;\n\t}());\n\texports.JSXSpreadAttribute = JSXSpreadAttribute;\n\tvar JSXText = (function () {\n\t function JSXText(value, raw) {\n\t this.type = jsx_syntax_1.JSXSyntax.JSXText;\n\t this.value = value;\n\t this.raw = raw;\n\t }\n\t return JSXText;\n\t}());\n\texports.JSXText = JSXText;\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\texports.JSXSyntax = {\n\t JSXAttribute: 'JSXAttribute',\n\t JSXClosingElement: 'JSXClosingElement',\n\t JSXElement: 'JSXElement',\n\t JSXEmptyExpression: 'JSXEmptyExpression',\n\t JSXExpressionContainer: 'JSXExpressionContainer',\n\t JSXIdentifier: 'JSXIdentifier',\n\t JSXMemberExpression: 'JSXMemberExpression',\n\t JSXNamespacedName: 'JSXNamespacedName',\n\t JSXOpeningElement: 'JSXOpeningElement',\n\t JSXSpreadAttribute: 'JSXSpreadAttribute',\n\t JSXText: 'JSXText'\n\t};\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar syntax_1 = __webpack_require__(2);\n\t/* tslint:disable:max-classes-per-file */\n\tvar ArrayExpression = (function () {\n\t function ArrayExpression(elements) {\n\t this.type = syntax_1.Syntax.ArrayExpression;\n\t this.elements = elements;\n\t }\n\t return ArrayExpression;\n\t}());\n\texports.ArrayExpression = ArrayExpression;\n\tvar ArrayPattern = (function () {\n\t function ArrayPattern(elements) {\n\t this.type = syntax_1.Syntax.ArrayPattern;\n\t this.elements = elements;\n\t }\n\t return ArrayPattern;\n\t}());\n\texports.ArrayPattern = ArrayPattern;\n\tvar ArrowFunctionExpression = (function () {\n\t function ArrowFunctionExpression(params, body, expression) {\n\t this.type = syntax_1.Syntax.ArrowFunctionExpression;\n\t this.id = null;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = expression;\n\t this.async = false;\n\t }\n\t return ArrowFunctionExpression;\n\t}());\n\texports.ArrowFunctionExpression = ArrowFunctionExpression;\n\tvar AssignmentExpression = (function () {\n\t function AssignmentExpression(operator, left, right) {\n\t this.type = syntax_1.Syntax.AssignmentExpression;\n\t this.operator = operator;\n\t this.left = left;\n\t this.right = right;\n\t }\n\t return AssignmentExpression;\n\t}());\n\texports.AssignmentExpression = AssignmentExpression;\n\tvar AssignmentPattern = (function () {\n\t function AssignmentPattern(left, right) {\n\t this.type = syntax_1.Syntax.AssignmentPattern;\n\t this.left = left;\n\t this.right = right;\n\t }\n\t return AssignmentPattern;\n\t}());\n\texports.AssignmentPattern = AssignmentPattern;\n\tvar AsyncArrowFunctionExpression = (function () {\n\t function AsyncArrowFunctionExpression(params, body, expression) {\n\t this.type = syntax_1.Syntax.ArrowFunctionExpression;\n\t this.id = null;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = expression;\n\t this.async = true;\n\t }\n\t return AsyncArrowFunctionExpression;\n\t}());\n\texports.AsyncArrowFunctionExpression = AsyncArrowFunctionExpression;\n\tvar AsyncFunctionDeclaration = (function () {\n\t function AsyncFunctionDeclaration(id, params, body) {\n\t this.type = syntax_1.Syntax.FunctionDeclaration;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = false;\n\t this.async = true;\n\t }\n\t return AsyncFunctionDeclaration;\n\t}());\n\texports.AsyncFunctionDeclaration = AsyncFunctionDeclaration;\n\tvar AsyncFunctionExpression = (function () {\n\t function AsyncFunctionExpression(id, params, body) {\n\t this.type = syntax_1.Syntax.FunctionExpression;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = false;\n\t this.expression = false;\n\t this.async = true;\n\t }\n\t return AsyncFunctionExpression;\n\t}());\n\texports.AsyncFunctionExpression = AsyncFunctionExpression;\n\tvar AwaitExpression = (function () {\n\t function AwaitExpression(argument) {\n\t this.type = syntax_1.Syntax.AwaitExpression;\n\t this.argument = argument;\n\t }\n\t return AwaitExpression;\n\t}());\n\texports.AwaitExpression = AwaitExpression;\n\tvar BinaryExpression = (function () {\n\t function BinaryExpression(operator, left, right) {\n\t var logical = (operator === '||' || operator === '&&');\n\t this.type = logical ? syntax_1.Syntax.LogicalExpression : syntax_1.Syntax.BinaryExpression;\n\t this.operator = operator;\n\t this.left = left;\n\t this.right = right;\n\t }\n\t return BinaryExpression;\n\t}());\n\texports.BinaryExpression = BinaryExpression;\n\tvar BlockStatement = (function () {\n\t function BlockStatement(body) {\n\t this.type = syntax_1.Syntax.BlockStatement;\n\t this.body = body;\n\t }\n\t return BlockStatement;\n\t}());\n\texports.BlockStatement = BlockStatement;\n\tvar BreakStatement = (function () {\n\t function BreakStatement(label) {\n\t this.type = syntax_1.Syntax.BreakStatement;\n\t this.label = label;\n\t }\n\t return BreakStatement;\n\t}());\n\texports.BreakStatement = BreakStatement;\n\tvar CallExpression = (function () {\n\t function CallExpression(callee, args) {\n\t this.type = syntax_1.Syntax.CallExpression;\n\t this.callee = callee;\n\t this.arguments = args;\n\t }\n\t return CallExpression;\n\t}());\n\texports.CallExpression = CallExpression;\n\tvar CatchClause = (function () {\n\t function CatchClause(param, body) {\n\t this.type = syntax_1.Syntax.CatchClause;\n\t this.param = param;\n\t this.body = body;\n\t }\n\t return CatchClause;\n\t}());\n\texports.CatchClause = CatchClause;\n\tvar ClassBody = (function () {\n\t function ClassBody(body) {\n\t this.type = syntax_1.Syntax.ClassBody;\n\t this.body = body;\n\t }\n\t return ClassBody;\n\t}());\n\texports.ClassBody = ClassBody;\n\tvar ClassDeclaration = (function () {\n\t function ClassDeclaration(id, superClass, body) {\n\t this.type = syntax_1.Syntax.ClassDeclaration;\n\t this.id = id;\n\t this.superClass = superClass;\n\t this.body = body;\n\t }\n\t return ClassDeclaration;\n\t}());\n\texports.ClassDeclaration = ClassDeclaration;\n\tvar ClassExpression = (function () {\n\t function ClassExpression(id, superClass, body) {\n\t this.type = syntax_1.Syntax.ClassExpression;\n\t this.id = id;\n\t this.superClass = superClass;\n\t this.body = body;\n\t }\n\t return ClassExpression;\n\t}());\n\texports.ClassExpression = ClassExpression;\n\tvar ComputedMemberExpression = (function () {\n\t function ComputedMemberExpression(object, property) {\n\t this.type = syntax_1.Syntax.MemberExpression;\n\t this.computed = true;\n\t this.object = object;\n\t this.property = property;\n\t }\n\t return ComputedMemberExpression;\n\t}());\n\texports.ComputedMemberExpression = ComputedMemberExpression;\n\tvar ConditionalExpression = (function () {\n\t function ConditionalExpression(test, consequent, alternate) {\n\t this.type = syntax_1.Syntax.ConditionalExpression;\n\t this.test = test;\n\t this.consequent = consequent;\n\t this.alternate = alternate;\n\t }\n\t return ConditionalExpression;\n\t}());\n\texports.ConditionalExpression = ConditionalExpression;\n\tvar ContinueStatement = (function () {\n\t function ContinueStatement(label) {\n\t this.type = syntax_1.Syntax.ContinueStatement;\n\t this.label = label;\n\t }\n\t return ContinueStatement;\n\t}());\n\texports.ContinueStatement = ContinueStatement;\n\tvar DebuggerStatement = (function () {\n\t function DebuggerStatement() {\n\t this.type = syntax_1.Syntax.DebuggerStatement;\n\t }\n\t return DebuggerStatement;\n\t}());\n\texports.DebuggerStatement = DebuggerStatement;\n\tvar Directive = (function () {\n\t function Directive(expression, directive) {\n\t this.type = syntax_1.Syntax.ExpressionStatement;\n\t this.expression = expression;\n\t this.directive = directive;\n\t }\n\t return Directive;\n\t}());\n\texports.Directive = Directive;\n\tvar DoWhileStatement = (function () {\n\t function DoWhileStatement(body, test) {\n\t this.type = syntax_1.Syntax.DoWhileStatement;\n\t this.body = body;\n\t this.test = test;\n\t }\n\t return DoWhileStatement;\n\t}());\n\texports.DoWhileStatement = DoWhileStatement;\n\tvar EmptyStatement = (function () {\n\t function EmptyStatement() {\n\t this.type = syntax_1.Syntax.EmptyStatement;\n\t }\n\t return EmptyStatement;\n\t}());\n\texports.EmptyStatement = EmptyStatement;\n\tvar ExportAllDeclaration = (function () {\n\t function ExportAllDeclaration(source) {\n\t this.type = syntax_1.Syntax.ExportAllDeclaration;\n\t this.source = source;\n\t }\n\t return ExportAllDeclaration;\n\t}());\n\texports.ExportAllDeclaration = ExportAllDeclaration;\n\tvar ExportDefaultDeclaration = (function () {\n\t function ExportDefaultDeclaration(declaration) {\n\t this.type = syntax_1.Syntax.ExportDefaultDeclaration;\n\t this.declaration = declaration;\n\t }\n\t return ExportDefaultDeclaration;\n\t}());\n\texports.ExportDefaultDeclaration = ExportDefaultDeclaration;\n\tvar ExportNamedDeclaration = (function () {\n\t function ExportNamedDeclaration(declaration, specifiers, source) {\n\t this.type = syntax_1.Syntax.ExportNamedDeclaration;\n\t this.declaration = declaration;\n\t this.specifiers = specifiers;\n\t this.source = source;\n\t }\n\t return ExportNamedDeclaration;\n\t}());\n\texports.ExportNamedDeclaration = ExportNamedDeclaration;\n\tvar ExportSpecifier = (function () {\n\t function ExportSpecifier(local, exported) {\n\t this.type = syntax_1.Syntax.ExportSpecifier;\n\t this.exported = exported;\n\t this.local = local;\n\t }\n\t return ExportSpecifier;\n\t}());\n\texports.ExportSpecifier = ExportSpecifier;\n\tvar ExpressionStatement = (function () {\n\t function ExpressionStatement(expression) {\n\t this.type = syntax_1.Syntax.ExpressionStatement;\n\t this.expression = expression;\n\t }\n\t return ExpressionStatement;\n\t}());\n\texports.ExpressionStatement = ExpressionStatement;\n\tvar ForInStatement = (function () {\n\t function ForInStatement(left, right, body) {\n\t this.type = syntax_1.Syntax.ForInStatement;\n\t this.left = left;\n\t this.right = right;\n\t this.body = body;\n\t this.each = false;\n\t }\n\t return ForInStatement;\n\t}());\n\texports.ForInStatement = ForInStatement;\n\tvar ForOfStatement = (function () {\n\t function ForOfStatement(left, right, body) {\n\t this.type = syntax_1.Syntax.ForOfStatement;\n\t this.left = left;\n\t this.right = right;\n\t this.body = body;\n\t }\n\t return ForOfStatement;\n\t}());\n\texports.ForOfStatement = ForOfStatement;\n\tvar ForStatement = (function () {\n\t function ForStatement(init, test, update, body) {\n\t this.type = syntax_1.Syntax.ForStatement;\n\t this.init = init;\n\t this.test = test;\n\t this.update = update;\n\t this.body = body;\n\t }\n\t return ForStatement;\n\t}());\n\texports.ForStatement = ForStatement;\n\tvar FunctionDeclaration = (function () {\n\t function FunctionDeclaration(id, params, body, generator) {\n\t this.type = syntax_1.Syntax.FunctionDeclaration;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = generator;\n\t this.expression = false;\n\t this.async = false;\n\t }\n\t return FunctionDeclaration;\n\t}());\n\texports.FunctionDeclaration = FunctionDeclaration;\n\tvar FunctionExpression = (function () {\n\t function FunctionExpression(id, params, body, generator) {\n\t this.type = syntax_1.Syntax.FunctionExpression;\n\t this.id = id;\n\t this.params = params;\n\t this.body = body;\n\t this.generator = generator;\n\t this.expression = false;\n\t this.async = false;\n\t }\n\t return FunctionExpression;\n\t}());\n\texports.FunctionExpression = FunctionExpression;\n\tvar Identifier = (function () {\n\t function Identifier(name) {\n\t this.type = syntax_1.Syntax.Identifier;\n\t this.name = name;\n\t }\n\t return Identifier;\n\t}());\n\texports.Identifier = Identifier;\n\tvar IfStatement = (function () {\n\t function IfStatement(test, consequent, alternate) {\n\t this.type = syntax_1.Syntax.IfStatement;\n\t this.test = test;\n\t this.consequent = consequent;\n\t this.alternate = alternate;\n\t }\n\t return IfStatement;\n\t}());\n\texports.IfStatement = IfStatement;\n\tvar ImportDeclaration = (function () {\n\t function ImportDeclaration(specifiers, source) {\n\t this.type = syntax_1.Syntax.ImportDeclaration;\n\t this.specifiers = specifiers;\n\t this.source = source;\n\t }\n\t return ImportDeclaration;\n\t}());\n\texports.ImportDeclaration = ImportDeclaration;\n\tvar ImportDefaultSpecifier = (function () {\n\t function ImportDefaultSpecifier(local) {\n\t this.type = syntax_1.Syntax.ImportDefaultSpecifier;\n\t this.local = local;\n\t }\n\t return ImportDefaultSpecifier;\n\t}());\n\texports.ImportDefaultSpecifier = ImportDefaultSpecifier;\n\tvar ImportNamespaceSpecifier = (function () {\n\t function ImportNamespaceSpecifier(local) {\n\t this.type = syntax_1.Syntax.ImportNamespaceSpecifier;\n\t this.local = local;\n\t }\n\t return ImportNamespaceSpecifier;\n\t}());\n\texports.ImportNamespaceSpecifier = ImportNamespaceSpecifier;\n\tvar ImportSpecifier = (function () {\n\t function ImportSpecifier(local, imported) {\n\t this.type = syntax_1.Syntax.ImportSpecifier;\n\t this.local = local;\n\t this.imported = imported;\n\t }\n\t return ImportSpecifier;\n\t}());\n\texports.ImportSpecifier = ImportSpecifier;\n\tvar LabeledStatement = (function () {\n\t function LabeledStatement(label, body) {\n\t this.type = syntax_1.Syntax.LabeledStatement;\n\t this.label = label;\n\t this.body = body;\n\t }\n\t return LabeledStatement;\n\t}());\n\texports.LabeledStatement = LabeledStatement;\n\tvar Literal = (function () {\n\t function Literal(value, raw) {\n\t this.type = syntax_1.Syntax.Literal;\n\t this.value = value;\n\t this.raw = raw;\n\t }\n\t return Literal;\n\t}());\n\texports.Literal = Literal;\n\tvar MetaProperty = (function () {\n\t function MetaProperty(meta, property) {\n\t this.type = syntax_1.Syntax.MetaProperty;\n\t this.meta = meta;\n\t this.property = property;\n\t }\n\t return MetaProperty;\n\t}());\n\texports.MetaProperty = MetaProperty;\n\tvar MethodDefinition = (function () {\n\t function MethodDefinition(key, computed, value, kind, isStatic) {\n\t this.type = syntax_1.Syntax.MethodDefinition;\n\t this.key = key;\n\t this.computed = computed;\n\t this.value = value;\n\t this.kind = kind;\n\t this.static = isStatic;\n\t }\n\t return MethodDefinition;\n\t}());\n\texports.MethodDefinition = MethodDefinition;\n\tvar Module = (function () {\n\t function Module(body) {\n\t this.type = syntax_1.Syntax.Program;\n\t this.body = body;\n\t this.sourceType = 'module';\n\t }\n\t return Module;\n\t}());\n\texports.Module = Module;\n\tvar NewExpression = (function () {\n\t function NewExpression(callee, args) {\n\t this.type = syntax_1.Syntax.NewExpression;\n\t this.callee = callee;\n\t this.arguments = args;\n\t }\n\t return NewExpression;\n\t}());\n\texports.NewExpression = NewExpression;\n\tvar ObjectExpression = (function () {\n\t function ObjectExpression(properties) {\n\t this.type = syntax_1.Syntax.ObjectExpression;\n\t this.properties = properties;\n\t }\n\t return ObjectExpression;\n\t}());\n\texports.ObjectExpression = ObjectExpression;\n\tvar ObjectPattern = (function () {\n\t function ObjectPattern(properties) {\n\t this.type = syntax_1.Syntax.ObjectPattern;\n\t this.properties = properties;\n\t }\n\t return ObjectPattern;\n\t}());\n\texports.ObjectPattern = ObjectPattern;\n\tvar Property = (function () {\n\t function Property(kind, key, computed, value, method, shorthand) {\n\t this.type = syntax_1.Syntax.Property;\n\t this.key = key;\n\t this.computed = computed;\n\t this.value = value;\n\t this.kind = kind;\n\t this.method = method;\n\t this.shorthand = shorthand;\n\t }\n\t return Property;\n\t}());\n\texports.Property = Property;\n\tvar RegexLiteral = (function () {\n\t function RegexLiteral(value, raw, pattern, flags) {\n\t this.type = syntax_1.Syntax.Literal;\n\t this.value = value;\n\t this.raw = raw;\n\t this.regex = { pattern: pattern, flags: flags };\n\t }\n\t return RegexLiteral;\n\t}());\n\texports.RegexLiteral = RegexLiteral;\n\tvar RestElement = (function () {\n\t function RestElement(argument) {\n\t this.type = syntax_1.Syntax.RestElement;\n\t this.argument = argument;\n\t }\n\t return RestElement;\n\t}());\n\texports.RestElement = RestElement;\n\tvar ReturnStatement = (function () {\n\t function ReturnStatement(argument) {\n\t this.type = syntax_1.Syntax.ReturnStatement;\n\t this.argument = argument;\n\t }\n\t return ReturnStatement;\n\t}());\n\texports.ReturnStatement = ReturnStatement;\n\tvar Script = (function () {\n\t function Script(body) {\n\t this.type = syntax_1.Syntax.Program;\n\t this.body = body;\n\t this.sourceType = 'script';\n\t }\n\t return Script;\n\t}());\n\texports.Script = Script;\n\tvar SequenceExpression = (function () {\n\t function SequenceExpression(expressions) {\n\t this.type = syntax_1.Syntax.SequenceExpression;\n\t this.expressions = expressions;\n\t }\n\t return SequenceExpression;\n\t}());\n\texports.SequenceExpression = SequenceExpression;\n\tvar SpreadElement = (function () {\n\t function SpreadElement(argument) {\n\t this.type = syntax_1.Syntax.SpreadElement;\n\t this.argument = argument;\n\t }\n\t return SpreadElement;\n\t}());\n\texports.SpreadElement = SpreadElement;\n\tvar StaticMemberExpression = (function () {\n\t function StaticMemberExpression(object, property) {\n\t this.type = syntax_1.Syntax.MemberExpression;\n\t this.computed = false;\n\t this.object = object;\n\t this.property = property;\n\t }\n\t return StaticMemberExpression;\n\t}());\n\texports.StaticMemberExpression = StaticMemberExpression;\n\tvar Super = (function () {\n\t function Super() {\n\t this.type = syntax_1.Syntax.Super;\n\t }\n\t return Super;\n\t}());\n\texports.Super = Super;\n\tvar SwitchCase = (function () {\n\t function SwitchCase(test, consequent) {\n\t this.type = syntax_1.Syntax.SwitchCase;\n\t this.test = test;\n\t this.consequent = consequent;\n\t }\n\t return SwitchCase;\n\t}());\n\texports.SwitchCase = SwitchCase;\n\tvar SwitchStatement = (function () {\n\t function SwitchStatement(discriminant, cases) {\n\t this.type = syntax_1.Syntax.SwitchStatement;\n\t this.discriminant = discriminant;\n\t this.cases = cases;\n\t }\n\t return SwitchStatement;\n\t}());\n\texports.SwitchStatement = SwitchStatement;\n\tvar TaggedTemplateExpression = (function () {\n\t function TaggedTemplateExpression(tag, quasi) {\n\t this.type = syntax_1.Syntax.TaggedTemplateExpression;\n\t this.tag = tag;\n\t this.quasi = quasi;\n\t }\n\t return TaggedTemplateExpression;\n\t}());\n\texports.TaggedTemplateExpression = TaggedTemplateExpression;\n\tvar TemplateElement = (function () {\n\t function TemplateElement(value, tail) {\n\t this.type = syntax_1.Syntax.TemplateElement;\n\t this.value = value;\n\t this.tail = tail;\n\t }\n\t return TemplateElement;\n\t}());\n\texports.TemplateElement = TemplateElement;\n\tvar TemplateLiteral = (function () {\n\t function TemplateLiteral(quasis, expressions) {\n\t this.type = syntax_1.Syntax.TemplateLiteral;\n\t this.quasis = quasis;\n\t this.expressions = expressions;\n\t }\n\t return TemplateLiteral;\n\t}());\n\texports.TemplateLiteral = TemplateLiteral;\n\tvar ThisExpression = (function () {\n\t function ThisExpression() {\n\t this.type = syntax_1.Syntax.ThisExpression;\n\t }\n\t return ThisExpression;\n\t}());\n\texports.ThisExpression = ThisExpression;\n\tvar ThrowStatement = (function () {\n\t function ThrowStatement(argument) {\n\t this.type = syntax_1.Syntax.ThrowStatement;\n\t this.argument = argument;\n\t }\n\t return ThrowStatement;\n\t}());\n\texports.ThrowStatement = ThrowStatement;\n\tvar TryStatement = (function () {\n\t function TryStatement(block, handler, finalizer) {\n\t this.type = syntax_1.Syntax.TryStatement;\n\t this.block = block;\n\t this.handler = handler;\n\t this.finalizer = finalizer;\n\t }\n\t return TryStatement;\n\t}());\n\texports.TryStatement = TryStatement;\n\tvar UnaryExpression = (function () {\n\t function UnaryExpression(operator, argument) {\n\t this.type = syntax_1.Syntax.UnaryExpression;\n\t this.operator = operator;\n\t this.argument = argument;\n\t this.prefix = true;\n\t }\n\t return UnaryExpression;\n\t}());\n\texports.UnaryExpression = UnaryExpression;\n\tvar UpdateExpression = (function () {\n\t function UpdateExpression(operator, argument, prefix) {\n\t this.type = syntax_1.Syntax.UpdateExpression;\n\t this.operator = operator;\n\t this.argument = argument;\n\t this.prefix = prefix;\n\t }\n\t return UpdateExpression;\n\t}());\n\texports.UpdateExpression = UpdateExpression;\n\tvar VariableDeclaration = (function () {\n\t function VariableDeclaration(declarations, kind) {\n\t this.type = syntax_1.Syntax.VariableDeclaration;\n\t this.declarations = declarations;\n\t this.kind = kind;\n\t }\n\t return VariableDeclaration;\n\t}());\n\texports.VariableDeclaration = VariableDeclaration;\n\tvar VariableDeclarator = (function () {\n\t function VariableDeclarator(id, init) {\n\t this.type = syntax_1.Syntax.VariableDeclarator;\n\t this.id = id;\n\t this.init = init;\n\t }\n\t return VariableDeclarator;\n\t}());\n\texports.VariableDeclarator = VariableDeclarator;\n\tvar WhileStatement = (function () {\n\t function WhileStatement(test, body) {\n\t this.type = syntax_1.Syntax.WhileStatement;\n\t this.test = test;\n\t this.body = body;\n\t }\n\t return WhileStatement;\n\t}());\n\texports.WhileStatement = WhileStatement;\n\tvar WithStatement = (function () {\n\t function WithStatement(object, body) {\n\t this.type = syntax_1.Syntax.WithStatement;\n\t this.object = object;\n\t this.body = body;\n\t }\n\t return WithStatement;\n\t}());\n\texports.WithStatement = WithStatement;\n\tvar YieldExpression = (function () {\n\t function YieldExpression(argument, delegate) {\n\t this.type = syntax_1.Syntax.YieldExpression;\n\t this.argument = argument;\n\t this.delegate = delegate;\n\t }\n\t return YieldExpression;\n\t}());\n\texports.YieldExpression = YieldExpression;\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar assert_1 = __webpack_require__(9);\n\tvar error_handler_1 = __webpack_require__(10);\n\tvar messages_1 = __webpack_require__(11);\n\tvar Node = __webpack_require__(7);\n\tvar scanner_1 = __webpack_require__(12);\n\tvar syntax_1 = __webpack_require__(2);\n\tvar token_1 = __webpack_require__(13);\n\tvar ArrowParameterPlaceHolder = 'ArrowParameterPlaceHolder';\n\tvar Parser = (function () {\n\t function Parser(code, options, delegate) {\n\t if (options === void 0) { options = {}; }\n\t this.config = {\n\t range: (typeof options.range === 'boolean') && options.range,\n\t loc: (typeof options.loc === 'boolean') && options.loc,\n\t source: null,\n\t tokens: (typeof options.tokens === 'boolean') && options.tokens,\n\t comment: (typeof options.comment === 'boolean') && options.comment,\n\t tolerant: (typeof options.tolerant === 'boolean') && options.tolerant\n\t };\n\t if (this.config.loc && options.source && options.source !== null) {\n\t this.config.source = String(options.source);\n\t }\n\t this.delegate = delegate;\n\t this.errorHandler = new error_handler_1.ErrorHandler();\n\t this.errorHandler.tolerant = this.config.tolerant;\n\t this.scanner = new scanner_1.Scanner(code, this.errorHandler);\n\t this.scanner.trackComment = this.config.comment;\n\t this.operatorPrecedence = {\n\t ')': 0,\n\t ';': 0,\n\t ',': 0,\n\t '=': 0,\n\t ']': 0,\n\t '||': 1,\n\t '&&': 2,\n\t '|': 3,\n\t '^': 4,\n\t '&': 5,\n\t '==': 6,\n\t '!=': 6,\n\t '===': 6,\n\t '!==': 6,\n\t '<': 7,\n\t '>': 7,\n\t '<=': 7,\n\t '>=': 7,\n\t '<<': 8,\n\t '>>': 8,\n\t '>>>': 8,\n\t '+': 9,\n\t '-': 9,\n\t '*': 11,\n\t '/': 11,\n\t '%': 11\n\t };\n\t this.lookahead = {\n\t type: 2 /* EOF */,\n\t value: '',\n\t lineNumber: this.scanner.lineNumber,\n\t lineStart: 0,\n\t start: 0,\n\t end: 0\n\t };\n\t this.hasLineTerminator = false;\n\t this.context = {\n\t isModule: false,\n\t await: false,\n\t allowIn: true,\n\t allowStrictDirective: true,\n\t allowYield: true,\n\t firstCoverInitializedNameError: null,\n\t isAssignmentTarget: false,\n\t isBindingElement: false,\n\t inFunctionBody: false,\n\t inIteration: false,\n\t inSwitch: false,\n\t labelSet: {},\n\t strict: false\n\t };\n\t this.tokens = [];\n\t this.startMarker = {\n\t index: 0,\n\t line: this.scanner.lineNumber,\n\t column: 0\n\t };\n\t this.lastMarker = {\n\t index: 0,\n\t line: this.scanner.lineNumber,\n\t column: 0\n\t };\n\t this.nextToken();\n\t this.lastMarker = {\n\t index: this.scanner.index,\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t };\n\t }\n\t Parser.prototype.throwError = function (messageFormat) {\n\t var values = [];\n\t for (var _i = 1; _i < arguments.length; _i++) {\n\t values[_i - 1] = arguments[_i];\n\t }\n\t var args = Array.prototype.slice.call(arguments, 1);\n\t var msg = messageFormat.replace(/%(\\d)/g, function (whole, idx) {\n\t assert_1.assert(idx < args.length, 'Message reference must be in range');\n\t return args[idx];\n\t });\n\t var index = this.lastMarker.index;\n\t var line = this.lastMarker.line;\n\t var column = this.lastMarker.column + 1;\n\t throw this.errorHandler.createError(index, line, column, msg);\n\t };\n\t Parser.prototype.tolerateError = function (messageFormat) {\n\t var values = [];\n\t for (var _i = 1; _i < arguments.length; _i++) {\n\t values[_i - 1] = arguments[_i];\n\t }\n\t var args = Array.prototype.slice.call(arguments, 1);\n\t var msg = messageFormat.replace(/%(\\d)/g, function (whole, idx) {\n\t assert_1.assert(idx < args.length, 'Message reference must be in range');\n\t return args[idx];\n\t });\n\t var index = this.lastMarker.index;\n\t var line = this.scanner.lineNumber;\n\t var column = this.lastMarker.column + 1;\n\t this.errorHandler.tolerateError(index, line, column, msg);\n\t };\n\t // Throw an exception because of the token.\n\t Parser.prototype.unexpectedTokenError = function (token, message) {\n\t var msg = message || messages_1.Messages.UnexpectedToken;\n\t var value;\n\t if (token) {\n\t if (!message) {\n\t msg = (token.type === 2 /* EOF */) ? messages_1.Messages.UnexpectedEOS :\n\t (token.type === 3 /* Identifier */) ? messages_1.Messages.UnexpectedIdentifier :\n\t (token.type === 6 /* NumericLiteral */) ? messages_1.Messages.UnexpectedNumber :\n\t (token.type === 8 /* StringLiteral */) ? messages_1.Messages.UnexpectedString :\n\t (token.type === 10 /* Template */) ? messages_1.Messages.UnexpectedTemplate :\n\t messages_1.Messages.UnexpectedToken;\n\t if (token.type === 4 /* Keyword */) {\n\t if (this.scanner.isFutureReservedWord(token.value)) {\n\t msg = messages_1.Messages.UnexpectedReserved;\n\t }\n\t else if (this.context.strict && this.scanner.isStrictModeReservedWord(token.value)) {\n\t msg = messages_1.Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t value = token.value;\n\t }\n\t else {\n\t value = 'ILLEGAL';\n\t }\n\t msg = msg.replace('%0', value);\n\t if (token && typeof token.lineNumber === 'number') {\n\t var index = token.start;\n\t var line = token.lineNumber;\n\t var lastMarkerLineStart = this.lastMarker.index - this.lastMarker.column;\n\t var column = token.start - lastMarkerLineStart + 1;\n\t return this.errorHandler.createError(index, line, column, msg);\n\t }\n\t else {\n\t var index = this.lastMarker.index;\n\t var line = this.lastMarker.line;\n\t var column = this.lastMarker.column + 1;\n\t return this.errorHandler.createError(index, line, column, msg);\n\t }\n\t };\n\t Parser.prototype.throwUnexpectedToken = function (token, message) {\n\t throw this.unexpectedTokenError(token, message);\n\t };\n\t Parser.prototype.tolerateUnexpectedToken = function (token, message) {\n\t this.errorHandler.tolerate(this.unexpectedTokenError(token, message));\n\t };\n\t Parser.prototype.collectComments = function () {\n\t if (!this.config.comment) {\n\t this.scanner.scanComments();\n\t }\n\t else {\n\t var comments = this.scanner.scanComments();\n\t if (comments.length > 0 && this.delegate) {\n\t for (var i = 0; i < comments.length; ++i) {\n\t var e = comments[i];\n\t var node = void 0;\n\t node = {\n\t type: e.multiLine ? 'BlockComment' : 'LineComment',\n\t value: this.scanner.source.slice(e.slice[0], e.slice[1])\n\t };\n\t if (this.config.range) {\n\t node.range = e.range;\n\t }\n\t if (this.config.loc) {\n\t node.loc = e.loc;\n\t }\n\t var metadata = {\n\t start: {\n\t line: e.loc.start.line,\n\t column: e.loc.start.column,\n\t offset: e.range[0]\n\t },\n\t end: {\n\t line: e.loc.end.line,\n\t column: e.loc.end.column,\n\t offset: e.range[1]\n\t }\n\t };\n\t this.delegate(node, metadata);\n\t }\n\t }\n\t }\n\t };\n\t // From internal representation to an external structure\n\t Parser.prototype.getTokenRaw = function (token) {\n\t return this.scanner.source.slice(token.start, token.end);\n\t };\n\t Parser.prototype.convertToken = function (token) {\n\t var t = {\n\t type: token_1.TokenName[token.type],\n\t value: this.getTokenRaw(token)\n\t };\n\t if (this.config.range) {\n\t t.range = [token.start, token.end];\n\t }\n\t if (this.config.loc) {\n\t t.loc = {\n\t start: {\n\t line: this.startMarker.line,\n\t column: this.startMarker.column\n\t },\n\t end: {\n\t line: this.scanner.lineNumber,\n\t column: this.scanner.index - this.scanner.lineStart\n\t }\n\t };\n\t }\n\t if (token.type === 9 /* RegularExpression */) {\n\t var pattern = token.pattern;\n\t var flags = token.flags;\n\t t.regex = { pattern: pattern, flags: flags };\n\t }\n\t return t;\n\t };\n\t Parser.prototype.nextToken = function () {\n\t var token = this.lookahead;\n\t this.lastMarker.index = this.scanner.index;\n\t this.lastMarker.line = this.scanner.lineNumber;\n\t this.lastMarker.column = this.scanner.index - this.scanner.lineStart;\n\t this.collectComments();\n\t if (this.scanner.index !== this.startMarker.index) {\n\t this.startMarker.index = this.scanner.index;\n\t this.startMarker.line = this.scanner.lineNumber;\n\t this.startMarker.column = this.scanner.index - this.scanner.lineStart;\n\t }\n\t var next = this.scanner.lex();\n\t this.hasLineTerminator = (token.lineNumber !== next.lineNumber);\n\t if (next && this.context.strict && next.type === 3 /* Identifier */) {\n\t if (this.scanner.isStrictModeReservedWord(next.value)) {\n\t next.type = 4 /* Keyword */;\n\t }\n\t }\n\t this.lookahead = next;\n\t if (this.config.tokens && next.type !== 2 /* EOF */) {\n\t this.tokens.push(this.convertToken(next));\n\t }\n\t return token;\n\t };\n\t Parser.prototype.nextRegexToken = function () {\n\t this.collectComments();\n\t var token = this.scanner.scanRegExp();\n\t if (this.config.tokens) {\n\t // Pop the previous token, '/' or '/='\n\t // This is added from the lookahead token.\n\t this.tokens.pop();\n\t this.tokens.push(this.convertToken(token));\n\t }\n\t // Prime the next lookahead.\n\t this.lookahead = token;\n\t this.nextToken();\n\t return token;\n\t };\n\t Parser.prototype.createNode = function () {\n\t return {\n\t index: this.startMarker.index,\n\t line: this.startMarker.line,\n\t column: this.startMarker.column\n\t };\n\t };\n\t Parser.prototype.startNode = function (token, lastLineStart) {\n\t if (lastLineStart === void 0) { lastLineStart = 0; }\n\t var column = token.start - token.lineStart;\n\t var line = token.lineNumber;\n\t if (column < 0) {\n\t column += lastLineStart;\n\t line--;\n\t }\n\t return {\n\t index: token.start,\n\t line: line,\n\t column: column\n\t };\n\t };\n\t Parser.prototype.finalize = function (marker, node) {\n\t if (this.config.range) {\n\t node.range = [marker.index, this.lastMarker.index];\n\t }\n\t if (this.config.loc) {\n\t node.loc = {\n\t start: {\n\t line: marker.line,\n\t column: marker.column,\n\t },\n\t end: {\n\t line: this.lastMarker.line,\n\t column: this.lastMarker.column\n\t }\n\t };\n\t if (this.config.source) {\n\t node.loc.source = this.config.source;\n\t }\n\t }\n\t if (this.delegate) {\n\t var metadata = {\n\t start: {\n\t line: marker.line,\n\t column: marker.column,\n\t offset: marker.index\n\t },\n\t end: {\n\t line: this.lastMarker.line,\n\t column: this.lastMarker.column,\n\t offset: this.lastMarker.index\n\t }\n\t };\n\t this.delegate(node, metadata);\n\t }\n\t return node;\n\t };\n\t // Expect the next token to match the specified punctuator.\n\t // If not, an exception will be thrown.\n\t Parser.prototype.expect = function (value) {\n\t var token = this.nextToken();\n\t if (token.type !== 7 /* Punctuator */ || token.value !== value) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t };\n\t // Quietly expect a comma when in tolerant mode, otherwise delegates to expect().\n\t Parser.prototype.expectCommaSeparator = function () {\n\t if (this.config.tolerant) {\n\t var token = this.lookahead;\n\t if (token.type === 7 /* Punctuator */ && token.value === ',') {\n\t this.nextToken();\n\t }\n\t else if (token.type === 7 /* Punctuator */ && token.value === ';') {\n\t this.nextToken();\n\t this.tolerateUnexpectedToken(token);\n\t }\n\t else {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.UnexpectedToken);\n\t }\n\t }\n\t else {\n\t this.expect(',');\n\t }\n\t };\n\t // Expect the next token to match the specified keyword.\n\t // If not, an exception will be thrown.\n\t Parser.prototype.expectKeyword = function (keyword) {\n\t var token = this.nextToken();\n\t if (token.type !== 4 /* Keyword */ || token.value !== keyword) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t };\n\t // Return true if the next token matches the specified punctuator.\n\t Parser.prototype.match = function (value) {\n\t return this.lookahead.type === 7 /* Punctuator */ && this.lookahead.value === value;\n\t };\n\t // Return true if the next token matches the specified keyword\n\t Parser.prototype.matchKeyword = function (keyword) {\n\t return this.lookahead.type === 4 /* Keyword */ && this.lookahead.value === keyword;\n\t };\n\t // Return true if the next token matches the specified contextual keyword\n\t // (where an identifier is sometimes a keyword depending on the context)\n\t Parser.prototype.matchContextualKeyword = function (keyword) {\n\t return this.lookahead.type === 3 /* Identifier */ && this.lookahead.value === keyword;\n\t };\n\t // Return true if the next token is an assignment operator\n\t Parser.prototype.matchAssign = function () {\n\t if (this.lookahead.type !== 7 /* Punctuator */) {\n\t return false;\n\t }\n\t var op = this.lookahead.value;\n\t return op === '=' ||\n\t op === '*=' ||\n\t op === '**=' ||\n\t op === '/=' ||\n\t op === '%=' ||\n\t op === '+=' ||\n\t op === '-=' ||\n\t op === '<<=' ||\n\t op === '>>=' ||\n\t op === '>>>=' ||\n\t op === '&=' ||\n\t op === '^=' ||\n\t op === '|=';\n\t };\n\t // Cover grammar support.\n\t //\n\t // When an assignment expression position starts with an left parenthesis, the determination of the type\n\t // of the syntax is to be deferred arbitrarily long until the end of the parentheses pair (plus a lookahead)\n\t // or the first comma. This situation also defers the determination of all the expressions nested in the pair.\n\t //\n\t // There are three productions that can be parsed in a parentheses pair that needs to be determined\n\t // after the outermost pair is closed. They are:\n\t //\n\t // 1. AssignmentExpression\n\t // 2. BindingElements\n\t // 3. AssignmentTargets\n\t //\n\t // In order to avoid exponential backtracking, we use two flags to denote if the production can be\n\t // binding element or assignment target.\n\t //\n\t // The three productions have the relationship:\n\t //\n\t // BindingElements ⊆ AssignmentTargets ⊆ AssignmentExpression\n\t //\n\t // with a single exception that CoverInitializedName when used directly in an Expression, generates\n\t // an early error. Therefore, we need the third state, firstCoverInitializedNameError, to track the\n\t // first usage of CoverInitializedName and report it when we reached the end of the parentheses pair.\n\t //\n\t // isolateCoverGrammar function runs the given parser function with a new cover grammar context, and it does not\n\t // effect the current flags. This means the production the parser parses is only used as an expression. Therefore\n\t // the CoverInitializedName check is conducted.\n\t //\n\t // inheritCoverGrammar function runs the given parse function with a new cover grammar context, and it propagates\n\t // the flags outside of the parser. This means the production the parser parses is used as a part of a potential\n\t // pattern. The CoverInitializedName check is deferred.\n\t Parser.prototype.isolateCoverGrammar = function (parseFunction) {\n\t var previousIsBindingElement = this.context.isBindingElement;\n\t var previousIsAssignmentTarget = this.context.isAssignmentTarget;\n\t var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError;\n\t this.context.isBindingElement = true;\n\t this.context.isAssignmentTarget = true;\n\t this.context.firstCoverInitializedNameError = null;\n\t var result = parseFunction.call(this);\n\t if (this.context.firstCoverInitializedNameError !== null) {\n\t this.throwUnexpectedToken(this.context.firstCoverInitializedNameError);\n\t }\n\t this.context.isBindingElement = previousIsBindingElement;\n\t this.context.isAssignmentTarget = previousIsAssignmentTarget;\n\t this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError;\n\t return result;\n\t };\n\t Parser.prototype.inheritCoverGrammar = function (parseFunction) {\n\t var previousIsBindingElement = this.context.isBindingElement;\n\t var previousIsAssignmentTarget = this.context.isAssignmentTarget;\n\t var previousFirstCoverInitializedNameError = this.context.firstCoverInitializedNameError;\n\t this.context.isBindingElement = true;\n\t this.context.isAssignmentTarget = true;\n\t this.context.firstCoverInitializedNameError = null;\n\t var result = parseFunction.call(this);\n\t this.context.isBindingElement = this.context.isBindingElement && previousIsBindingElement;\n\t this.context.isAssignmentTarget = this.context.isAssignmentTarget && previousIsAssignmentTarget;\n\t this.context.firstCoverInitializedNameError = previousFirstCoverInitializedNameError || this.context.firstCoverInitializedNameError;\n\t return result;\n\t };\n\t Parser.prototype.consumeSemicolon = function () {\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t else if (!this.hasLineTerminator) {\n\t if (this.lookahead.type !== 2 /* EOF */ && !this.match('}')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t this.lastMarker.index = this.startMarker.index;\n\t this.lastMarker.line = this.startMarker.line;\n\t this.lastMarker.column = this.startMarker.column;\n\t }\n\t };\n\t // https://tc39.github.io/ecma262/#sec-primary-expression\n\t Parser.prototype.parsePrimaryExpression = function () {\n\t var node = this.createNode();\n\t var expr;\n\t var token, raw;\n\t switch (this.lookahead.type) {\n\t case 3 /* Identifier */:\n\t if ((this.context.isModule || this.context.await) && this.lookahead.value === 'await') {\n\t this.tolerateUnexpectedToken(this.lookahead);\n\t }\n\t expr = this.matchAsyncFunction() ? this.parseFunctionExpression() : this.finalize(node, new Node.Identifier(this.nextToken().value));\n\t break;\n\t case 6 /* NumericLiteral */:\n\t case 8 /* StringLiteral */:\n\t if (this.context.strict && this.lookahead.octal) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.StrictOctalLiteral);\n\t }\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t token = this.nextToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.Literal(token.value, raw));\n\t break;\n\t case 1 /* BooleanLiteral */:\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t token = this.nextToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.Literal(token.value === 'true', raw));\n\t break;\n\t case 5 /* NullLiteral */:\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t token = this.nextToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.Literal(null, raw));\n\t break;\n\t case 10 /* Template */:\n\t expr = this.parseTemplateLiteral();\n\t break;\n\t case 7 /* Punctuator */:\n\t switch (this.lookahead.value) {\n\t case '(':\n\t this.context.isBindingElement = false;\n\t expr = this.inheritCoverGrammar(this.parseGroupExpression);\n\t break;\n\t case '[':\n\t expr = this.inheritCoverGrammar(this.parseArrayInitializer);\n\t break;\n\t case '{':\n\t expr = this.inheritCoverGrammar(this.parseObjectInitializer);\n\t break;\n\t case '/':\n\t case '/=':\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t this.scanner.index = this.startMarker.index;\n\t token = this.nextRegexToken();\n\t raw = this.getTokenRaw(token);\n\t expr = this.finalize(node, new Node.RegexLiteral(token.regex, raw, token.pattern, token.flags));\n\t break;\n\t default:\n\t expr = this.throwUnexpectedToken(this.nextToken());\n\t }\n\t break;\n\t case 4 /* Keyword */:\n\t if (!this.context.strict && this.context.allowYield && this.matchKeyword('yield')) {\n\t expr = this.parseIdentifierName();\n\t }\n\t else if (!this.context.strict && this.matchKeyword('let')) {\n\t expr = this.finalize(node, new Node.Identifier(this.nextToken().value));\n\t }\n\t else {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t if (this.matchKeyword('function')) {\n\t expr = this.parseFunctionExpression();\n\t }\n\t else if (this.matchKeyword('this')) {\n\t this.nextToken();\n\t expr = this.finalize(node, new Node.ThisExpression());\n\t }\n\t else if (this.matchKeyword('class')) {\n\t expr = this.parseClassExpression();\n\t }\n\t else {\n\t expr = this.throwUnexpectedToken(this.nextToken());\n\t }\n\t }\n\t break;\n\t default:\n\t expr = this.throwUnexpectedToken(this.nextToken());\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-array-initializer\n\t Parser.prototype.parseSpreadElement = function () {\n\t var node = this.createNode();\n\t this.expect('...');\n\t var arg = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t return this.finalize(node, new Node.SpreadElement(arg));\n\t };\n\t Parser.prototype.parseArrayInitializer = function () {\n\t var node = this.createNode();\n\t var elements = [];\n\t this.expect('[');\n\t while (!this.match(']')) {\n\t if (this.match(',')) {\n\t this.nextToken();\n\t elements.push(null);\n\t }\n\t else if (this.match('...')) {\n\t var element = this.parseSpreadElement();\n\t if (!this.match(']')) {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t this.expect(',');\n\t }\n\t elements.push(element);\n\t }\n\t else {\n\t elements.push(this.inheritCoverGrammar(this.parseAssignmentExpression));\n\t if (!this.match(']')) {\n\t this.expect(',');\n\t }\n\t }\n\t }\n\t this.expect(']');\n\t return this.finalize(node, new Node.ArrayExpression(elements));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-object-initializer\n\t Parser.prototype.parsePropertyMethod = function (params) {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = params.simple;\n\t var body = this.isolateCoverGrammar(this.parseFunctionSourceElements);\n\t if (this.context.strict && params.firstRestricted) {\n\t this.tolerateUnexpectedToken(params.firstRestricted, params.message);\n\t }\n\t if (this.context.strict && params.stricted) {\n\t this.tolerateUnexpectedToken(params.stricted, params.message);\n\t }\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t return body;\n\t };\n\t Parser.prototype.parsePropertyMethodFunction = function () {\n\t var isGenerator = false;\n\t var node = this.createNode();\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = true;\n\t var params = this.parseFormalParameters();\n\t var method = this.parsePropertyMethod(params);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator));\n\t };\n\t Parser.prototype.parsePropertyMethodAsyncFunction = function () {\n\t var node = this.createNode();\n\t var previousAllowYield = this.context.allowYield;\n\t var previousAwait = this.context.await;\n\t this.context.allowYield = false;\n\t this.context.await = true;\n\t var params = this.parseFormalParameters();\n\t var method = this.parsePropertyMethod(params);\n\t this.context.allowYield = previousAllowYield;\n\t this.context.await = previousAwait;\n\t return this.finalize(node, new Node.AsyncFunctionExpression(null, params.params, method));\n\t };\n\t Parser.prototype.parseObjectPropertyKey = function () {\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t var key;\n\t switch (token.type) {\n\t case 8 /* StringLiteral */:\n\t case 6 /* NumericLiteral */:\n\t if (this.context.strict && token.octal) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictOctalLiteral);\n\t }\n\t var raw = this.getTokenRaw(token);\n\t key = this.finalize(node, new Node.Literal(token.value, raw));\n\t break;\n\t case 3 /* Identifier */:\n\t case 1 /* BooleanLiteral */:\n\t case 5 /* NullLiteral */:\n\t case 4 /* Keyword */:\n\t key = this.finalize(node, new Node.Identifier(token.value));\n\t break;\n\t case 7 /* Punctuator */:\n\t if (token.value === '[') {\n\t key = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t this.expect(']');\n\t }\n\t else {\n\t key = this.throwUnexpectedToken(token);\n\t }\n\t break;\n\t default:\n\t key = this.throwUnexpectedToken(token);\n\t }\n\t return key;\n\t };\n\t Parser.prototype.isPropertyKey = function (key, value) {\n\t return (key.type === syntax_1.Syntax.Identifier && key.name === value) ||\n\t (key.type === syntax_1.Syntax.Literal && key.value === value);\n\t };\n\t Parser.prototype.parseObjectProperty = function (hasProto) {\n\t var node = this.createNode();\n\t var token = this.lookahead;\n\t var kind;\n\t var key = null;\n\t var value = null;\n\t var computed = false;\n\t var method = false;\n\t var shorthand = false;\n\t var isAsync = false;\n\t if (token.type === 3 /* Identifier */) {\n\t var id = token.value;\n\t this.nextToken();\n\t computed = this.match('[');\n\t isAsync = !this.hasLineTerminator && (id === 'async') &&\n\t !this.match(':') && !this.match('(') && !this.match('*') && !this.match(',');\n\t key = isAsync ? this.parseObjectPropertyKey() : this.finalize(node, new Node.Identifier(id));\n\t }\n\t else if (this.match('*')) {\n\t this.nextToken();\n\t }\n\t else {\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t }\n\t var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead);\n\t if (token.type === 3 /* Identifier */ && !isAsync && token.value === 'get' && lookaheadPropertyKey) {\n\t kind = 'get';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t this.context.allowYield = false;\n\t value = this.parseGetterMethod();\n\t }\n\t else if (token.type === 3 /* Identifier */ && !isAsync && token.value === 'set' && lookaheadPropertyKey) {\n\t kind = 'set';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseSetterMethod();\n\t }\n\t else if (token.type === 7 /* Punctuator */ && token.value === '*' && lookaheadPropertyKey) {\n\t kind = 'init';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseGeneratorMethod();\n\t method = true;\n\t }\n\t else {\n\t if (!key) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t kind = 'init';\n\t if (this.match(':') && !isAsync) {\n\t if (!computed && this.isPropertyKey(key, '__proto__')) {\n\t if (hasProto.value) {\n\t this.tolerateError(messages_1.Messages.DuplicateProtoProperty);\n\t }\n\t hasProto.value = true;\n\t }\n\t this.nextToken();\n\t value = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t else if (this.match('(')) {\n\t value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction();\n\t method = true;\n\t }\n\t else if (token.type === 3 /* Identifier */) {\n\t var id = this.finalize(node, new Node.Identifier(token.value));\n\t if (this.match('=')) {\n\t this.context.firstCoverInitializedNameError = this.lookahead;\n\t this.nextToken();\n\t shorthand = true;\n\t var init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t value = this.finalize(node, new Node.AssignmentPattern(id, init));\n\t }\n\t else {\n\t shorthand = true;\n\t value = id;\n\t }\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.nextToken());\n\t }\n\t }\n\t return this.finalize(node, new Node.Property(kind, key, computed, value, method, shorthand));\n\t };\n\t Parser.prototype.parseObjectInitializer = function () {\n\t var node = this.createNode();\n\t this.expect('{');\n\t var properties = [];\n\t var hasProto = { value: false };\n\t while (!this.match('}')) {\n\t properties.push(this.parseObjectProperty(hasProto));\n\t if (!this.match('}')) {\n\t this.expectCommaSeparator();\n\t }\n\t }\n\t this.expect('}');\n\t return this.finalize(node, new Node.ObjectExpression(properties));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-template-literals\n\t Parser.prototype.parseTemplateHead = function () {\n\t assert_1.assert(this.lookahead.head, 'Template literal must start with a template head');\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t var raw = token.value;\n\t var cooked = token.cooked;\n\t return this.finalize(node, new Node.TemplateElement({ raw: raw, cooked: cooked }, token.tail));\n\t };\n\t Parser.prototype.parseTemplateElement = function () {\n\t if (this.lookahead.type !== 10 /* Template */) {\n\t this.throwUnexpectedToken();\n\t }\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t var raw = token.value;\n\t var cooked = token.cooked;\n\t return this.finalize(node, new Node.TemplateElement({ raw: raw, cooked: cooked }, token.tail));\n\t };\n\t Parser.prototype.parseTemplateLiteral = function () {\n\t var node = this.createNode();\n\t var expressions = [];\n\t var quasis = [];\n\t var quasi = this.parseTemplateHead();\n\t quasis.push(quasi);\n\t while (!quasi.tail) {\n\t expressions.push(this.parseExpression());\n\t quasi = this.parseTemplateElement();\n\t quasis.push(quasi);\n\t }\n\t return this.finalize(node, new Node.TemplateLiteral(quasis, expressions));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-grouping-operator\n\t Parser.prototype.reinterpretExpressionAsPattern = function (expr) {\n\t switch (expr.type) {\n\t case syntax_1.Syntax.Identifier:\n\t case syntax_1.Syntax.MemberExpression:\n\t case syntax_1.Syntax.RestElement:\n\t case syntax_1.Syntax.AssignmentPattern:\n\t break;\n\t case syntax_1.Syntax.SpreadElement:\n\t expr.type = syntax_1.Syntax.RestElement;\n\t this.reinterpretExpressionAsPattern(expr.argument);\n\t break;\n\t case syntax_1.Syntax.ArrayExpression:\n\t expr.type = syntax_1.Syntax.ArrayPattern;\n\t for (var i = 0; i < expr.elements.length; i++) {\n\t if (expr.elements[i] !== null) {\n\t this.reinterpretExpressionAsPattern(expr.elements[i]);\n\t }\n\t }\n\t break;\n\t case syntax_1.Syntax.ObjectExpression:\n\t expr.type = syntax_1.Syntax.ObjectPattern;\n\t for (var i = 0; i < expr.properties.length; i++) {\n\t this.reinterpretExpressionAsPattern(expr.properties[i].value);\n\t }\n\t break;\n\t case syntax_1.Syntax.AssignmentExpression:\n\t expr.type = syntax_1.Syntax.AssignmentPattern;\n\t delete expr.operator;\n\t this.reinterpretExpressionAsPattern(expr.left);\n\t break;\n\t default:\n\t // Allow other node type for tolerant parsing.\n\t break;\n\t }\n\t };\n\t Parser.prototype.parseGroupExpression = function () {\n\t var expr;\n\t this.expect('(');\n\t if (this.match(')')) {\n\t this.nextToken();\n\t if (!this.match('=>')) {\n\t this.expect('=>');\n\t }\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [],\n\t async: false\n\t };\n\t }\n\t else {\n\t var startToken = this.lookahead;\n\t var params = [];\n\t if (this.match('...')) {\n\t expr = this.parseRestElement(params);\n\t this.expect(')');\n\t if (!this.match('=>')) {\n\t this.expect('=>');\n\t }\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [expr],\n\t async: false\n\t };\n\t }\n\t else {\n\t var arrow = false;\n\t this.context.isBindingElement = true;\n\t expr = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t if (this.match(',')) {\n\t var expressions = [];\n\t this.context.isAssignmentTarget = false;\n\t expressions.push(expr);\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t if (!this.match(',')) {\n\t break;\n\t }\n\t this.nextToken();\n\t if (this.match(')')) {\n\t this.nextToken();\n\t for (var i = 0; i < expressions.length; i++) {\n\t this.reinterpretExpressionAsPattern(expressions[i]);\n\t }\n\t arrow = true;\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: expressions,\n\t async: false\n\t };\n\t }\n\t else if (this.match('...')) {\n\t if (!this.context.isBindingElement) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t expressions.push(this.parseRestElement(params));\n\t this.expect(')');\n\t if (!this.match('=>')) {\n\t this.expect('=>');\n\t }\n\t this.context.isBindingElement = false;\n\t for (var i = 0; i < expressions.length; i++) {\n\t this.reinterpretExpressionAsPattern(expressions[i]);\n\t }\n\t arrow = true;\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: expressions,\n\t async: false\n\t };\n\t }\n\t else {\n\t expressions.push(this.inheritCoverGrammar(this.parseAssignmentExpression));\n\t }\n\t if (arrow) {\n\t break;\n\t }\n\t }\n\t if (!arrow) {\n\t expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions));\n\t }\n\t }\n\t if (!arrow) {\n\t this.expect(')');\n\t if (this.match('=>')) {\n\t if (expr.type === syntax_1.Syntax.Identifier && expr.name === 'yield') {\n\t arrow = true;\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [expr],\n\t async: false\n\t };\n\t }\n\t if (!arrow) {\n\t if (!this.context.isBindingElement) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t if (expr.type === syntax_1.Syntax.SequenceExpression) {\n\t for (var i = 0; i < expr.expressions.length; i++) {\n\t this.reinterpretExpressionAsPattern(expr.expressions[i]);\n\t }\n\t }\n\t else {\n\t this.reinterpretExpressionAsPattern(expr);\n\t }\n\t var parameters = (expr.type === syntax_1.Syntax.SequenceExpression ? expr.expressions : [expr]);\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: parameters,\n\t async: false\n\t };\n\t }\n\t }\n\t this.context.isBindingElement = false;\n\t }\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-left-hand-side-expressions\n\t Parser.prototype.parseArguments = function () {\n\t this.expect('(');\n\t var args = [];\n\t if (!this.match(')')) {\n\t while (true) {\n\t var expr = this.match('...') ? this.parseSpreadElement() :\n\t this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t args.push(expr);\n\t if (this.match(')')) {\n\t break;\n\t }\n\t this.expectCommaSeparator();\n\t if (this.match(')')) {\n\t break;\n\t }\n\t }\n\t }\n\t this.expect(')');\n\t return args;\n\t };\n\t Parser.prototype.isIdentifierName = function (token) {\n\t return token.type === 3 /* Identifier */ ||\n\t token.type === 4 /* Keyword */ ||\n\t token.type === 1 /* BooleanLiteral */ ||\n\t token.type === 5 /* NullLiteral */;\n\t };\n\t Parser.prototype.parseIdentifierName = function () {\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t if (!this.isIdentifierName(token)) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t return this.finalize(node, new Node.Identifier(token.value));\n\t };\n\t Parser.prototype.parseNewExpression = function () {\n\t var node = this.createNode();\n\t var id = this.parseIdentifierName();\n\t assert_1.assert(id.name === 'new', 'New expression must start with `new`');\n\t var expr;\n\t if (this.match('.')) {\n\t this.nextToken();\n\t if (this.lookahead.type === 3 /* Identifier */ && this.context.inFunctionBody && this.lookahead.value === 'target') {\n\t var property = this.parseIdentifierName();\n\t expr = new Node.MetaProperty(id, property);\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t else {\n\t var callee = this.isolateCoverGrammar(this.parseLeftHandSideExpression);\n\t var args = this.match('(') ? this.parseArguments() : [];\n\t expr = new Node.NewExpression(callee, args);\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t return this.finalize(node, expr);\n\t };\n\t Parser.prototype.parseAsyncArgument = function () {\n\t var arg = this.parseAssignmentExpression();\n\t this.context.firstCoverInitializedNameError = null;\n\t return arg;\n\t };\n\t Parser.prototype.parseAsyncArguments = function () {\n\t this.expect('(');\n\t var args = [];\n\t if (!this.match(')')) {\n\t while (true) {\n\t var expr = this.match('...') ? this.parseSpreadElement() :\n\t this.isolateCoverGrammar(this.parseAsyncArgument);\n\t args.push(expr);\n\t if (this.match(')')) {\n\t break;\n\t }\n\t this.expectCommaSeparator();\n\t if (this.match(')')) {\n\t break;\n\t }\n\t }\n\t }\n\t this.expect(')');\n\t return args;\n\t };\n\t Parser.prototype.parseLeftHandSideExpressionAllowCall = function () {\n\t var startToken = this.lookahead;\n\t var maybeAsync = this.matchContextualKeyword('async');\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = true;\n\t var expr;\n\t if (this.matchKeyword('super') && this.context.inFunctionBody) {\n\t expr = this.createNode();\n\t this.nextToken();\n\t expr = this.finalize(expr, new Node.Super());\n\t if (!this.match('(') && !this.match('.') && !this.match('[')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t else {\n\t expr = this.inheritCoverGrammar(this.matchKeyword('new') ? this.parseNewExpression : this.parsePrimaryExpression);\n\t }\n\t while (true) {\n\t if (this.match('.')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('.');\n\t var property = this.parseIdentifierName();\n\t expr = this.finalize(this.startNode(startToken), new Node.StaticMemberExpression(expr, property));\n\t }\n\t else if (this.match('(')) {\n\t var asyncArrow = maybeAsync && (startToken.lineNumber === this.lookahead.lineNumber);\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = false;\n\t var args = asyncArrow ? this.parseAsyncArguments() : this.parseArguments();\n\t expr = this.finalize(this.startNode(startToken), new Node.CallExpression(expr, args));\n\t if (asyncArrow && this.match('=>')) {\n\t for (var i = 0; i < args.length; ++i) {\n\t this.reinterpretExpressionAsPattern(args[i]);\n\t }\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: args,\n\t async: true\n\t };\n\t }\n\t }\n\t else if (this.match('[')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('[');\n\t var property = this.isolateCoverGrammar(this.parseExpression);\n\t this.expect(']');\n\t expr = this.finalize(this.startNode(startToken), new Node.ComputedMemberExpression(expr, property));\n\t }\n\t else if (this.lookahead.type === 10 /* Template */ && this.lookahead.head) {\n\t var quasi = this.parseTemplateLiteral();\n\t expr = this.finalize(this.startNode(startToken), new Node.TaggedTemplateExpression(expr, quasi));\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t this.context.allowIn = previousAllowIn;\n\t return expr;\n\t };\n\t Parser.prototype.parseSuper = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('super');\n\t if (!this.match('[') && !this.match('.')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t return this.finalize(node, new Node.Super());\n\t };\n\t Parser.prototype.parseLeftHandSideExpression = function () {\n\t assert_1.assert(this.context.allowIn, 'callee of new expression always allow in keyword.');\n\t var node = this.startNode(this.lookahead);\n\t var expr = (this.matchKeyword('super') && this.context.inFunctionBody) ? this.parseSuper() :\n\t this.inheritCoverGrammar(this.matchKeyword('new') ? this.parseNewExpression : this.parsePrimaryExpression);\n\t while (true) {\n\t if (this.match('[')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('[');\n\t var property = this.isolateCoverGrammar(this.parseExpression);\n\t this.expect(']');\n\t expr = this.finalize(node, new Node.ComputedMemberExpression(expr, property));\n\t }\n\t else if (this.match('.')) {\n\t this.context.isBindingElement = false;\n\t this.context.isAssignmentTarget = true;\n\t this.expect('.');\n\t var property = this.parseIdentifierName();\n\t expr = this.finalize(node, new Node.StaticMemberExpression(expr, property));\n\t }\n\t else if (this.lookahead.type === 10 /* Template */ && this.lookahead.head) {\n\t var quasi = this.parseTemplateLiteral();\n\t expr = this.finalize(node, new Node.TaggedTemplateExpression(expr, quasi));\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-update-expressions\n\t Parser.prototype.parseUpdateExpression = function () {\n\t var expr;\n\t var startToken = this.lookahead;\n\t if (this.match('++') || this.match('--')) {\n\t var node = this.startNode(startToken);\n\t var token = this.nextToken();\n\t expr = this.inheritCoverGrammar(this.parseUnaryExpression);\n\t if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) {\n\t this.tolerateError(messages_1.Messages.StrictLHSPrefix);\n\t }\n\t if (!this.context.isAssignmentTarget) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);\n\t }\n\t var prefix = true;\n\t expr = this.finalize(node, new Node.UpdateExpression(token.value, expr, prefix));\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t else {\n\t expr = this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall);\n\t if (!this.hasLineTerminator && this.lookahead.type === 7 /* Punctuator */) {\n\t if (this.match('++') || this.match('--')) {\n\t if (this.context.strict && expr.type === syntax_1.Syntax.Identifier && this.scanner.isRestrictedWord(expr.name)) {\n\t this.tolerateError(messages_1.Messages.StrictLHSPostfix);\n\t }\n\t if (!this.context.isAssignmentTarget) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);\n\t }\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var operator = this.nextToken().value;\n\t var prefix = false;\n\t expr = this.finalize(this.startNode(startToken), new Node.UpdateExpression(operator, expr, prefix));\n\t }\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-unary-operators\n\t Parser.prototype.parseAwaitExpression = function () {\n\t var node = this.createNode();\n\t this.nextToken();\n\t var argument = this.parseUnaryExpression();\n\t return this.finalize(node, new Node.AwaitExpression(argument));\n\t };\n\t Parser.prototype.parseUnaryExpression = function () {\n\t var expr;\n\t if (this.match('+') || this.match('-') || this.match('~') || this.match('!') ||\n\t this.matchKeyword('delete') || this.matchKeyword('void') || this.matchKeyword('typeof')) {\n\t var node = this.startNode(this.lookahead);\n\t var token = this.nextToken();\n\t expr = this.inheritCoverGrammar(this.parseUnaryExpression);\n\t expr = this.finalize(node, new Node.UnaryExpression(token.value, expr));\n\t if (this.context.strict && expr.operator === 'delete' && expr.argument.type === syntax_1.Syntax.Identifier) {\n\t this.tolerateError(messages_1.Messages.StrictDelete);\n\t }\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t else if (this.context.await && this.matchContextualKeyword('await')) {\n\t expr = this.parseAwaitExpression();\n\t }\n\t else {\n\t expr = this.parseUpdateExpression();\n\t }\n\t return expr;\n\t };\n\t Parser.prototype.parseExponentiationExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.inheritCoverGrammar(this.parseUnaryExpression);\n\t if (expr.type !== syntax_1.Syntax.UnaryExpression && this.match('**')) {\n\t this.nextToken();\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var left = expr;\n\t var right = this.isolateCoverGrammar(this.parseExponentiationExpression);\n\t expr = this.finalize(this.startNode(startToken), new Node.BinaryExpression('**', left, right));\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-exp-operator\n\t // https://tc39.github.io/ecma262/#sec-multiplicative-operators\n\t // https://tc39.github.io/ecma262/#sec-additive-operators\n\t // https://tc39.github.io/ecma262/#sec-bitwise-shift-operators\n\t // https://tc39.github.io/ecma262/#sec-relational-operators\n\t // https://tc39.github.io/ecma262/#sec-equality-operators\n\t // https://tc39.github.io/ecma262/#sec-binary-bitwise-operators\n\t // https://tc39.github.io/ecma262/#sec-binary-logical-operators\n\t Parser.prototype.binaryPrecedence = function (token) {\n\t var op = token.value;\n\t var precedence;\n\t if (token.type === 7 /* Punctuator */) {\n\t precedence = this.operatorPrecedence[op] || 0;\n\t }\n\t else if (token.type === 4 /* Keyword */) {\n\t precedence = (op === 'instanceof' || (this.context.allowIn && op === 'in')) ? 7 : 0;\n\t }\n\t else {\n\t precedence = 0;\n\t }\n\t return precedence;\n\t };\n\t Parser.prototype.parseBinaryExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.inheritCoverGrammar(this.parseExponentiationExpression);\n\t var token = this.lookahead;\n\t var prec = this.binaryPrecedence(token);\n\t if (prec > 0) {\n\t this.nextToken();\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var markers = [startToken, this.lookahead];\n\t var left = expr;\n\t var right = this.isolateCoverGrammar(this.parseExponentiationExpression);\n\t var stack = [left, token.value, right];\n\t var precedences = [prec];\n\t while (true) {\n\t prec = this.binaryPrecedence(this.lookahead);\n\t if (prec <= 0) {\n\t break;\n\t }\n\t // Reduce: make a binary expression from the three topmost entries.\n\t while ((stack.length > 2) && (prec <= precedences[precedences.length - 1])) {\n\t right = stack.pop();\n\t var operator = stack.pop();\n\t precedences.pop();\n\t left = stack.pop();\n\t markers.pop();\n\t var node = this.startNode(markers[markers.length - 1]);\n\t stack.push(this.finalize(node, new Node.BinaryExpression(operator, left, right)));\n\t }\n\t // Shift.\n\t stack.push(this.nextToken().value);\n\t precedences.push(prec);\n\t markers.push(this.lookahead);\n\t stack.push(this.isolateCoverGrammar(this.parseExponentiationExpression));\n\t }\n\t // Final reduce to clean-up the stack.\n\t var i = stack.length - 1;\n\t expr = stack[i];\n\t var lastMarker = markers.pop();\n\t while (i > 1) {\n\t var marker = markers.pop();\n\t var lastLineStart = lastMarker && lastMarker.lineStart;\n\t var node = this.startNode(marker, lastLineStart);\n\t var operator = stack[i - 1];\n\t expr = this.finalize(node, new Node.BinaryExpression(operator, stack[i - 2], expr));\n\t i -= 2;\n\t lastMarker = marker;\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-conditional-operator\n\t Parser.prototype.parseConditionalExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.inheritCoverGrammar(this.parseBinaryExpression);\n\t if (this.match('?')) {\n\t this.nextToken();\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = true;\n\t var consequent = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t this.context.allowIn = previousAllowIn;\n\t this.expect(':');\n\t var alternate = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t expr = this.finalize(this.startNode(startToken), new Node.ConditionalExpression(expr, consequent, alternate));\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-assignment-operators\n\t Parser.prototype.checkPatternParam = function (options, param) {\n\t switch (param.type) {\n\t case syntax_1.Syntax.Identifier:\n\t this.validateParam(options, param, param.name);\n\t break;\n\t case syntax_1.Syntax.RestElement:\n\t this.checkPatternParam(options, param.argument);\n\t break;\n\t case syntax_1.Syntax.AssignmentPattern:\n\t this.checkPatternParam(options, param.left);\n\t break;\n\t case syntax_1.Syntax.ArrayPattern:\n\t for (var i = 0; i < param.elements.length; i++) {\n\t if (param.elements[i] !== null) {\n\t this.checkPatternParam(options, param.elements[i]);\n\t }\n\t }\n\t break;\n\t case syntax_1.Syntax.ObjectPattern:\n\t for (var i = 0; i < param.properties.length; i++) {\n\t this.checkPatternParam(options, param.properties[i].value);\n\t }\n\t break;\n\t default:\n\t break;\n\t }\n\t options.simple = options.simple && (param instanceof Node.Identifier);\n\t };\n\t Parser.prototype.reinterpretAsCoverFormalsList = function (expr) {\n\t var params = [expr];\n\t var options;\n\t var asyncArrow = false;\n\t switch (expr.type) {\n\t case syntax_1.Syntax.Identifier:\n\t break;\n\t case ArrowParameterPlaceHolder:\n\t params = expr.params;\n\t asyncArrow = expr.async;\n\t break;\n\t default:\n\t return null;\n\t }\n\t options = {\n\t simple: true,\n\t paramSet: {}\n\t };\n\t for (var i = 0; i < params.length; ++i) {\n\t var param = params[i];\n\t if (param.type === syntax_1.Syntax.AssignmentPattern) {\n\t if (param.right.type === syntax_1.Syntax.YieldExpression) {\n\t if (param.right.argument) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t param.right.type = syntax_1.Syntax.Identifier;\n\t param.right.name = 'yield';\n\t delete param.right.argument;\n\t delete param.right.delegate;\n\t }\n\t }\n\t else if (asyncArrow && param.type === syntax_1.Syntax.Identifier && param.name === 'await') {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t this.checkPatternParam(options, param);\n\t params[i] = param;\n\t }\n\t if (this.context.strict || !this.context.allowYield) {\n\t for (var i = 0; i < params.length; ++i) {\n\t var param = params[i];\n\t if (param.type === syntax_1.Syntax.YieldExpression) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t }\n\t if (options.message === messages_1.Messages.StrictParamDupe) {\n\t var token = this.context.strict ? options.stricted : options.firstRestricted;\n\t this.throwUnexpectedToken(token, options.message);\n\t }\n\t return {\n\t simple: options.simple,\n\t params: params,\n\t stricted: options.stricted,\n\t firstRestricted: options.firstRestricted,\n\t message: options.message\n\t };\n\t };\n\t Parser.prototype.parseAssignmentExpression = function () {\n\t var expr;\n\t if (!this.context.allowYield && this.matchKeyword('yield')) {\n\t expr = this.parseYieldExpression();\n\t }\n\t else {\n\t var startToken = this.lookahead;\n\t var token = startToken;\n\t expr = this.parseConditionalExpression();\n\t if (token.type === 3 /* Identifier */ && (token.lineNumber === this.lookahead.lineNumber) && token.value === 'async') {\n\t if (this.lookahead.type === 3 /* Identifier */ || this.matchKeyword('yield')) {\n\t var arg = this.parsePrimaryExpression();\n\t this.reinterpretExpressionAsPattern(arg);\n\t expr = {\n\t type: ArrowParameterPlaceHolder,\n\t params: [arg],\n\t async: true\n\t };\n\t }\n\t }\n\t if (expr.type === ArrowParameterPlaceHolder || this.match('=>')) {\n\t // https://tc39.github.io/ecma262/#sec-arrow-function-definitions\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t var isAsync = expr.async;\n\t var list = this.reinterpretAsCoverFormalsList(expr);\n\t if (list) {\n\t if (this.hasLineTerminator) {\n\t this.tolerateUnexpectedToken(this.lookahead);\n\t }\n\t this.context.firstCoverInitializedNameError = null;\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = list.simple;\n\t var previousAllowYield = this.context.allowYield;\n\t var previousAwait = this.context.await;\n\t this.context.allowYield = true;\n\t this.context.await = isAsync;\n\t var node = this.startNode(startToken);\n\t this.expect('=>');\n\t var body = void 0;\n\t if (this.match('{')) {\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = true;\n\t body = this.parseFunctionSourceElements();\n\t this.context.allowIn = previousAllowIn;\n\t }\n\t else {\n\t body = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t var expression = body.type !== syntax_1.Syntax.BlockStatement;\n\t if (this.context.strict && list.firstRestricted) {\n\t this.throwUnexpectedToken(list.firstRestricted, list.message);\n\t }\n\t if (this.context.strict && list.stricted) {\n\t this.tolerateUnexpectedToken(list.stricted, list.message);\n\t }\n\t expr = isAsync ? this.finalize(node, new Node.AsyncArrowFunctionExpression(list.params, body, expression)) :\n\t this.finalize(node, new Node.ArrowFunctionExpression(list.params, body, expression));\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t this.context.allowYield = previousAllowYield;\n\t this.context.await = previousAwait;\n\t }\n\t }\n\t else {\n\t if (this.matchAssign()) {\n\t if (!this.context.isAssignmentTarget) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInAssignment);\n\t }\n\t if (this.context.strict && expr.type === syntax_1.Syntax.Identifier) {\n\t var id = expr;\n\t if (this.scanner.isRestrictedWord(id.name)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictLHSAssignment);\n\t }\n\t if (this.scanner.isStrictModeReservedWord(id.name)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);\n\t }\n\t }\n\t if (!this.match('=')) {\n\t this.context.isAssignmentTarget = false;\n\t this.context.isBindingElement = false;\n\t }\n\t else {\n\t this.reinterpretExpressionAsPattern(expr);\n\t }\n\t token = this.nextToken();\n\t var operator = token.value;\n\t var right = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t expr = this.finalize(this.startNode(startToken), new Node.AssignmentExpression(operator, expr, right));\n\t this.context.firstCoverInitializedNameError = null;\n\t }\n\t }\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-comma-operator\n\t Parser.prototype.parseExpression = function () {\n\t var startToken = this.lookahead;\n\t var expr = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t if (this.match(',')) {\n\t var expressions = [];\n\t expressions.push(expr);\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t if (!this.match(',')) {\n\t break;\n\t }\n\t this.nextToken();\n\t expressions.push(this.isolateCoverGrammar(this.parseAssignmentExpression));\n\t }\n\t expr = this.finalize(this.startNode(startToken), new Node.SequenceExpression(expressions));\n\t }\n\t return expr;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-block\n\t Parser.prototype.parseStatementListItem = function () {\n\t var statement;\n\t this.context.isAssignmentTarget = true;\n\t this.context.isBindingElement = true;\n\t if (this.lookahead.type === 4 /* Keyword */) {\n\t switch (this.lookahead.value) {\n\t case 'export':\n\t if (!this.context.isModule) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalExportDeclaration);\n\t }\n\t statement = this.parseExportDeclaration();\n\t break;\n\t case 'import':\n\t if (!this.context.isModule) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.IllegalImportDeclaration);\n\t }\n\t statement = this.parseImportDeclaration();\n\t break;\n\t case 'const':\n\t statement = this.parseLexicalDeclaration({ inFor: false });\n\t break;\n\t case 'function':\n\t statement = this.parseFunctionDeclaration();\n\t break;\n\t case 'class':\n\t statement = this.parseClassDeclaration();\n\t break;\n\t case 'let':\n\t statement = this.isLexicalDeclaration() ? this.parseLexicalDeclaration({ inFor: false }) : this.parseStatement();\n\t break;\n\t default:\n\t statement = this.parseStatement();\n\t break;\n\t }\n\t }\n\t else {\n\t statement = this.parseStatement();\n\t }\n\t return statement;\n\t };\n\t Parser.prototype.parseBlock = function () {\n\t var node = this.createNode();\n\t this.expect('{');\n\t var block = [];\n\t while (true) {\n\t if (this.match('}')) {\n\t break;\n\t }\n\t block.push(this.parseStatementListItem());\n\t }\n\t this.expect('}');\n\t return this.finalize(node, new Node.BlockStatement(block));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-let-and-const-declarations\n\t Parser.prototype.parseLexicalBinding = function (kind, options) {\n\t var node = this.createNode();\n\t var params = [];\n\t var id = this.parsePattern(params, kind);\n\t if (this.context.strict && id.type === syntax_1.Syntax.Identifier) {\n\t if (this.scanner.isRestrictedWord(id.name)) {\n\t this.tolerateError(messages_1.Messages.StrictVarName);\n\t }\n\t }\n\t var init = null;\n\t if (kind === 'const') {\n\t if (!this.matchKeyword('in') && !this.matchContextualKeyword('of')) {\n\t if (this.match('=')) {\n\t this.nextToken();\n\t init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t else {\n\t this.throwError(messages_1.Messages.DeclarationMissingInitializer, 'const');\n\t }\n\t }\n\t }\n\t else if ((!options.inFor && id.type !== syntax_1.Syntax.Identifier) || this.match('=')) {\n\t this.expect('=');\n\t init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t return this.finalize(node, new Node.VariableDeclarator(id, init));\n\t };\n\t Parser.prototype.parseBindingList = function (kind, options) {\n\t var list = [this.parseLexicalBinding(kind, options)];\n\t while (this.match(',')) {\n\t this.nextToken();\n\t list.push(this.parseLexicalBinding(kind, options));\n\t }\n\t return list;\n\t };\n\t Parser.prototype.isLexicalDeclaration = function () {\n\t var state = this.scanner.saveState();\n\t this.scanner.scanComments();\n\t var next = this.scanner.lex();\n\t this.scanner.restoreState(state);\n\t return (next.type === 3 /* Identifier */) ||\n\t (next.type === 7 /* Punctuator */ && next.value === '[') ||\n\t (next.type === 7 /* Punctuator */ && next.value === '{') ||\n\t (next.type === 4 /* Keyword */ && next.value === 'let') ||\n\t (next.type === 4 /* Keyword */ && next.value === 'yield');\n\t };\n\t Parser.prototype.parseLexicalDeclaration = function (options) {\n\t var node = this.createNode();\n\t var kind = this.nextToken().value;\n\t assert_1.assert(kind === 'let' || kind === 'const', 'Lexical declaration must be either let or const');\n\t var declarations = this.parseBindingList(kind, options);\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.VariableDeclaration(declarations, kind));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-destructuring-binding-patterns\n\t Parser.prototype.parseBindingRestElement = function (params, kind) {\n\t var node = this.createNode();\n\t this.expect('...');\n\t var arg = this.parsePattern(params, kind);\n\t return this.finalize(node, new Node.RestElement(arg));\n\t };\n\t Parser.prototype.parseArrayPattern = function (params, kind) {\n\t var node = this.createNode();\n\t this.expect('[');\n\t var elements = [];\n\t while (!this.match(']')) {\n\t if (this.match(',')) {\n\t this.nextToken();\n\t elements.push(null);\n\t }\n\t else {\n\t if (this.match('...')) {\n\t elements.push(this.parseBindingRestElement(params, kind));\n\t break;\n\t }\n\t else {\n\t elements.push(this.parsePatternWithDefault(params, kind));\n\t }\n\t if (!this.match(']')) {\n\t this.expect(',');\n\t }\n\t }\n\t }\n\t this.expect(']');\n\t return this.finalize(node, new Node.ArrayPattern(elements));\n\t };\n\t Parser.prototype.parsePropertyPattern = function (params, kind) {\n\t var node = this.createNode();\n\t var computed = false;\n\t var shorthand = false;\n\t var method = false;\n\t var key;\n\t var value;\n\t if (this.lookahead.type === 3 /* Identifier */) {\n\t var keyToken = this.lookahead;\n\t key = this.parseVariableIdentifier();\n\t var init = this.finalize(node, new Node.Identifier(keyToken.value));\n\t if (this.match('=')) {\n\t params.push(keyToken);\n\t shorthand = true;\n\t this.nextToken();\n\t var expr = this.parseAssignmentExpression();\n\t value = this.finalize(this.startNode(keyToken), new Node.AssignmentPattern(init, expr));\n\t }\n\t else if (!this.match(':')) {\n\t params.push(keyToken);\n\t shorthand = true;\n\t value = init;\n\t }\n\t else {\n\t this.expect(':');\n\t value = this.parsePatternWithDefault(params, kind);\n\t }\n\t }\n\t else {\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t this.expect(':');\n\t value = this.parsePatternWithDefault(params, kind);\n\t }\n\t return this.finalize(node, new Node.Property('init', key, computed, value, method, shorthand));\n\t };\n\t Parser.prototype.parseObjectPattern = function (params, kind) {\n\t var node = this.createNode();\n\t var properties = [];\n\t this.expect('{');\n\t while (!this.match('}')) {\n\t properties.push(this.parsePropertyPattern(params, kind));\n\t if (!this.match('}')) {\n\t this.expect(',');\n\t }\n\t }\n\t this.expect('}');\n\t return this.finalize(node, new Node.ObjectPattern(properties));\n\t };\n\t Parser.prototype.parsePattern = function (params, kind) {\n\t var pattern;\n\t if (this.match('[')) {\n\t pattern = this.parseArrayPattern(params, kind);\n\t }\n\t else if (this.match('{')) {\n\t pattern = this.parseObjectPattern(params, kind);\n\t }\n\t else {\n\t if (this.matchKeyword('let') && (kind === 'const' || kind === 'let')) {\n\t this.tolerateUnexpectedToken(this.lookahead, messages_1.Messages.LetInLexicalBinding);\n\t }\n\t params.push(this.lookahead);\n\t pattern = this.parseVariableIdentifier(kind);\n\t }\n\t return pattern;\n\t };\n\t Parser.prototype.parsePatternWithDefault = function (params, kind) {\n\t var startToken = this.lookahead;\n\t var pattern = this.parsePattern(params, kind);\n\t if (this.match('=')) {\n\t this.nextToken();\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = true;\n\t var right = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t this.context.allowYield = previousAllowYield;\n\t pattern = this.finalize(this.startNode(startToken), new Node.AssignmentPattern(pattern, right));\n\t }\n\t return pattern;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-variable-statement\n\t Parser.prototype.parseVariableIdentifier = function (kind) {\n\t var node = this.createNode();\n\t var token = this.nextToken();\n\t if (token.type === 4 /* Keyword */ && token.value === 'yield') {\n\t if (this.context.strict) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);\n\t }\n\t else if (!this.context.allowYield) {\n\t this.throwUnexpectedToken(token);\n\t }\n\t }\n\t else if (token.type !== 3 /* Identifier */) {\n\t if (this.context.strict && token.type === 4 /* Keyword */ && this.scanner.isStrictModeReservedWord(token.value)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictReservedWord);\n\t }\n\t else {\n\t if (this.context.strict || token.value !== 'let' || kind !== 'var') {\n\t this.throwUnexpectedToken(token);\n\t }\n\t }\n\t }\n\t else if ((this.context.isModule || this.context.await) && token.type === 3 /* Identifier */ && token.value === 'await') {\n\t this.tolerateUnexpectedToken(token);\n\t }\n\t return this.finalize(node, new Node.Identifier(token.value));\n\t };\n\t Parser.prototype.parseVariableDeclaration = function (options) {\n\t var node = this.createNode();\n\t var params = [];\n\t var id = this.parsePattern(params, 'var');\n\t if (this.context.strict && id.type === syntax_1.Syntax.Identifier) {\n\t if (this.scanner.isRestrictedWord(id.name)) {\n\t this.tolerateError(messages_1.Messages.StrictVarName);\n\t }\n\t }\n\t var init = null;\n\t if (this.match('=')) {\n\t this.nextToken();\n\t init = this.isolateCoverGrammar(this.parseAssignmentExpression);\n\t }\n\t else if (id.type !== syntax_1.Syntax.Identifier && !options.inFor) {\n\t this.expect('=');\n\t }\n\t return this.finalize(node, new Node.VariableDeclarator(id, init));\n\t };\n\t Parser.prototype.parseVariableDeclarationList = function (options) {\n\t var opt = { inFor: options.inFor };\n\t var list = [];\n\t list.push(this.parseVariableDeclaration(opt));\n\t while (this.match(',')) {\n\t this.nextToken();\n\t list.push(this.parseVariableDeclaration(opt));\n\t }\n\t return list;\n\t };\n\t Parser.prototype.parseVariableStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('var');\n\t var declarations = this.parseVariableDeclarationList({ inFor: false });\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.VariableDeclaration(declarations, 'var'));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-empty-statement\n\t Parser.prototype.parseEmptyStatement = function () {\n\t var node = this.createNode();\n\t this.expect(';');\n\t return this.finalize(node, new Node.EmptyStatement());\n\t };\n\t // https://tc39.github.io/ecma262/#sec-expression-statement\n\t Parser.prototype.parseExpressionStatement = function () {\n\t var node = this.createNode();\n\t var expr = this.parseExpression();\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ExpressionStatement(expr));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-if-statement\n\t Parser.prototype.parseIfClause = function () {\n\t if (this.context.strict && this.matchKeyword('function')) {\n\t this.tolerateError(messages_1.Messages.StrictFunction);\n\t }\n\t return this.parseStatement();\n\t };\n\t Parser.prototype.parseIfStatement = function () {\n\t var node = this.createNode();\n\t var consequent;\n\t var alternate = null;\n\t this.expectKeyword('if');\n\t this.expect('(');\n\t var test = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t consequent = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t consequent = this.parseIfClause();\n\t if (this.matchKeyword('else')) {\n\t this.nextToken();\n\t alternate = this.parseIfClause();\n\t }\n\t }\n\t return this.finalize(node, new Node.IfStatement(test, consequent, alternate));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-do-while-statement\n\t Parser.prototype.parseDoWhileStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('do');\n\t var previousInIteration = this.context.inIteration;\n\t this.context.inIteration = true;\n\t var body = this.parseStatement();\n\t this.context.inIteration = previousInIteration;\n\t this.expectKeyword('while');\n\t this.expect('(');\n\t var test = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t }\n\t else {\n\t this.expect(')');\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t }\n\t return this.finalize(node, new Node.DoWhileStatement(body, test));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-while-statement\n\t Parser.prototype.parseWhileStatement = function () {\n\t var node = this.createNode();\n\t var body;\n\t this.expectKeyword('while');\n\t this.expect('(');\n\t var test = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t body = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t var previousInIteration = this.context.inIteration;\n\t this.context.inIteration = true;\n\t body = this.parseStatement();\n\t this.context.inIteration = previousInIteration;\n\t }\n\t return this.finalize(node, new Node.WhileStatement(test, body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-for-statement\n\t // https://tc39.github.io/ecma262/#sec-for-in-and-for-of-statements\n\t Parser.prototype.parseForStatement = function () {\n\t var init = null;\n\t var test = null;\n\t var update = null;\n\t var forIn = true;\n\t var left, right;\n\t var node = this.createNode();\n\t this.expectKeyword('for');\n\t this.expect('(');\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t else {\n\t if (this.matchKeyword('var')) {\n\t init = this.createNode();\n\t this.nextToken();\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = false;\n\t var declarations = this.parseVariableDeclarationList({ inFor: true });\n\t this.context.allowIn = previousAllowIn;\n\t if (declarations.length === 1 && this.matchKeyword('in')) {\n\t var decl = declarations[0];\n\t if (decl.init && (decl.id.type === syntax_1.Syntax.ArrayPattern || decl.id.type === syntax_1.Syntax.ObjectPattern || this.context.strict)) {\n\t this.tolerateError(messages_1.Messages.ForInOfLoopInitializer, 'for-in');\n\t }\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, 'var'));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword('of')) {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, 'var'));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t }\n\t else {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, 'var'));\n\t this.expect(';');\n\t }\n\t }\n\t else if (this.matchKeyword('const') || this.matchKeyword('let')) {\n\t init = this.createNode();\n\t var kind = this.nextToken().value;\n\t if (!this.context.strict && this.lookahead.value === 'in') {\n\t init = this.finalize(init, new Node.Identifier(kind));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else {\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = false;\n\t var declarations = this.parseBindingList(kind, { inFor: true });\n\t this.context.allowIn = previousAllowIn;\n\t if (declarations.length === 1 && declarations[0].init === null && this.matchKeyword('in')) {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else if (declarations.length === 1 && declarations[0].init === null && this.matchContextualKeyword('of')) {\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));\n\t this.nextToken();\n\t left = init;\n\t right = this.parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t }\n\t else {\n\t this.consumeSemicolon();\n\t init = this.finalize(init, new Node.VariableDeclaration(declarations, kind));\n\t }\n\t }\n\t }\n\t else {\n\t var initStartToken = this.lookahead;\n\t var previousAllowIn = this.context.allowIn;\n\t this.context.allowIn = false;\n\t init = this.inheritCoverGrammar(this.parseAssignmentExpression);\n\t this.context.allowIn = previousAllowIn;\n\t if (this.matchKeyword('in')) {\n\t if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInForIn);\n\t }\n\t this.nextToken();\n\t this.reinterpretExpressionAsPattern(init);\n\t left = init;\n\t right = this.parseExpression();\n\t init = null;\n\t }\n\t else if (this.matchContextualKeyword('of')) {\n\t if (!this.context.isAssignmentTarget || init.type === syntax_1.Syntax.AssignmentExpression) {\n\t this.tolerateError(messages_1.Messages.InvalidLHSInForLoop);\n\t }\n\t this.nextToken();\n\t this.reinterpretExpressionAsPattern(init);\n\t left = init;\n\t right = this.parseAssignmentExpression();\n\t init = null;\n\t forIn = false;\n\t }\n\t else {\n\t if (this.match(',')) {\n\t var initSeq = [init];\n\t while (this.match(',')) {\n\t this.nextToken();\n\t initSeq.push(this.isolateCoverGrammar(this.parseAssignmentExpression));\n\t }\n\t init = this.finalize(this.startNode(initStartToken), new Node.SequenceExpression(initSeq));\n\t }\n\t this.expect(';');\n\t }\n\t }\n\t }\n\t if (typeof left === 'undefined') {\n\t if (!this.match(';')) {\n\t test = this.parseExpression();\n\t }\n\t this.expect(';');\n\t if (!this.match(')')) {\n\t update = this.parseExpression();\n\t }\n\t }\n\t var body;\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t body = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t var previousInIteration = this.context.inIteration;\n\t this.context.inIteration = true;\n\t body = this.isolateCoverGrammar(this.parseStatement);\n\t this.context.inIteration = previousInIteration;\n\t }\n\t return (typeof left === 'undefined') ?\n\t this.finalize(node, new Node.ForStatement(init, test, update, body)) :\n\t forIn ? this.finalize(node, new Node.ForInStatement(left, right, body)) :\n\t this.finalize(node, new Node.ForOfStatement(left, right, body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-continue-statement\n\t Parser.prototype.parseContinueStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('continue');\n\t var label = null;\n\t if (this.lookahead.type === 3 /* Identifier */ && !this.hasLineTerminator) {\n\t var id = this.parseVariableIdentifier();\n\t label = id;\n\t var key = '$' + id.name;\n\t if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {\n\t this.throwError(messages_1.Messages.UnknownLabel, id.name);\n\t }\n\t }\n\t this.consumeSemicolon();\n\t if (label === null && !this.context.inIteration) {\n\t this.throwError(messages_1.Messages.IllegalContinue);\n\t }\n\t return this.finalize(node, new Node.ContinueStatement(label));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-break-statement\n\t Parser.prototype.parseBreakStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('break');\n\t var label = null;\n\t if (this.lookahead.type === 3 /* Identifier */ && !this.hasLineTerminator) {\n\t var id = this.parseVariableIdentifier();\n\t var key = '$' + id.name;\n\t if (!Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {\n\t this.throwError(messages_1.Messages.UnknownLabel, id.name);\n\t }\n\t label = id;\n\t }\n\t this.consumeSemicolon();\n\t if (label === null && !this.context.inIteration && !this.context.inSwitch) {\n\t this.throwError(messages_1.Messages.IllegalBreak);\n\t }\n\t return this.finalize(node, new Node.BreakStatement(label));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-return-statement\n\t Parser.prototype.parseReturnStatement = function () {\n\t if (!this.context.inFunctionBody) {\n\t this.tolerateError(messages_1.Messages.IllegalReturn);\n\t }\n\t var node = this.createNode();\n\t this.expectKeyword('return');\n\t var hasArgument = (!this.match(';') && !this.match('}') &&\n\t !this.hasLineTerminator && this.lookahead.type !== 2 /* EOF */) ||\n\t this.lookahead.type === 8 /* StringLiteral */ ||\n\t this.lookahead.type === 10 /* Template */;\n\t var argument = hasArgument ? this.parseExpression() : null;\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ReturnStatement(argument));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-with-statement\n\t Parser.prototype.parseWithStatement = function () {\n\t if (this.context.strict) {\n\t this.tolerateError(messages_1.Messages.StrictModeWith);\n\t }\n\t var node = this.createNode();\n\t var body;\n\t this.expectKeyword('with');\n\t this.expect('(');\n\t var object = this.parseExpression();\n\t if (!this.match(')') && this.config.tolerant) {\n\t this.tolerateUnexpectedToken(this.nextToken());\n\t body = this.finalize(this.createNode(), new Node.EmptyStatement());\n\t }\n\t else {\n\t this.expect(')');\n\t body = this.parseStatement();\n\t }\n\t return this.finalize(node, new Node.WithStatement(object, body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-switch-statement\n\t Parser.prototype.parseSwitchCase = function () {\n\t var node = this.createNode();\n\t var test;\n\t if (this.matchKeyword('default')) {\n\t this.nextToken();\n\t test = null;\n\t }\n\t else {\n\t this.expectKeyword('case');\n\t test = this.parseExpression();\n\t }\n\t this.expect(':');\n\t var consequent = [];\n\t while (true) {\n\t if (this.match('}') || this.matchKeyword('default') || this.matchKeyword('case')) {\n\t break;\n\t }\n\t consequent.push(this.parseStatementListItem());\n\t }\n\t return this.finalize(node, new Node.SwitchCase(test, consequent));\n\t };\n\t Parser.prototype.parseSwitchStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('switch');\n\t this.expect('(');\n\t var discriminant = this.parseExpression();\n\t this.expect(')');\n\t var previousInSwitch = this.context.inSwitch;\n\t this.context.inSwitch = true;\n\t var cases = [];\n\t var defaultFound = false;\n\t this.expect('{');\n\t while (true) {\n\t if (this.match('}')) {\n\t break;\n\t }\n\t var clause = this.parseSwitchCase();\n\t if (clause.test === null) {\n\t if (defaultFound) {\n\t this.throwError(messages_1.Messages.MultipleDefaultsInSwitch);\n\t }\n\t defaultFound = true;\n\t }\n\t cases.push(clause);\n\t }\n\t this.expect('}');\n\t this.context.inSwitch = previousInSwitch;\n\t return this.finalize(node, new Node.SwitchStatement(discriminant, cases));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-labelled-statements\n\t Parser.prototype.parseLabelledStatement = function () {\n\t var node = this.createNode();\n\t var expr = this.parseExpression();\n\t var statement;\n\t if ((expr.type === syntax_1.Syntax.Identifier) && this.match(':')) {\n\t this.nextToken();\n\t var id = expr;\n\t var key = '$' + id.name;\n\t if (Object.prototype.hasOwnProperty.call(this.context.labelSet, key)) {\n\t this.throwError(messages_1.Messages.Redeclaration, 'Label', id.name);\n\t }\n\t this.context.labelSet[key] = true;\n\t var body = void 0;\n\t if (this.matchKeyword('class')) {\n\t this.tolerateUnexpectedToken(this.lookahead);\n\t body = this.parseClassDeclaration();\n\t }\n\t else if (this.matchKeyword('function')) {\n\t var token = this.lookahead;\n\t var declaration = this.parseFunctionDeclaration();\n\t if (this.context.strict) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunction);\n\t }\n\t else if (declaration.generator) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.GeneratorInLegacyContext);\n\t }\n\t body = declaration;\n\t }\n\t else {\n\t body = this.parseStatement();\n\t }\n\t delete this.context.labelSet[key];\n\t statement = new Node.LabeledStatement(id, body);\n\t }\n\t else {\n\t this.consumeSemicolon();\n\t statement = new Node.ExpressionStatement(expr);\n\t }\n\t return this.finalize(node, statement);\n\t };\n\t // https://tc39.github.io/ecma262/#sec-throw-statement\n\t Parser.prototype.parseThrowStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('throw');\n\t if (this.hasLineTerminator) {\n\t this.throwError(messages_1.Messages.NewlineAfterThrow);\n\t }\n\t var argument = this.parseExpression();\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ThrowStatement(argument));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-try-statement\n\t Parser.prototype.parseCatchClause = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('catch');\n\t this.expect('(');\n\t if (this.match(')')) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t var params = [];\n\t var param = this.parsePattern(params);\n\t var paramMap = {};\n\t for (var i = 0; i < params.length; i++) {\n\t var key = '$' + params[i].value;\n\t if (Object.prototype.hasOwnProperty.call(paramMap, key)) {\n\t this.tolerateError(messages_1.Messages.DuplicateBinding, params[i].value);\n\t }\n\t paramMap[key] = true;\n\t }\n\t if (this.context.strict && param.type === syntax_1.Syntax.Identifier) {\n\t if (this.scanner.isRestrictedWord(param.name)) {\n\t this.tolerateError(messages_1.Messages.StrictCatchVariable);\n\t }\n\t }\n\t this.expect(')');\n\t var body = this.parseBlock();\n\t return this.finalize(node, new Node.CatchClause(param, body));\n\t };\n\t Parser.prototype.parseFinallyClause = function () {\n\t this.expectKeyword('finally');\n\t return this.parseBlock();\n\t };\n\t Parser.prototype.parseTryStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('try');\n\t var block = this.parseBlock();\n\t var handler = this.matchKeyword('catch') ? this.parseCatchClause() : null;\n\t var finalizer = this.matchKeyword('finally') ? this.parseFinallyClause() : null;\n\t if (!handler && !finalizer) {\n\t this.throwError(messages_1.Messages.NoCatchOrFinally);\n\t }\n\t return this.finalize(node, new Node.TryStatement(block, handler, finalizer));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-debugger-statement\n\t Parser.prototype.parseDebuggerStatement = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('debugger');\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.DebuggerStatement());\n\t };\n\t // https://tc39.github.io/ecma262/#sec-ecmascript-language-statements-and-declarations\n\t Parser.prototype.parseStatement = function () {\n\t var statement;\n\t switch (this.lookahead.type) {\n\t case 1 /* BooleanLiteral */:\n\t case 5 /* NullLiteral */:\n\t case 6 /* NumericLiteral */:\n\t case 8 /* StringLiteral */:\n\t case 10 /* Template */:\n\t case 9 /* RegularExpression */:\n\t statement = this.parseExpressionStatement();\n\t break;\n\t case 7 /* Punctuator */:\n\t var value = this.lookahead.value;\n\t if (value === '{') {\n\t statement = this.parseBlock();\n\t }\n\t else if (value === '(') {\n\t statement = this.parseExpressionStatement();\n\t }\n\t else if (value === ';') {\n\t statement = this.parseEmptyStatement();\n\t }\n\t else {\n\t statement = this.parseExpressionStatement();\n\t }\n\t break;\n\t case 3 /* Identifier */:\n\t statement = this.matchAsyncFunction() ? this.parseFunctionDeclaration() : this.parseLabelledStatement();\n\t break;\n\t case 4 /* Keyword */:\n\t switch (this.lookahead.value) {\n\t case 'break':\n\t statement = this.parseBreakStatement();\n\t break;\n\t case 'continue':\n\t statement = this.parseContinueStatement();\n\t break;\n\t case 'debugger':\n\t statement = this.parseDebuggerStatement();\n\t break;\n\t case 'do':\n\t statement = this.parseDoWhileStatement();\n\t break;\n\t case 'for':\n\t statement = this.parseForStatement();\n\t break;\n\t case 'function':\n\t statement = this.parseFunctionDeclaration();\n\t break;\n\t case 'if':\n\t statement = this.parseIfStatement();\n\t break;\n\t case 'return':\n\t statement = this.parseReturnStatement();\n\t break;\n\t case 'switch':\n\t statement = this.parseSwitchStatement();\n\t break;\n\t case 'throw':\n\t statement = this.parseThrowStatement();\n\t break;\n\t case 'try':\n\t statement = this.parseTryStatement();\n\t break;\n\t case 'var':\n\t statement = this.parseVariableStatement();\n\t break;\n\t case 'while':\n\t statement = this.parseWhileStatement();\n\t break;\n\t case 'with':\n\t statement = this.parseWithStatement();\n\t break;\n\t default:\n\t statement = this.parseExpressionStatement();\n\t break;\n\t }\n\t break;\n\t default:\n\t statement = this.throwUnexpectedToken(this.lookahead);\n\t }\n\t return statement;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-function-definitions\n\t Parser.prototype.parseFunctionSourceElements = function () {\n\t var node = this.createNode();\n\t this.expect('{');\n\t var body = this.parseDirectivePrologues();\n\t var previousLabelSet = this.context.labelSet;\n\t var previousInIteration = this.context.inIteration;\n\t var previousInSwitch = this.context.inSwitch;\n\t var previousInFunctionBody = this.context.inFunctionBody;\n\t this.context.labelSet = {};\n\t this.context.inIteration = false;\n\t this.context.inSwitch = false;\n\t this.context.inFunctionBody = true;\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t if (this.match('}')) {\n\t break;\n\t }\n\t body.push(this.parseStatementListItem());\n\t }\n\t this.expect('}');\n\t this.context.labelSet = previousLabelSet;\n\t this.context.inIteration = previousInIteration;\n\t this.context.inSwitch = previousInSwitch;\n\t this.context.inFunctionBody = previousInFunctionBody;\n\t return this.finalize(node, new Node.BlockStatement(body));\n\t };\n\t Parser.prototype.validateParam = function (options, param, name) {\n\t var key = '$' + name;\n\t if (this.context.strict) {\n\t if (this.scanner.isRestrictedWord(name)) {\n\t options.stricted = param;\n\t options.message = messages_1.Messages.StrictParamName;\n\t }\n\t if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {\n\t options.stricted = param;\n\t options.message = messages_1.Messages.StrictParamDupe;\n\t }\n\t }\n\t else if (!options.firstRestricted) {\n\t if (this.scanner.isRestrictedWord(name)) {\n\t options.firstRestricted = param;\n\t options.message = messages_1.Messages.StrictParamName;\n\t }\n\t else if (this.scanner.isStrictModeReservedWord(name)) {\n\t options.firstRestricted = param;\n\t options.message = messages_1.Messages.StrictReservedWord;\n\t }\n\t else if (Object.prototype.hasOwnProperty.call(options.paramSet, key)) {\n\t options.stricted = param;\n\t options.message = messages_1.Messages.StrictParamDupe;\n\t }\n\t }\n\t /* istanbul ignore next */\n\t if (typeof Object.defineProperty === 'function') {\n\t Object.defineProperty(options.paramSet, key, { value: true, enumerable: true, writable: true, configurable: true });\n\t }\n\t else {\n\t options.paramSet[key] = true;\n\t }\n\t };\n\t Parser.prototype.parseRestElement = function (params) {\n\t var node = this.createNode();\n\t this.expect('...');\n\t var arg = this.parsePattern(params);\n\t if (this.match('=')) {\n\t this.throwError(messages_1.Messages.DefaultRestParameter);\n\t }\n\t if (!this.match(')')) {\n\t this.throwError(messages_1.Messages.ParameterAfterRestParameter);\n\t }\n\t return this.finalize(node, new Node.RestElement(arg));\n\t };\n\t Parser.prototype.parseFormalParameter = function (options) {\n\t var params = [];\n\t var param = this.match('...') ? this.parseRestElement(params) : this.parsePatternWithDefault(params);\n\t for (var i = 0; i < params.length; i++) {\n\t this.validateParam(options, params[i], params[i].value);\n\t }\n\t options.simple = options.simple && (param instanceof Node.Identifier);\n\t options.params.push(param);\n\t };\n\t Parser.prototype.parseFormalParameters = function (firstRestricted) {\n\t var options;\n\t options = {\n\t simple: true,\n\t params: [],\n\t firstRestricted: firstRestricted\n\t };\n\t this.expect('(');\n\t if (!this.match(')')) {\n\t options.paramSet = {};\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t this.parseFormalParameter(options);\n\t if (this.match(')')) {\n\t break;\n\t }\n\t this.expect(',');\n\t if (this.match(')')) {\n\t break;\n\t }\n\t }\n\t }\n\t this.expect(')');\n\t return {\n\t simple: options.simple,\n\t params: options.params,\n\t stricted: options.stricted,\n\t firstRestricted: options.firstRestricted,\n\t message: options.message\n\t };\n\t };\n\t Parser.prototype.matchAsyncFunction = function () {\n\t var match = this.matchContextualKeyword('async');\n\t if (match) {\n\t var state = this.scanner.saveState();\n\t this.scanner.scanComments();\n\t var next = this.scanner.lex();\n\t this.scanner.restoreState(state);\n\t match = (state.lineNumber === next.lineNumber) && (next.type === 4 /* Keyword */) && (next.value === 'function');\n\t }\n\t return match;\n\t };\n\t Parser.prototype.parseFunctionDeclaration = function (identifierIsOptional) {\n\t var node = this.createNode();\n\t var isAsync = this.matchContextualKeyword('async');\n\t if (isAsync) {\n\t this.nextToken();\n\t }\n\t this.expectKeyword('function');\n\t var isGenerator = isAsync ? false : this.match('*');\n\t if (isGenerator) {\n\t this.nextToken();\n\t }\n\t var message;\n\t var id = null;\n\t var firstRestricted = null;\n\t if (!identifierIsOptional || !this.match('(')) {\n\t var token = this.lookahead;\n\t id = this.parseVariableIdentifier();\n\t if (this.context.strict) {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName);\n\t }\n\t }\n\t else {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictFunctionName;\n\t }\n\t else if (this.scanner.isStrictModeReservedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t var previousAllowAwait = this.context.await;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.await = isAsync;\n\t this.context.allowYield = !isGenerator;\n\t var formalParameters = this.parseFormalParameters(firstRestricted);\n\t var params = formalParameters.params;\n\t var stricted = formalParameters.stricted;\n\t firstRestricted = formalParameters.firstRestricted;\n\t if (formalParameters.message) {\n\t message = formalParameters.message;\n\t }\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = formalParameters.simple;\n\t var body = this.parseFunctionSourceElements();\n\t if (this.context.strict && firstRestricted) {\n\t this.throwUnexpectedToken(firstRestricted, message);\n\t }\n\t if (this.context.strict && stricted) {\n\t this.tolerateUnexpectedToken(stricted, message);\n\t }\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t this.context.await = previousAllowAwait;\n\t this.context.allowYield = previousAllowYield;\n\t return isAsync ? this.finalize(node, new Node.AsyncFunctionDeclaration(id, params, body)) :\n\t this.finalize(node, new Node.FunctionDeclaration(id, params, body, isGenerator));\n\t };\n\t Parser.prototype.parseFunctionExpression = function () {\n\t var node = this.createNode();\n\t var isAsync = this.matchContextualKeyword('async');\n\t if (isAsync) {\n\t this.nextToken();\n\t }\n\t this.expectKeyword('function');\n\t var isGenerator = isAsync ? false : this.match('*');\n\t if (isGenerator) {\n\t this.nextToken();\n\t }\n\t var message;\n\t var id = null;\n\t var firstRestricted;\n\t var previousAllowAwait = this.context.await;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.await = isAsync;\n\t this.context.allowYield = !isGenerator;\n\t if (!this.match('(')) {\n\t var token = this.lookahead;\n\t id = (!this.context.strict && !isGenerator && this.matchKeyword('yield')) ? this.parseIdentifierName() : this.parseVariableIdentifier();\n\t if (this.context.strict) {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.StrictFunctionName);\n\t }\n\t }\n\t else {\n\t if (this.scanner.isRestrictedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictFunctionName;\n\t }\n\t else if (this.scanner.isStrictModeReservedWord(token.value)) {\n\t firstRestricted = token;\n\t message = messages_1.Messages.StrictReservedWord;\n\t }\n\t }\n\t }\n\t var formalParameters = this.parseFormalParameters(firstRestricted);\n\t var params = formalParameters.params;\n\t var stricted = formalParameters.stricted;\n\t firstRestricted = formalParameters.firstRestricted;\n\t if (formalParameters.message) {\n\t message = formalParameters.message;\n\t }\n\t var previousStrict = this.context.strict;\n\t var previousAllowStrictDirective = this.context.allowStrictDirective;\n\t this.context.allowStrictDirective = formalParameters.simple;\n\t var body = this.parseFunctionSourceElements();\n\t if (this.context.strict && firstRestricted) {\n\t this.throwUnexpectedToken(firstRestricted, message);\n\t }\n\t if (this.context.strict && stricted) {\n\t this.tolerateUnexpectedToken(stricted, message);\n\t }\n\t this.context.strict = previousStrict;\n\t this.context.allowStrictDirective = previousAllowStrictDirective;\n\t this.context.await = previousAllowAwait;\n\t this.context.allowYield = previousAllowYield;\n\t return isAsync ? this.finalize(node, new Node.AsyncFunctionExpression(id, params, body)) :\n\t this.finalize(node, new Node.FunctionExpression(id, params, body, isGenerator));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-directive-prologues-and-the-use-strict-directive\n\t Parser.prototype.parseDirective = function () {\n\t var token = this.lookahead;\n\t var node = this.createNode();\n\t var expr = this.parseExpression();\n\t var directive = (expr.type === syntax_1.Syntax.Literal) ? this.getTokenRaw(token).slice(1, -1) : null;\n\t this.consumeSemicolon();\n\t return this.finalize(node, directive ? new Node.Directive(expr, directive) : new Node.ExpressionStatement(expr));\n\t };\n\t Parser.prototype.parseDirectivePrologues = function () {\n\t var firstRestricted = null;\n\t var body = [];\n\t while (true) {\n\t var token = this.lookahead;\n\t if (token.type !== 8 /* StringLiteral */) {\n\t break;\n\t }\n\t var statement = this.parseDirective();\n\t body.push(statement);\n\t var directive = statement.directive;\n\t if (typeof directive !== 'string') {\n\t break;\n\t }\n\t if (directive === 'use strict') {\n\t this.context.strict = true;\n\t if (firstRestricted) {\n\t this.tolerateUnexpectedToken(firstRestricted, messages_1.Messages.StrictOctalLiteral);\n\t }\n\t if (!this.context.allowStrictDirective) {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.IllegalLanguageModeDirective);\n\t }\n\t }\n\t else {\n\t if (!firstRestricted && token.octal) {\n\t firstRestricted = token;\n\t }\n\t }\n\t }\n\t return body;\n\t };\n\t // https://tc39.github.io/ecma262/#sec-method-definitions\n\t Parser.prototype.qualifiedPropertyName = function (token) {\n\t switch (token.type) {\n\t case 3 /* Identifier */:\n\t case 8 /* StringLiteral */:\n\t case 1 /* BooleanLiteral */:\n\t case 5 /* NullLiteral */:\n\t case 6 /* NumericLiteral */:\n\t case 4 /* Keyword */:\n\t return true;\n\t case 7 /* Punctuator */:\n\t return token.value === '[';\n\t default:\n\t break;\n\t }\n\t return false;\n\t };\n\t Parser.prototype.parseGetterMethod = function () {\n\t var node = this.createNode();\n\t var isGenerator = false;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = !isGenerator;\n\t var formalParameters = this.parseFormalParameters();\n\t if (formalParameters.params.length > 0) {\n\t this.tolerateError(messages_1.Messages.BadGetterArity);\n\t }\n\t var method = this.parsePropertyMethod(formalParameters);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator));\n\t };\n\t Parser.prototype.parseSetterMethod = function () {\n\t var node = this.createNode();\n\t var isGenerator = false;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = !isGenerator;\n\t var formalParameters = this.parseFormalParameters();\n\t if (formalParameters.params.length !== 1) {\n\t this.tolerateError(messages_1.Messages.BadSetterArity);\n\t }\n\t else if (formalParameters.params[0] instanceof Node.RestElement) {\n\t this.tolerateError(messages_1.Messages.BadSetterRestParameter);\n\t }\n\t var method = this.parsePropertyMethod(formalParameters);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, formalParameters.params, method, isGenerator));\n\t };\n\t Parser.prototype.parseGeneratorMethod = function () {\n\t var node = this.createNode();\n\t var isGenerator = true;\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = true;\n\t var params = this.parseFormalParameters();\n\t this.context.allowYield = false;\n\t var method = this.parsePropertyMethod(params);\n\t this.context.allowYield = previousAllowYield;\n\t return this.finalize(node, new Node.FunctionExpression(null, params.params, method, isGenerator));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-generator-function-definitions\n\t Parser.prototype.isStartOfExpression = function () {\n\t var start = true;\n\t var value = this.lookahead.value;\n\t switch (this.lookahead.type) {\n\t case 7 /* Punctuator */:\n\t start = (value === '[') || (value === '(') || (value === '{') ||\n\t (value === '+') || (value === '-') ||\n\t (value === '!') || (value === '~') ||\n\t (value === '++') || (value === '--') ||\n\t (value === '/') || (value === '/='); // regular expression literal\n\t break;\n\t case 4 /* Keyword */:\n\t start = (value === 'class') || (value === 'delete') ||\n\t (value === 'function') || (value === 'let') || (value === 'new') ||\n\t (value === 'super') || (value === 'this') || (value === 'typeof') ||\n\t (value === 'void') || (value === 'yield');\n\t break;\n\t default:\n\t break;\n\t }\n\t return start;\n\t };\n\t Parser.prototype.parseYieldExpression = function () {\n\t var node = this.createNode();\n\t this.expectKeyword('yield');\n\t var argument = null;\n\t var delegate = false;\n\t if (!this.hasLineTerminator) {\n\t var previousAllowYield = this.context.allowYield;\n\t this.context.allowYield = false;\n\t delegate = this.match('*');\n\t if (delegate) {\n\t this.nextToken();\n\t argument = this.parseAssignmentExpression();\n\t }\n\t else if (this.isStartOfExpression()) {\n\t argument = this.parseAssignmentExpression();\n\t }\n\t this.context.allowYield = previousAllowYield;\n\t }\n\t return this.finalize(node, new Node.YieldExpression(argument, delegate));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-class-definitions\n\t Parser.prototype.parseClassElement = function (hasConstructor) {\n\t var token = this.lookahead;\n\t var node = this.createNode();\n\t var kind = '';\n\t var key = null;\n\t var value = null;\n\t var computed = false;\n\t var method = false;\n\t var isStatic = false;\n\t var isAsync = false;\n\t if (this.match('*')) {\n\t this.nextToken();\n\t }\n\t else {\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t var id = key;\n\t if (id.name === 'static' && (this.qualifiedPropertyName(this.lookahead) || this.match('*'))) {\n\t token = this.lookahead;\n\t isStatic = true;\n\t computed = this.match('[');\n\t if (this.match('*')) {\n\t this.nextToken();\n\t }\n\t else {\n\t key = this.parseObjectPropertyKey();\n\t }\n\t }\n\t if ((token.type === 3 /* Identifier */) && !this.hasLineTerminator && (token.value === 'async')) {\n\t var punctuator = this.lookahead.value;\n\t if (punctuator !== ':' && punctuator !== '(' && punctuator !== '*') {\n\t isAsync = true;\n\t token = this.lookahead;\n\t key = this.parseObjectPropertyKey();\n\t if (token.type === 3 /* Identifier */ && token.value === 'constructor') {\n\t this.tolerateUnexpectedToken(token, messages_1.Messages.ConstructorIsAsync);\n\t }\n\t }\n\t }\n\t }\n\t var lookaheadPropertyKey = this.qualifiedPropertyName(this.lookahead);\n\t if (token.type === 3 /* Identifier */) {\n\t if (token.value === 'get' && lookaheadPropertyKey) {\n\t kind = 'get';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t this.context.allowYield = false;\n\t value = this.parseGetterMethod();\n\t }\n\t else if (token.value === 'set' && lookaheadPropertyKey) {\n\t kind = 'set';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseSetterMethod();\n\t }\n\t }\n\t else if (token.type === 7 /* Punctuator */ && token.value === '*' && lookaheadPropertyKey) {\n\t kind = 'init';\n\t computed = this.match('[');\n\t key = this.parseObjectPropertyKey();\n\t value = this.parseGeneratorMethod();\n\t method = true;\n\t }\n\t if (!kind && key && this.match('(')) {\n\t kind = 'init';\n\t value = isAsync ? this.parsePropertyMethodAsyncFunction() : this.parsePropertyMethodFunction();\n\t method = true;\n\t }\n\t if (!kind) {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t if (kind === 'init') {\n\t kind = 'method';\n\t }\n\t if (!computed) {\n\t if (isStatic && this.isPropertyKey(key, 'prototype')) {\n\t this.throwUnexpectedToken(token, messages_1.Messages.StaticPrototype);\n\t }\n\t if (!isStatic && this.isPropertyKey(key, 'constructor')) {\n\t if (kind !== 'method' || !method || (value && value.generator)) {\n\t this.throwUnexpectedToken(token, messages_1.Messages.ConstructorSpecialMethod);\n\t }\n\t if (hasConstructor.value) {\n\t this.throwUnexpectedToken(token, messages_1.Messages.DuplicateConstructor);\n\t }\n\t else {\n\t hasConstructor.value = true;\n\t }\n\t kind = 'constructor';\n\t }\n\t }\n\t return this.finalize(node, new Node.MethodDefinition(key, computed, value, kind, isStatic));\n\t };\n\t Parser.prototype.parseClassElementList = function () {\n\t var body = [];\n\t var hasConstructor = { value: false };\n\t this.expect('{');\n\t while (!this.match('}')) {\n\t if (this.match(';')) {\n\t this.nextToken();\n\t }\n\t else {\n\t body.push(this.parseClassElement(hasConstructor));\n\t }\n\t }\n\t this.expect('}');\n\t return body;\n\t };\n\t Parser.prototype.parseClassBody = function () {\n\t var node = this.createNode();\n\t var elementList = this.parseClassElementList();\n\t return this.finalize(node, new Node.ClassBody(elementList));\n\t };\n\t Parser.prototype.parseClassDeclaration = function (identifierIsOptional) {\n\t var node = this.createNode();\n\t var previousStrict = this.context.strict;\n\t this.context.strict = true;\n\t this.expectKeyword('class');\n\t var id = (identifierIsOptional && (this.lookahead.type !== 3 /* Identifier */)) ? null : this.parseVariableIdentifier();\n\t var superClass = null;\n\t if (this.matchKeyword('extends')) {\n\t this.nextToken();\n\t superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall);\n\t }\n\t var classBody = this.parseClassBody();\n\t this.context.strict = previousStrict;\n\t return this.finalize(node, new Node.ClassDeclaration(id, superClass, classBody));\n\t };\n\t Parser.prototype.parseClassExpression = function () {\n\t var node = this.createNode();\n\t var previousStrict = this.context.strict;\n\t this.context.strict = true;\n\t this.expectKeyword('class');\n\t var id = (this.lookahead.type === 3 /* Identifier */) ? this.parseVariableIdentifier() : null;\n\t var superClass = null;\n\t if (this.matchKeyword('extends')) {\n\t this.nextToken();\n\t superClass = this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall);\n\t }\n\t var classBody = this.parseClassBody();\n\t this.context.strict = previousStrict;\n\t return this.finalize(node, new Node.ClassExpression(id, superClass, classBody));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-scripts\n\t // https://tc39.github.io/ecma262/#sec-modules\n\t Parser.prototype.parseModule = function () {\n\t this.context.strict = true;\n\t this.context.isModule = true;\n\t this.scanner.isModule = true;\n\t var node = this.createNode();\n\t var body = this.parseDirectivePrologues();\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t body.push(this.parseStatementListItem());\n\t }\n\t return this.finalize(node, new Node.Module(body));\n\t };\n\t Parser.prototype.parseScript = function () {\n\t var node = this.createNode();\n\t var body = this.parseDirectivePrologues();\n\t while (this.lookahead.type !== 2 /* EOF */) {\n\t body.push(this.parseStatementListItem());\n\t }\n\t return this.finalize(node, new Node.Script(body));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-imports\n\t Parser.prototype.parseModuleSpecifier = function () {\n\t var node = this.createNode();\n\t if (this.lookahead.type !== 8 /* StringLiteral */) {\n\t this.throwError(messages_1.Messages.InvalidModuleSpecifier);\n\t }\n\t var token = this.nextToken();\n\t var raw = this.getTokenRaw(token);\n\t return this.finalize(node, new Node.Literal(token.value, raw));\n\t };\n\t // import {} ...;\n\t Parser.prototype.parseImportSpecifier = function () {\n\t var node = this.createNode();\n\t var imported;\n\t var local;\n\t if (this.lookahead.type === 3 /* Identifier */) {\n\t imported = this.parseVariableIdentifier();\n\t local = imported;\n\t if (this.matchContextualKeyword('as')) {\n\t this.nextToken();\n\t local = this.parseVariableIdentifier();\n\t }\n\t }\n\t else {\n\t imported = this.parseIdentifierName();\n\t local = imported;\n\t if (this.matchContextualKeyword('as')) {\n\t this.nextToken();\n\t local = this.parseVariableIdentifier();\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.nextToken());\n\t }\n\t }\n\t return this.finalize(node, new Node.ImportSpecifier(local, imported));\n\t };\n\t // {foo, bar as bas}\n\t Parser.prototype.parseNamedImports = function () {\n\t this.expect('{');\n\t var specifiers = [];\n\t while (!this.match('}')) {\n\t specifiers.push(this.parseImportSpecifier());\n\t if (!this.match('}')) {\n\t this.expect(',');\n\t }\n\t }\n\t this.expect('}');\n\t return specifiers;\n\t };\n\t // import ...;\n\t Parser.prototype.parseImportDefaultSpecifier = function () {\n\t var node = this.createNode();\n\t var local = this.parseIdentifierName();\n\t return this.finalize(node, new Node.ImportDefaultSpecifier(local));\n\t };\n\t // import <* as foo> ...;\n\t Parser.prototype.parseImportNamespaceSpecifier = function () {\n\t var node = this.createNode();\n\t this.expect('*');\n\t if (!this.matchContextualKeyword('as')) {\n\t this.throwError(messages_1.Messages.NoAsAfterImportNamespace);\n\t }\n\t this.nextToken();\n\t var local = this.parseIdentifierName();\n\t return this.finalize(node, new Node.ImportNamespaceSpecifier(local));\n\t };\n\t Parser.prototype.parseImportDeclaration = function () {\n\t if (this.context.inFunctionBody) {\n\t this.throwError(messages_1.Messages.IllegalImportDeclaration);\n\t }\n\t var node = this.createNode();\n\t this.expectKeyword('import');\n\t var src;\n\t var specifiers = [];\n\t if (this.lookahead.type === 8 /* StringLiteral */) {\n\t // import 'foo';\n\t src = this.parseModuleSpecifier();\n\t }\n\t else {\n\t if (this.match('{')) {\n\t // import {bar}\n\t specifiers = specifiers.concat(this.parseNamedImports());\n\t }\n\t else if (this.match('*')) {\n\t // import * as foo\n\t specifiers.push(this.parseImportNamespaceSpecifier());\n\t }\n\t else if (this.isIdentifierName(this.lookahead) && !this.matchKeyword('default')) {\n\t // import foo\n\t specifiers.push(this.parseImportDefaultSpecifier());\n\t if (this.match(',')) {\n\t this.nextToken();\n\t if (this.match('*')) {\n\t // import foo, * as foo\n\t specifiers.push(this.parseImportNamespaceSpecifier());\n\t }\n\t else if (this.match('{')) {\n\t // import foo, {bar}\n\t specifiers = specifiers.concat(this.parseNamedImports());\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t }\n\t }\n\t else {\n\t this.throwUnexpectedToken(this.nextToken());\n\t }\n\t if (!this.matchContextualKeyword('from')) {\n\t var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;\n\t this.throwError(message, this.lookahead.value);\n\t }\n\t this.nextToken();\n\t src = this.parseModuleSpecifier();\n\t }\n\t this.consumeSemicolon();\n\t return this.finalize(node, new Node.ImportDeclaration(specifiers, src));\n\t };\n\t // https://tc39.github.io/ecma262/#sec-exports\n\t Parser.prototype.parseExportSpecifier = function () {\n\t var node = this.createNode();\n\t var local = this.parseIdentifierName();\n\t var exported = local;\n\t if (this.matchContextualKeyword('as')) {\n\t this.nextToken();\n\t exported = this.parseIdentifierName();\n\t }\n\t return this.finalize(node, new Node.ExportSpecifier(local, exported));\n\t };\n\t Parser.prototype.parseExportDeclaration = function () {\n\t if (this.context.inFunctionBody) {\n\t this.throwError(messages_1.Messages.IllegalExportDeclaration);\n\t }\n\t var node = this.createNode();\n\t this.expectKeyword('export');\n\t var exportDeclaration;\n\t if (this.matchKeyword('default')) {\n\t // export default ...\n\t this.nextToken();\n\t if (this.matchKeyword('function')) {\n\t // export default function foo () {}\n\t // export default function () {}\n\t var declaration = this.parseFunctionDeclaration(true);\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t else if (this.matchKeyword('class')) {\n\t // export default class foo {}\n\t var declaration = this.parseClassDeclaration(true);\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t else if (this.matchContextualKeyword('async')) {\n\t // export default async function f () {}\n\t // export default async function () {}\n\t // export default async x => x\n\t var declaration = this.matchAsyncFunction() ? this.parseFunctionDeclaration(true) : this.parseAssignmentExpression();\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t else {\n\t if (this.matchContextualKeyword('from')) {\n\t this.throwError(messages_1.Messages.UnexpectedToken, this.lookahead.value);\n\t }\n\t // export default {};\n\t // export default [];\n\t // export default (1 + 2);\n\t var declaration = this.match('{') ? this.parseObjectInitializer() :\n\t this.match('[') ? this.parseArrayInitializer() : this.parseAssignmentExpression();\n\t this.consumeSemicolon();\n\t exportDeclaration = this.finalize(node, new Node.ExportDefaultDeclaration(declaration));\n\t }\n\t }\n\t else if (this.match('*')) {\n\t // export * from 'foo';\n\t this.nextToken();\n\t if (!this.matchContextualKeyword('from')) {\n\t var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;\n\t this.throwError(message, this.lookahead.value);\n\t }\n\t this.nextToken();\n\t var src = this.parseModuleSpecifier();\n\t this.consumeSemicolon();\n\t exportDeclaration = this.finalize(node, new Node.ExportAllDeclaration(src));\n\t }\n\t else if (this.lookahead.type === 4 /* Keyword */) {\n\t // export var f = 1;\n\t var declaration = void 0;\n\t switch (this.lookahead.value) {\n\t case 'let':\n\t case 'const':\n\t declaration = this.parseLexicalDeclaration({ inFor: false });\n\t break;\n\t case 'var':\n\t case 'class':\n\t case 'function':\n\t declaration = this.parseStatementListItem();\n\t break;\n\t default:\n\t this.throwUnexpectedToken(this.lookahead);\n\t }\n\t exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null));\n\t }\n\t else if (this.matchAsyncFunction()) {\n\t var declaration = this.parseFunctionDeclaration();\n\t exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(declaration, [], null));\n\t }\n\t else {\n\t var specifiers = [];\n\t var source = null;\n\t var isExportFromIdentifier = false;\n\t this.expect('{');\n\t while (!this.match('}')) {\n\t isExportFromIdentifier = isExportFromIdentifier || this.matchKeyword('default');\n\t specifiers.push(this.parseExportSpecifier());\n\t if (!this.match('}')) {\n\t this.expect(',');\n\t }\n\t }\n\t this.expect('}');\n\t if (this.matchContextualKeyword('from')) {\n\t // export {default} from 'foo';\n\t // export {foo} from 'foo';\n\t this.nextToken();\n\t source = this.parseModuleSpecifier();\n\t this.consumeSemicolon();\n\t }\n\t else if (isExportFromIdentifier) {\n\t // export {default}; // missing fromClause\n\t var message = this.lookahead.value ? messages_1.Messages.UnexpectedToken : messages_1.Messages.MissingFromClause;\n\t this.throwError(message, this.lookahead.value);\n\t }\n\t else {\n\t // export {foo};\n\t this.consumeSemicolon();\n\t }\n\t exportDeclaration = this.finalize(node, new Node.ExportNamedDeclaration(null, specifiers, source));\n\t }\n\t return exportDeclaration;\n\t };\n\t return Parser;\n\t}());\n\texports.Parser = Parser;\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t// Ensure the condition is true, otherwise throw an error.\n\t// This is only to have a better contract semantic, i.e. another safety net\n\t// to catch a logic error. The condition shall be fulfilled in normal case.\n\t// Do NOT use this to enforce a certain condition on any user input.\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tfunction assert(condition, message) {\n\t /* istanbul ignore if */\n\t if (!condition) {\n\t throw new Error('ASSERT: ' + message);\n\t }\n\t}\n\texports.assert = assert;\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t/* tslint:disable:max-classes-per-file */\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar ErrorHandler = (function () {\n\t function ErrorHandler() {\n\t this.errors = [];\n\t this.tolerant = false;\n\t }\n\t ErrorHandler.prototype.recordError = function (error) {\n\t this.errors.push(error);\n\t };\n\t ErrorHandler.prototype.tolerate = function (error) {\n\t if (this.tolerant) {\n\t this.recordError(error);\n\t }\n\t else {\n\t throw error;\n\t }\n\t };\n\t ErrorHandler.prototype.constructError = function (msg, column) {\n\t var error = new Error(msg);\n\t try {\n\t throw error;\n\t }\n\t catch (base) {\n\t /* istanbul ignore else */\n\t if (Object.create && Object.defineProperty) {\n\t error = Object.create(base);\n\t Object.defineProperty(error, 'column', { value: column });\n\t }\n\t }\n\t /* istanbul ignore next */\n\t return error;\n\t };\n\t ErrorHandler.prototype.createError = function (index, line, col, description) {\n\t var msg = 'Line ' + line + ': ' + description;\n\t var error = this.constructError(msg, col);\n\t error.index = index;\n\t error.lineNumber = line;\n\t error.description = description;\n\t return error;\n\t };\n\t ErrorHandler.prototype.throwError = function (index, line, col, description) {\n\t throw this.createError(index, line, col, description);\n\t };\n\t ErrorHandler.prototype.tolerateError = function (index, line, col, description) {\n\t var error = this.createError(index, line, col, description);\n\t if (this.tolerant) {\n\t this.recordError(error);\n\t }\n\t else {\n\t throw error;\n\t }\n\t };\n\t return ErrorHandler;\n\t}());\n\texports.ErrorHandler = ErrorHandler;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\t// Error messages should be identical to V8.\n\texports.Messages = {\n\t BadGetterArity: 'Getter must not have any formal parameters',\n\t BadSetterArity: 'Setter must have exactly one formal parameter',\n\t BadSetterRestParameter: 'Setter function argument must not be a rest parameter',\n\t ConstructorIsAsync: 'Class constructor may not be an async method',\n\t ConstructorSpecialMethod: 'Class constructor may not be an accessor',\n\t DeclarationMissingInitializer: 'Missing initializer in %0 declaration',\n\t DefaultRestParameter: 'Unexpected token =',\n\t DuplicateBinding: 'Duplicate binding %0',\n\t DuplicateConstructor: 'A class may only have one constructor',\n\t DuplicateProtoProperty: 'Duplicate __proto__ fields are not allowed in object literals',\n\t ForInOfLoopInitializer: '%0 loop variable declaration may not have an initializer',\n\t GeneratorInLegacyContext: 'Generator declarations are not allowed in legacy contexts',\n\t IllegalBreak: 'Illegal break statement',\n\t IllegalContinue: 'Illegal continue statement',\n\t IllegalExportDeclaration: 'Unexpected token',\n\t IllegalImportDeclaration: 'Unexpected token',\n\t IllegalLanguageModeDirective: 'Illegal \\'use strict\\' directive in function with non-simple parameter list',\n\t IllegalReturn: 'Illegal return statement',\n\t InvalidEscapedReservedWord: 'Keyword must not contain escaped characters',\n\t InvalidHexEscapeSequence: 'Invalid hexadecimal escape sequence',\n\t InvalidLHSInAssignment: 'Invalid left-hand side in assignment',\n\t InvalidLHSInForIn: 'Invalid left-hand side in for-in',\n\t InvalidLHSInForLoop: 'Invalid left-hand side in for-loop',\n\t InvalidModuleSpecifier: 'Unexpected token',\n\t InvalidRegExp: 'Invalid regular expression',\n\t LetInLexicalBinding: 'let is disallowed as a lexically bound name',\n\t MissingFromClause: 'Unexpected token',\n\t MultipleDefaultsInSwitch: 'More than one default clause in switch statement',\n\t NewlineAfterThrow: 'Illegal newline after throw',\n\t NoAsAfterImportNamespace: 'Unexpected token',\n\t NoCatchOrFinally: 'Missing catch or finally after try',\n\t ParameterAfterRestParameter: 'Rest parameter must be last formal parameter',\n\t Redeclaration: '%0 \\'%1\\' has already been declared',\n\t StaticPrototype: 'Classes may not have static property named prototype',\n\t StrictCatchVariable: 'Catch variable may not be eval or arguments in strict mode',\n\t StrictDelete: 'Delete of an unqualified identifier in strict mode.',\n\t StrictFunction: 'In strict mode code, functions can only be declared at top level or inside a block',\n\t StrictFunctionName: 'Function name may not be eval or arguments in strict mode',\n\t StrictLHSAssignment: 'Assignment to eval or arguments is not allowed in strict mode',\n\t StrictLHSPostfix: 'Postfix increment/decrement may not have eval or arguments operand in strict mode',\n\t StrictLHSPrefix: 'Prefix increment/decrement may not have eval or arguments operand in strict mode',\n\t StrictModeWith: 'Strict mode code may not include a with statement',\n\t StrictOctalLiteral: 'Octal literals are not allowed in strict mode.',\n\t StrictParamDupe: 'Strict mode function may not have duplicate parameter names',\n\t StrictParamName: 'Parameter name eval or arguments is not allowed in strict mode',\n\t StrictReservedWord: 'Use of future reserved word in strict mode',\n\t StrictVarName: 'Variable name may not be eval or arguments in strict mode',\n\t TemplateOctalLiteral: 'Octal literals are not allowed in template strings.',\n\t UnexpectedEOS: 'Unexpected end of input',\n\t UnexpectedIdentifier: 'Unexpected identifier',\n\t UnexpectedNumber: 'Unexpected number',\n\t UnexpectedReserved: 'Unexpected reserved word',\n\t UnexpectedString: 'Unexpected string',\n\t UnexpectedTemplate: 'Unexpected quasi %0',\n\t UnexpectedToken: 'Unexpected token %0',\n\t UnexpectedTokenIllegal: 'Unexpected token ILLEGAL',\n\t UnknownLabel: 'Undefined label \\'%0\\'',\n\t UnterminatedRegExp: 'Invalid regular expression: missing /'\n\t};\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\n\tvar assert_1 = __webpack_require__(9);\n\tvar character_1 = __webpack_require__(4);\n\tvar messages_1 = __webpack_require__(11);\n\tfunction hexValue(ch) {\n\t return '0123456789abcdef'.indexOf(ch.toLowerCase());\n\t}\n\tfunction octalValue(ch) {\n\t return '01234567'.indexOf(ch);\n\t}\n\tvar Scanner = (function () {\n\t function Scanner(code, handler) {\n\t this.source = code;\n\t this.errorHandler = handler;\n\t this.trackComment = false;\n\t this.isModule = false;\n\t this.length = code.length;\n\t this.index = 0;\n\t this.lineNumber = (code.length > 0) ? 1 : 0;\n\t this.lineStart = 0;\n\t this.curlyStack = [];\n\t }\n\t Scanner.prototype.saveState = function () {\n\t return {\n\t index: this.index,\n\t lineNumber: this.lineNumber,\n\t lineStart: this.lineStart\n\t };\n\t };\n\t Scanner.prototype.restoreState = function (state) {\n\t this.index = state.index;\n\t this.lineNumber = state.lineNumber;\n\t this.lineStart = state.lineStart;\n\t };\n\t Scanner.prototype.eof = function () {\n\t return this.index >= this.length;\n\t };\n\t Scanner.prototype.throwUnexpectedToken = function (message) {\n\t if (message === void 0) { message = messages_1.Messages.UnexpectedTokenIllegal; }\n\t return this.errorHandler.throwError(this.index, this.lineNumber, this.index - this.lineStart + 1, message);\n\t };\n\t Scanner.prototype.tolerateUnexpectedToken = function (message) {\n\t if (message === void 0) { message = messages_1.Messages.UnexpectedTokenIllegal; }\n\t this.errorHandler.tolerateError(this.index, this.lineNumber, this.index - this.lineStart + 1, message);\n\t };\n\t // https://tc39.github.io/ecma262/#sec-comments\n\t Scanner.prototype.skipSingleLineComment = function (offset) {\n\t var comments = [];\n\t var start, loc;\n\t if (this.trackComment) {\n\t comments = [];\n\t start = this.index - offset;\n\t loc = {\n\t start: {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart - offset\n\t },\n\t end: {}\n\t };\n\t }\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t ++this.index;\n\t if (character_1.Character.isLineTerminator(ch)) {\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart - 1\n\t };\n\t var entry = {\n\t multiLine: false,\n\t slice: [start + offset, this.index - 1],\n\t range: [start, this.index - 1],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t if (ch === 13 && this.source.charCodeAt(this.index) === 10) {\n\t ++this.index;\n\t }\n\t ++this.lineNumber;\n\t this.lineStart = this.index;\n\t return comments;\n\t }\n\t }\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart\n\t };\n\t var entry = {\n\t multiLine: false,\n\t slice: [start + offset, this.index],\n\t range: [start, this.index],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t return comments;\n\t };\n\t Scanner.prototype.skipMultiLineComment = function () {\n\t var comments = [];\n\t var start, loc;\n\t if (this.trackComment) {\n\t comments = [];\n\t start = this.index - 2;\n\t loc = {\n\t start: {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart - 2\n\t },\n\t end: {}\n\t };\n\t }\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t if (character_1.Character.isLineTerminator(ch)) {\n\t if (ch === 0x0D && this.source.charCodeAt(this.index + 1) === 0x0A) {\n\t ++this.index;\n\t }\n\t ++this.lineNumber;\n\t ++this.index;\n\t this.lineStart = this.index;\n\t }\n\t else if (ch === 0x2A) {\n\t // Block comment ends with '*/'.\n\t if (this.source.charCodeAt(this.index + 1) === 0x2F) {\n\t this.index += 2;\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart\n\t };\n\t var entry = {\n\t multiLine: true,\n\t slice: [start + 2, this.index - 2],\n\t range: [start, this.index],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t return comments;\n\t }\n\t ++this.index;\n\t }\n\t else {\n\t ++this.index;\n\t }\n\t }\n\t // Ran off the end of the file - the whole thing is a comment\n\t if (this.trackComment) {\n\t loc.end = {\n\t line: this.lineNumber,\n\t column: this.index - this.lineStart\n\t };\n\t var entry = {\n\t multiLine: true,\n\t slice: [start + 2, this.index],\n\t range: [start, this.index],\n\t loc: loc\n\t };\n\t comments.push(entry);\n\t }\n\t this.tolerateUnexpectedToken();\n\t return comments;\n\t };\n\t Scanner.prototype.scanComments = function () {\n\t var comments;\n\t if (this.trackComment) {\n\t comments = [];\n\t }\n\t var start = (this.index === 0);\n\t while (!this.eof()) {\n\t var ch = this.source.charCodeAt(this.index);\n\t if (character_1.Character.isWhiteSpace(ch)) {\n\t ++this.index;\n\t }\n\t else if (character_1.Character.isLineTerminator(ch)) {\n\t ++this.index;\n\t if (ch === 0x0D && this.source.charCodeAt(this.index) === 0x0A) {\n\t ++this.index;\n\t }\n\t ++this.lineNumber;\n\t this.lineStart = this.index;\n\t start = true;\n\t }\n\t else if (ch === 0x2F) {\n\t ch = this.source.charCodeAt(this.index + 1);\n\t if (ch === 0x2F) {\n\t this.index += 2;\n\t var comment = this.skipSingleLineComment(2);\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t start = true;\n\t }\n\t else if (ch === 0x2A) {\n\t this.index += 2;\n\t var comment = this.skipMultiLineComment();\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t else if (start && ch === 0x2D) {\n\t // U+003E is '>'\n\t if ((this.source.charCodeAt(this.index + 1) === 0x2D) && (this.source.charCodeAt(this.index + 2) === 0x3E)) {\n\t // '-->' is a single-line comment\n\t this.index += 3;\n\t var comment = this.skipSingleLineComment(3);\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t else if (ch === 0x3C && !this.isModule) {\n\t if (this.source.slice(this.index + 1, this.index + 4) === '!--') {\n\t this.index += 4; // `' is a single-line comment\n\t this.index += 3;\n\t var comment = this.skipSingleLineComment(3);\n\t if (this.trackComment) {\n\t comments = comments.concat(comment);\n\t }\n\t }\n\t else {\n\t break;\n\t }\n\t }\n\t else if (ch === 0x3C && !this.isModule) {\n\t if (this.source.slice(this.index + 1, this.index + 4) === '!--') {\n\t this.index += 4; // `