Голография

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску
Не удалось преобразовать TeX в MML с помощью серверного MathJax: ошибка:
/var/www/wiki/w/extensions/MathJax/node_modules/esm/esm.js:1
const __global__ = this;(function (require, module, __shared__) { var __shared__;const e=module,t={Array:global.Array,Buffer:global.Buffer,Error:global.Error,EvalError:global.EvalError,Function:global.Function,JSON:global.JSON,Object:global.Object,Promise:global.Promise,RangeError:global.RangeError,ReferenceError:global.ReferenceError,Reflect:global.Reflect,SyntaxError:global.SyntaxError,TypeError:global.TypeError,URIError:global.URIError,eval:global.eval},r=global.console;module.exports=(function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.d=function(e,t,r){Reflect.defineProperty(e,t,{configurable:!0,enumerable:!0,get:r})},r.n=function(e){return e.a=e,function(){return e}},r(r.s=2)})([(function(e,t){var r;t=e.exports=$,"object"==typeof process&&process,r=function(){},t.SEMVER_SPEC_VERSION="2.0.0";var i=256,n=Number.MAX_SAFE_INTEGER||9007199254740991,s=t.re=[],a=t.src=[],o=0,u=o++;a[u]="0|[1-9]\\d*";var l=o++;a[l]="[0-9]+";var c=o++;a[c]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var p=o++;a[p]="("+a[u]+")\\.("+a[u]+")\\.("+a[u]+")";var h=o++;a[h]="("+a[l]+")\\.("+a[l]+")\\.("+a[l]+")";var f=o++;a[f]="(?:"+a[u]+"|"+a[c]+")";var d=o++;a[d]="(?:"+a[l]+"|"+a[c]+")";var m=o++;a[m]="(?:-("+a[f]+"(?:\\."+a[f]+")*))";var v=o++;a[v]="(?:-?("+a[d]+"(?:\\."+a[d]+")*))";var g=o++;a[g]="[0-9A-Za-z-]+";var y=o++;a[y]="(?:\\+("+a[g]+"(?:\\."+a[g]+")*))";var x=o++,b="v?"+a[p]+a[m]+"?"+a[y]+"?";a[x]="^"+b+"$";var w="[v=\\s]*"+a[h]+a[v]+"?"+a[y]+"?",E=o++;a[E]="^"+w+"$";var S=o++;a[S]="((?:<|>)?=?)";var R=o++;a[R]=a[l]+"|x|X|\\*";var P=o++;a[P]=a[u]+"|x|X|\\*";var _=o++;a[_]="[v=\\s]*("+a[P]+")(?:\\.("+a[P]+")(?:\\.("+a[P]+")(?:"+a[m]+")?"+a[y]+"?)?)?";var k=o++;a[k]="[v=\\s]*("+a[R]+")(?:\\.("+a[R]+")(?:\\.("+a[R]+")(?:"+a[v]+")?"+a[y]+"?)?)?";var I=o++;a[I]="^"+a[S]+"\\s*"+a[_]+"$";var A=o++;a[A]="^"+a[S]+"\\s*"+a[k]+"$";var N=o++;a[N]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var C=o++;a[C]="(?:~>?)";var O=o++;a[O]="(\\s*)"+a[C]+"\\s+",s[O]=RegExp(a[O],"g");var T=o++;a[T]="^"+a[C]+a[_]+"$";var M=o++;a[M]="^"+a[C]+a[k]+"$";var L=o++;a[L]="(?:\\^)";var D=o++;a[D]="(\\s*)"+a[L]+"\\s+",s[D]=RegExp(a[D],"g");var F=o++;a[F]="^"+a[L]+a[_]+"$";var j=o++;a[j]="^"+a[L]+a[k]+"$";var V=o++;a[V]="^"+a[S]+"\\s*("+w+")$|^$";var G=o++;a[G]="^"+a[S]+"\\s*("+b+")$|^$";var B=o++;a[B]="(\\s*)"+a[S]+"\\s*("+w+"|"+a[_]+")",s[B]=RegExp(a[B],"g");var U=o++;a[U]="^\\s*("+a[_]+")\\s+-\\s+("+a[_]+")\\s*$";var W=o++;a[W]="^\\s*("+a[k]+")\\s+-\\s+("+a[k]+")\\s*$";var q=o++;a[q]="(<|>)?=?\\s*\\*";for(var z=0;z<35;z++)r(z,a[z]),s[z]||(s[z]=RegExp(a[z]));function H(e,t){"use strict";if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof $)return e;if("string"!=typeof e)return null;if(e.length>i)return null;var r=t.loose?s[E]:s[x];if(!r.test(e))return null;try{return new $(e,t)}catch(e){return null}}function $(e,t){"use strict";if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof $){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>i)throw new TypeError("version is longer than "+i+" characters");if(!(this instanceof $))return new $(e,t);r("SemVer",e,t),this.options=t,this.loose=!!t.loose;var a=e.trim().match(t.loose?s[E]:s[x]);if(!a)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+a[1],this.minor=+a[2],this.patch=+a[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");this.prerelease=a[4]?a[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);-1===r&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,r,i){"use strict";"string"==typeof r&&(i=r,r=void 0);try{return new $(e,r).inc(t,i).version}catch(e){return null}},t.diff=function(e,t){"use strict";if(Z(e,t))return null;var r=H(e),i=H(t),n="";if(r.prerelease.length||i.prerelease.length){n="pre";var s="prerelease"}for(var a in r)if(("major"===a||"minor"===a||"patch"===a)&&r[a]!==i[a])return n+a;return s},t.compareIdentifiers=J;var K=/^[0-9]+$/;function J(e,t){"use strict";var r=K.test(e),i=K.test(t);return r&&i&&(e=+e,t=+t),e===t?0:r&&!i?-1:i&&!r?1:e0}function Q(e,t,r){"use strict";return Y(e,t,r)<0}function Z(e,t,r){"use strict";return 0===Y(e,t,r)}function ee(e,t,r){"use strict";return 0!==Y(e,t,r)}function te(e,t,r){"use strict";return Y(e,t,r)>=0}function re(e,t,r){"use strict";return Y(e,t,r)<=0}function ie(e,t,r,i){"use strict";switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e===r;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof r&&(r=r.version),e!==r;case"":case"=":case"==":return Z(e,r,i);case"!=":return ee(e,r,i);case">":return X(e,r,i);case">=":return te(e,r,i);case"<":return Q(e,r,i);case"<=":return re(e,r,i);default:throw new TypeError("Invalid operator: "+t)}}function ne(e,t){"use strict";if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ne){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof ne))return new ne(e,t);r("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.value=this.semver===se?"":this.operator+this.semver.version,r("comp",this)}t.rcompareIdentifiers=function(e,t){"use strict";return J(t,e)},t.major=function(e,t){"use strict";return new $(e,t).major},t.minor=function(e,t){"use strict";return new $(e,t).minor},t.patch=function(e,t){"use strict";return new $(e,t).patch},t.compare=Y,t.compareLoose=function(e,t){"use strict";return Y(e,t,!0)},t.rcompare=function(e,t,r){"use strict";return Y(t,e,r)},t.sort=function(e,r){"use strict";return e.sort((function(e,i){return t.compare(e,i,r)}))},t.rsort=function(e,r){"use strict";return e.sort((function(e,i){return t.rcompare(e,i,r)}))},t.gt=X,t.lt=Q,t.eq=Z,t.neq=ee,t.gte=te,t.lte=re,t.cmp=ie,t.Comparator=ne;var se={};function ae(e,t){"use strict";if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof ae)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new ae(e.raw,t);if(e instanceof ne)return new ae(e.value,t);if(!(this instanceof ae))return new ae(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((function(e){return this.parseRange(e.trim())}),this).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function oe(e){"use strict";return!e||"x"===e.toLowerCase()||"*"===e}function ue(e,t,r,i,n,s,a,o,u,l,c,p,h){"use strict";return t=oe(r)?"":oe(i)?">="+r+".0.0":oe(n)?">="+r+"."+i+".0":">="+t,o=oe(u)?"":oe(l)?"<"+(+u+1)+".0.0":oe(c)?"<"+u+"."+(+l+1)+".0":p?"<="+u+"."+l+"."+c+"-"+p:"<="+o,(t+" "+o).trim()}function le(e,t,i){"use strict";for(var n=0;n0){var s=e[n].semver;if(s.major===t.major&&s.minor===t.minor&&s.patch===t.patch)return!0}return!1}return!0}function ce(e,t,r){"use strict";try{t=new ae(t,r)}catch(e){return!1}return t.test(e)}function pe(e,t,r,i){"use strict";var n,s,a,o,u;switch(e=new $(e,i),t=new ae(t,i),r){case">":n=X,s=re,a=Q,o=">",u=">=";break;case"<":n=Q,s=te,a=X,o="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ce(e,t,i))return!1;for(var l=0;l=0.0.0")),p=p||e,h=h||e,n(e.semver,p.semver,i)?p=e:a(e.semver,h.semver,i)&&(h=e)})),p.operator===o||p.operator===u)return!1;if((!h.operator||h.operator===o)&&s(e,h.semver))return!1;if(h.operator===u&&a(e,h.semver))return!1}return!0}ne.prototype.parse=function(e){"use strict";var t=this.options.loose?s[V]:s[G],r=e.match(t);if(!r)throw new TypeError("Invalid comparator: "+e);this.operator=r[1],"="===this.operator&&(this.operator=""),this.semver=r[2]?new $(r[2],this.options.loose):se},ne.prototype.toString=function(){"use strict";return this.value},ne.prototype.test=function(e){"use strict";return r("Comparator.test",e,this.options.loose),this.semver===se||("string"==typeof e&&(e=new $(e,this.options)),ie(e,this.operator,this.semver,this.options))},ne.prototype.intersects=function(e,t){"use strict";if(!(e instanceof ne))throw new TypeError("a Comparator is required");var r;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return r=new ae(e.value,t),ce(this.value,r,t);if(""===e.operator)return r=new ae(this.value,t),ce(e.semver,r,t);var i=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),n=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),s=this.semver.version===e.semver.version,a=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),o=ie(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),u=ie(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return i||n||s&&a||o||u},t.Range=ae,ae.prototype.format=function(){"use strict";return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range},ae.prototype.toString=function(){"use strict";return this.range},ae.prototype.parseRange=function(e){"use strict";var t=this.options.loose;e=e.trim();var i=t?s[W]:s[U];e=e.replace(i,ue),r("hyphen replace",e),e=e.replace(s[B],"$1$2$3"),r("comparator trim",e,s[B]),e=e.replace(s[O],"$1~"),e=e.replace(s[D],"$1^"),e=e.split(/\s+/).join(" ");var n=t?s[V]:s[G],a=e.split(" ").map((function(e){return(function(e,t){return r("comp",e,t),e=(function(e,t){return e.trim().split(/\s+/).map((function(e){return(function(e,t){r("caret",e,t);var i=t.loose?s[j]:s[F];return e.replace(i,(function(t,i,n,s,a){var o;return r("caret",e,t,i,n,s,a),oe(i)?o="":oe(n)?o=">="+i+".0.0 <"+(+i+1)+".0.0":oe(s)?o="0"===i?">="+i+"."+n+".0 <"+i+"."+(+n+1)+".0":">="+i+"."+n+".0 <"+(+i+1)+".0.0":a?(r("replaceCaret pr",a),o="0"===i?"0"===n?">="+i+"."+n+"."+s+"-"+a+" <"+i+"."+n+"."+(+s+1):">="+i+"."+n+"."+s+"-"+a+" <"+i+"."+(+n+1)+".0":">="+i+"."+n+"."+s+"-"+a+" <"+(+i+1)+".0.0"):(r("no pr"),o="0"===i?"0"===n?">="+i+"."+n+"."+s+" <"+i+"."+n+"."+(+s+1):">="+i+"."+n+"."+s+" <"+i+"."+(+n+1)+".0":">="+i+"."+n+"."+s+" <"+(+i+1)+".0.0"),r("caret return",o),o}))})(e,t)})).join(" ")})(e,t),r("caret",e),e=(function(e,t){return e.trim().split(/\s+/).map((function(e){return(function(e,t){var i=t.loose?s[M]:s[T];return e.replace(i,(function(t,i,n,s,a){var o;return r("tilde",e,t,i,n,s,a),oe(i)?o="":oe(n)?o=">="+i+".0.0 <"+(+i+1)+".0.0":oe(s)?o=">="+i+"."+n+".0 <"+i+"."+(+n+1)+".0":a?(r("replaceTilde pr",a),o=">="+i+"."+n+"."+s+"-"+a+" <"+i+"."+(+n+1)+".0"):o=">="+i+"."+n+"."+s+" <"+i+"."+(+n+1)+".0",r("tilde return",o),o}))})(e,t)})).join(" ")})(e,t),r("tildes",e),e=(function(e,t){return r("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return(function(e,t){e=e.trim();var i=t.loose?s[A]:s[I];return e.replace(i,(function(t,i,n,s,a,o){r("xRange",e,t,i,n,s,a,o);var u=oe(n),l=u||oe(s),c=l||oe(a),p=c;return"="===i&&p&&(i=""),u?t=">"===i||"<"===i?"<0.0.0":"*":i&&p?(l&&(s=0),a=0,">"===i?(i=">=",l?(n=+n+1,s=0,a=0):(s=+s+1,a=0)):"<="===i&&(i="<",l?n=+n+1:s=+s+1),t=i+n+"."+s+"."+a):l?t=">="+n+".0.0 <"+(+n+1)+".0.0":c&&(t=">="+n+"."+s+".0 <"+n+"."+(+s+1)+".0"),r("xRange return",t),t}))})(e,t)})).join(" ")})(e,t),r("xrange",e),e=(function(e,t){return r("replaceStars",e,t),e.trim().replace(s[q],"")})(e,t),r("stars",e),e})(e,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(a=a.filter((function(e){return!!e.match(n)}))),a=a.map((function(e){return new ne(e,this.options)}),this),a},ae.prototype.intersects=function(e,t){"use strict";if(!(e instanceof ae))throw new TypeError("a Range is required");return this.set.some((function(r){return r.every((function(r){return e.set.some((function(e){return e.every((function(e){return r.intersects(e,t)}))}))}))}))},t.toComparators=function(e,t){"use strict";return new ae(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))},ae.prototype.test=function(e){"use strict";if(!e)return!1;"string"==typeof e&&(e=new $(e,this.options));for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":r&&!X(r,t)||(r=t);break;case"<":case"<=":break;default:throw Error("Unexpected operation: "+e.operator)}}))}return r&&e.test(r)?r:null},t.validRange=function(e,t){"use strict";try{return new ae(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,r){"use strict";return pe(e,t,"<",r)},t.gtr=function(e,t,r){"use strict";return pe(e,t,">",r)},t.outside=pe,t.prerelease=function(e,t){"use strict";var r=H(e,t);return r&&r.prerelease.length?r.prerelease:null},t.intersects=function(e,t,r){"use strict";return e=new ae(e,r),t=new ae(t,r),e.intersects(t)},t.coerce=function(e){"use strict";if(e instanceof $)return e;if("string"!=typeof e)return null;var t=e.match(s[N]);return null==t?null:H(t[1]+"."+(t[2]||"0")+"."+(t[3]||"0"))}}),(function(e,t,r){var i=!0,n=-1,s=0,a=1,o=2,u=3,l=4,c=5,p=6,h=7,f=8,d=9,m=10,v=11,g=13,y=0,x=[];function b(){var e=x.pop();return e||(e={context:y,elements:null,element_array:null}),e}function w(e){x.push(e)}var E=[];function S(e){E.push(e)}var R=t;R.escape=function(e){var t,r="";if(!e)return e;for(t=0;t0&&(A&&("function"==typeof t&&(function e(r,i){var n,s,a=r[i];if(a&&"object"==typeof a)for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(s=e(a,n),void 0!==s?a[n]=s:delete a[n]);return t.call(r,i,a)})({"":A},""),e(A),A=void 0),!(i<2));i=this._write());},_write(e,t){var Z,ee,te,re=0;function ie(e,t){throw Error(`${e} '${String.fromCodePoint(t)}' unexpected at ${P} (near '${te.substr(P>4?P-4:0,P>4?3:P-1)}[${String.fromCodePoint(t)}]${te.substr(P,10)}') [${R.line}:${R.col}]`)}function ne(){x.value_type=s,x.string=""}function se(e){return e.length>1&&!L&&!D&&!F&&48===e.charCodeAt(0)?(I?-1:1)*+("0o"+e):(I?-1:1)*+e}function ae(){switch(x.value_type){case c:C.push(i?se(x.string):(I?-1:1)*+x.string);break;case l:C.push(x.string);break;case o:C.push(!0);break;case u:C.push(!1);break;case f:case d:C.push(NaN);break;case m:C.push(-1/0);break;case v:C.push(1/0);break;case a:C.push(null);break;case n:C.push(void 0);break;case g:C.push(void 0),delete C[C.length-1];break;case p:case h:C.push(x.contains)}}function oe(){switch(x.value_type){case c:N[x.name]=i?se(x.string):(I?-1:1)*+x.string;break;case l:N[x.name]=x.string;break;case o:N[x.name]=!0;break;case u:N[x.name]=!1;break;case f:case d:N[x.name]=NaN;break;case m:N[x.name]=-1/0;break;case v:N[x.name]=1/0;break;case a:N[x.name]=null;break;case n:N[x.name]=void 0;break;case p:case h:N[x.name]=x.contains}}function ue(e){for(var t=0;0===t&&P=65536&&(r+=te.charAt(P),P++),R.col++,i===e)q?(x.string+=r,q=!1):(t=-1,X?ie("Incomplete Octal sequence",i):K?ie("Incomplete hexidecimal sequence",i):$?ie("Incomplete unicode sequence",i):H&&ie("Incomplete long unicode sequence",i),t=1);else if(q){if(X){if(Y<3&&i>=48&&i<=57){if(J*=8,J+=i-48,Y++,3===Y){x.string+=String.fromCodePoint(J),X=!1,q=!1;continue}continue}if(J>255){ie("(escaped character, parsing octal escape val=%d) fault while parsing",i),t=-1;break}x.string+=String.fromCodePoint(J),X=!1,q=!1;continue}if(H){if(125===i){x.string+=String.fromCodePoint(J),H=!1,$=!1,q=!1;continue}if(J*=16,i>=48&&i<=57)J+=i-48;else if(i>=65&&i<=70)J+=i-65+10;else{if(!(i>=97&&i<=102)){ie("(escaped character, parsing hex of \\u)",i),t=-1,H=!1,q=!1;continue}J+=i-97+10}continue}if(K||$){if(0===Y&&123===i){H=!0;continue}if(Y<2||$&&Y<4){if(J*=16,i>=48&&i<=57)J+=i-48;else if(i>=65&&i<=70)J+=i-65+10;else{if(!(i>=97&&i<=102)){ie($?"(escaped character, parsing hex of \\u)":"(escaped character, parsing hex of \\x)",i),t=-1,K=!1,q=!1;continue}J+=i-97+10}Y++,$?4===Y&&(x.string+=String.fromCodePoint(J),$=!1,q=!1):2===Y&&(x.string+=String.fromCodePoint(J),K=!1,q=!1);continue}}switch(i){case 13:z=!0,R.col=1;continue;case 10:case 2028:case 2029:R.line++;break;case 116:x.string+="\t";break;case 98:x.string+="\b";break;case 110:x.string+="\n";break;case 114:x.string+="\r";break;case 102:x.string+="\f";break;case 48:case 49:case 50:case 51:X=!0,J=i-48,Y=1;continue;case 120:K=!0,Y=0,J=0;continue;case 117:$=!0,Y=0,J=0;continue;default:x.string+=r}q=!1}else if(92===i)q?(x.string+="\\",q=!1):q=!0;else{if(z){if(z=!1,10===i){R.line++,R.col=1,q=!1;continue}R.line++,R.col=1;continue}x.string+=r}}return t}function le(){for(var e;(e=P)=65536&&(ie("fault while parsing number;",i),r+=te.charAt(P),P++),95!==i)if(R.col++,i>=48&&i<=57)F&&(V=!0),x.string+=r;else if(45===i||43===i){if(0!==x.string.length&&(!F||j||V)){k=!1,ie("fault while parsing number;",i);break}x.string+=r,j=!0}else if(46===i){if(D||L||F){k=!1,ie("fault while parsing number;",i);break}x.string+=r,D=!0}else if(120===i||98===i||111===i||88===i||66===i||79===i){if(L||"0"!==x.string){k=!1,ie("fault while parsing number;",i);break}L=!0,x.string+=r}else{if(101!==i&&69!==i){if(32===i||13===i||10===i||9===i||65279===i||44===i||125===i||93===i||58===i)break;t&&(k=!1,ie("fault while parsing number;",i));break}if(F){k=!1,ie("fault while parsing number;",i);break}x.string+=r,F=!0}}P=e,t||P!==te.length?(W=!1,x.value_type=c,T===y&&(Q=!0)):W=!0}if(!k)return-1;for(e&&e.length?(ee=(function(){var e=E.pop();return e?e.n=0:e={buf:null,n:0},e})(),ee.buf=e,G.push(ee)):W&&(W=!1,x.value_type=c,T===y&&(Q=!0),re=1);k&&(ee=G.shift());){if(P=ee.n,te=ee.buf,U){var ce=ue(B);ce<0?k=!1:ce>0&&(U=!1,k&&(x.value_type=l))}for(W&&le();!Q&&k&&P=65536&&(r+=te.charAt(P),P++),R.col++,M){if(1===M){if(42===Z){M=3;continue}47!==Z?(ie("fault while parsing;",Z),k=!1):M=2;continue}if(2===M){if(10===Z){M=0;continue}continue}if(3===M){if(42===Z){M=4;continue}continue}if(4===M){if(47===Z){M=0;continue}42!==Z&&(M=3);continue}}switch(Z){case 47:M||(M=1);break;case 123:if(29===_||30===_||3===T&&0===_){ie("fault while parsing; getting field name unexpected ",Z),k=!1;break}var pe=b();x.value_type=p;var he={};T===y?A=N=he:4===T&&(N[x.name]=he),pe.context=T,pe.elements=N,pe.element_array=C,pe.name=x.name,N=he,O.push(pe),ne(),T=3;break;case 91:if(3===T||29===_||30===_){ie("Fault while parsing; while getting field name unexpected",Z),k=!1;break}var fe=b();x.value_type=h;var de=[];T===y?A=C=de:4===T&&(N[x.name]=de),fe.context=T,fe.elements=N,fe.element_array=C,fe.name=x.name,C=de,O.push(fe),ne(),T=1;break;case 58:if(3===T){if(0!==_&&29!==_&&30!==_){k=FALSE,thorwError(`fault while parsing; unquoted keyword used as object field name (state:${_})`,Z);break}_=0,x.name=x.string,x.string="",T=4,x.value_type=s}else ie(1===T?"(in array, got colon out of string):parsing fault;":"(outside any object, got colon out of string):parsing fault;",Z),k=!1;break;case 125:if(31===_&&(_=0),3===T){ne();var me=O.pop();T=me.context,N=me.elements,C=me.element_array,w(me),T===y&&(Q=!0)}else if(4===T){x.value_type!==s&&oe(),x.value_type=p,x.contains=N;var ve=O.pop();x.name=ve.name,T=ve.context,N=ve.elements,C=ve.element_array,w(ve),T===y&&(Q=!0)}else ie("Fault while parsing; unexpected",Z),k=!1;I=!1;break;case 93:31===_&&(_=0),1===T?(x.value_type!==s&&ae(),x.value_type=h,x.contains=C,ve=O.pop(),x.name=ve.name,T=ve.context,N=ve.elements,C=ve.element_array,w(ve),T===y&&(Q=!0)):(ie(`bad context ${T}; fault while parsing`,Z),k=!1),I=!1;break;case 44:31===_&&(_=0),1===T?(x.value_type===s&&(x.value_type=g),x.value_type!==s&&(ae(),ne())):4===T?(T=3,x.value_type!==s&&(oe(),ne())):(k=!1,ie("bad context; excessive commas while parsing;",Z)),I=!1;break;default:if(3===T)switch(Z){case 96:case 34:case 39:if(0===_){var ge=ue(Z);ge?x.value_type=l:(B=Z,U=!0)}else ie("fault while parsing; quote not at start of field name",Z);break;case 10:R.line++,R.col=1;case 13:case 32:case 9:case 65279:if(31===_){_=0,T===y&&(Q=!0);break}if(0===_||30===_)break;29===_?_=30:(k=!1,ie("fault while parsing; whitepsace unexpected",Z));break;default:30===_&&(k=!1,ie("fault while parsing; character unexpected",Z)),0===_&&(_=29),x.string+=r}else switch(Z){case 96:case 34:case 39:var ye=ue(Z);ye?(x.value_type=l,_=31):(B=Z,U=!0);break;case 10:R.line++,R.col=1;case 32:case 9:case 13:case 65279:if(31===_){_=0,T===y&&(Q=!0);break}if(0===_)break;29===_?_=30:(k=!1,ie("fault parsing whitespace",Z));break;case 116:0===_?_=1:27===_?_=28:(k=!1,ie("fault parsing",Z));break;case 114:1===_?_=2:(k=!1,ie("fault parsing",Z));break;case 117:2===_?_=3:9===_?_=10:0===_?_=12:(k=!1,ie("fault parsing",Z));break;case 101:3===_?(x.value_type=o,_=31):8===_?(x.value_type=u,_=31):14===_?_=15:18===_?_=19:(k=!1,ie("fault parsing",Z));break;case 110:0===_?_=9:12===_?_=13:17===_?_=18:22===_?_=23:25===_?_=26:(k=!1,ie("fault parsing",Z));break;case 100:13===_?_=14:19===_?(x.value_type=n,_=31):(k=!1,ie("fault parsing",Z));break;case 105:16===_?_=17:24===_?_=25:26===_?_=27:(k=!1,ie("fault parsing",Z));break;case 108:10===_?_=11:11===_?(x.value_type=a,_=31):6===_?_=7:(k=!1,ie("fault parsing",Z));break;case 102:0===_?_=5:15===_?_=16:23===_?_=24:(k=!1,ie("fault parsing",Z));break;case 97:5===_?_=6:20===_?_=21:(k=!1,ie("fault parsing",Z));break;case 115:7===_?_=8:(k=!1,ie("fault parsing",Z));break;case 73:0===_?_=22:(k=!1,ie("fault parsing",Z));break;case 78:0===_?_=20:21===_?(x.value_type=I?f:d,_=31):(k=!1,ie("fault parsing",Z));break;case 121:28===_?(x.value_type=I?m:v,_=31):(k=!1,ie("fault parsing",Z));break;case 45:0===_?I=!I:(k=!1,ie("fault parsing",Z));break;default:Z>=48&&Z<=57||43===Z||46===Z||45===Z?(L=!1,F=!1,j=!1,V=!1,D=!1,x.string=r,ee.n=P,le()):(k=!1,ie("fault parsing",Z))}}if(Q){31===_&&(_=0);break}}if(P===te.length?(S(ee),U||W||3===T?re=0:T!==y||x.value_type===s&&!A||(Q=!0,re=1)):(ee.n=P,G.unshift(ee),re=2),Q)break}if(!k)return-1;if(Q&&x.value_type!==s){switch(x.value_type){case c:A=i?se(x.string):(I?-1:1)*+x.string;break;case l:A=x.string;break;case o:A=!0;break;case u:A=!1;break;case a:A=null;break;case n:A=void 0;break;case d:case f:A=NaN;break;case v:A=1/0;break;case m:A=-1/0;break;case p:case h:A=x.contains}I=!1,x.string="",x.value_type=s}return Q=!1,re}}};var P=[Object.freeze(R.begin())],_=0;R.parse=function(e,t){var r,i=_++;if(P.length<=i&&P.push(Object.freeze(R.begin())),r=P[i],"string"!=typeof e&&(e+=""),r.reset(),r._write(e,!0)>0){var n=r.value();return"function"==typeof t&&(function e(r,i){var n,s,a=r[i];if(a&&"object"==typeof a)for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(s=e(a,n),void 0!==s?a[n]=s:delete a[n]);return t.call(r,i,a)})({"":n},""),_--,n}}}),(function(i,n,s){var a=function(e){"use strict";return e+"\u200d"},o=Object.prototype.__defineGetter__,u=function(e,t,r){"use strict";return o.call(e,t,r),e},l=Object.prototype.__defineSetter__,c=function(e,t,r){"use strict";return l.call(e,t,r),e},p={configurable:!0,enumerable:!0,value:void 0,writable:!0},h=[],f=function(e,t,r){"use strict";return u(e,t,(function(){return this[t]=void 0,this[t]=Reflect.apply(r,this,h)})),c(e,t,(function(e){p.value=e,Reflect.defineProperty(this,t,p)})),e},d=["index.js","esm.js","esm/loader.js"],m={PACKAGE_DIRNAME:null,PACKAGE_FILENAMES:null,PACKAGE_PREFIX:a("esm"),PACKAGE_RANGE:"3.2.25",PACKAGE_VERSION:"3.2.25",STACK_TRACE_LIMIT:30},v=e,g=v.filename,y=v.parent,x=null!=y&&y.filename;f(m,"PACKAGE_DIRNAME",(function(){"use strict";var e=__shared__.module.safePath;return e.dirname(g)})),f(m,"PACKAGE_FILENAMES",(function(){"use strict";for(var e=__shared__.module.safePath,t=e.sep,r=this.PACKAGE_DIRNAME,i=d.length;i--;)d[i]=r+t+d[i];return d})),f(m,"PACKAGE_PARENT_NAME",(function(){"use strict";var e=__shared__.module.safePath,t=e.sep,r="string"==typeof x?x.lastIndexOf(t+"node_modules"+t):-1;if(-1===r)return"";var i=r+14,n=x.indexOf(t,i);return-1===n?"":x.slice(i,n)}));var b=m,w=b.PACKAGE_PREFIX,E=b.PACKAGE_VERSION,S=Symbol.for(w+"@"+E+":shared"),R=(function(){"use strict";if(void 0!==__shared__)return __shared__.reloaded=!1,__shared__;try{return __shared__=require(S),__shared__.reloaded=!0,__shared__}catch(e){}return e=Function.prototype.toString,r=new Proxy(class{},{[w]:1}),i={wasm:"object"==typeof WebAssembly&&null!==WebAssembly},n={_compile:Symbol.for(w+":module._compile"),entry:Symbol.for(w+":entry"),mjs:Symbol.for(w+':Module._extensions[".mjs"]'),namespace:Symbol.for(w+":namespace"),package:Symbol.for(w+":package"),proxy:Symbol.for(w+":proxy"),realGetProxyDetails:Symbol.for(w+":realGetProxyDetails"),realRequire:Symbol.for(w+":realRequire"),runtime:Symbol.for(w+":runtime"),shared:S,wrapper:Symbol.for(w+":wrapper")},s={},o={bridged:new Map,customInspectKey:void 0,defaultInspectOptions:void 0,entry:{cache:new WeakMap},external:t,inited:!1,loader:new Map,memoize:{builtinEntries:new Map,builtinModules:new Map,fsRealpath:new Map,moduleESMResolveFilename:new Map,moduleInternalFindPath:new Map,moduleInternalReadPackage:new Map,moduleStaticResolveFilename:new Map,shimFunctionPrototypeToString:new WeakMap,shimProcessBindingUtilGetProxyDetails:new Map,shimPuppeteerExecutionContextPrototypeEvaluateHandle:new WeakMap,utilGetProxyDetails:new WeakMap,utilMaskFunction:new WeakMap,utilMaxSatisfying:new Map,utilParseURL:new Map,utilProxyExports:new WeakMap,utilSatisfies:new Map,utilUnwrapOwnProxy:new WeakMap,utilUnwrapProxy:new WeakMap},module:{},moduleState:{instantiating:!1,parsing:!1,requireDepth:0,statFast:null,statSync:null},package:{dir:new Map,root:new Map},pendingScripts:new Map,pendingWrites:new Map,realpathNativeSync:void 0,reloaded:!1,safeGlobal:__global__,support:i,symbol:n,unsafeGlobal:global,utilBinding:s},f(o,"circularErrorMessage",(function(){try{var e={};e.a=e,JSON.stringify(e)}catch(e){var t=e.message;return t}})),f(o,"defaultGlobal",(function(){var e=o.module.safeVM;return new e.Script("this").runInThisContext()})),f(o,"originalConsole",(function(){var e=o.module,t=e.safeInspector,r=e.safeVM,i=e.utilGet,n=i(t,"console");return"function"==typeof n?n:new r.Script("console").runInNewContext()})),f(o,"proxyNativeSourceText",(function(){try{return e.call(r)}catch(e){}return""})),f(o,"runtimeName",(function(){var e=o.module.safeCrypto;return a("_"+e.createHash("md5").update(""+Date.now()).digest("hex").slice(0,3))})),f(o,"unsafeContext",(function(){var e=o.module,t=e.safeVM,r=e.utilPrepareContext;return r(t.createContext(o.unsafeGlobal))})),f(i,"await",(function(){var e=o.module.safeVM;try{return new e.Script("async()=>await 1").runInThisContext(),!0}catch(e){}return!1})),f(i,"consoleOptions",(function(){var e=o.module,t=e.safeProcess,r=e.utilSatisfies;return r(t.version,">=10")})),f(i,"createCachedData",(function(){var e=o.module.safeVM;return"function"==typeof e.Script.prototype.createCachedData})),f(i,"inspectProxies",(function(){var e=o.module.safeUtil,t=e.inspect(r,{depth:1,showProxy:!0});return-1!==t.indexOf("Proxy [")&&-1!==t.indexOf(w)})),f(i,"lookupShadowed",(function(){var e={__proto__:{get a(){},set a(e){}},a:1};return void 0===e.__lookupGetter__("a")&&void 0===e.__lookupSetter__("a")})),f(i,"nativeProxyReceiver",(function(){var e=o.module,t=e.SafeBuffer,r=e.utilGet,i=e.utilToString;try{var n=new Proxy(t.alloc(0),{get:function(e,t){return e[t]}});return"string"==typeof(""+n)}catch(e){return!/Illegal/.test(i(r(e,"message")))}})),f(i,"realpathNative",(function(){var e=o.module,t=e.safeProcess,r=e.utilSatisfies;return r(t.version,">=9.2")})),f(i,"replShowProxy",(function(){var e=o.module,t=e.safeProcess,r=e.utilSatisfies;return r(t.version,">=10")})),f(i,"vmCompileFunction",(function(){var e=o.module,t=e.safeProcess,r=e.utilSatisfies;return r(t.version,">=10.10")})),f(s,"errorDecoratedSymbol",(function(){var e=o.module,t=e.binding,r=e.safeProcess,i=e.utilSatisfies;return i(r.version,"<7")?"node:decorated":t.util.decorated_private_symbol})),f(s,"hiddenKeyType",(function(){return typeof s.errorDecoratedSymbol})),__shared__=o;var e,r,i,n,s,o})(),P=R.inited?R.module.utilUnapply:R.module.utilUnapply=(function(){"use strict";return function(e){return function(t,...r){return Reflect.apply(e,t,r)}}})(),_=R.inited?R.module.GenericFunction:R.module.GenericFunction=(function(){"use strict";return{bind:P(Function.prototype.bind)}})(),k=R.inited?R.module.realRequire:R.module.realRequire=(function(){"use strict";try{var e=require(R.symbol.realRequire);if("function"==typeof e)return e}catch(e){}return require})(),I=R.inited?R.module.realProcess:R.module.realProcess=k("process"),A=R.inited?R.module.utilIsObjectLike:R.module.utilIsObjectLike=(function(){"use strict";return function(e){var t=typeof e;return"function"===t||"object"===t&&null!==e}})(),N=R.inited?R.module.utilSetProperty:R.module.utilSetProperty=(function(){"use strict";var e={configurable:!0,enumerable:!0,value:void 0,writable:!0};return function(t,r,i){return!!A(t)&&(e.value=i,Reflect.defineProperty(t,r,e))}})(),C=R.inited?R.module.utilSilent:R.module.utilSilent=(function(){"use strict";return function(e){var t=Reflect.getOwnPropertyDescriptor(I,"noDeprecation");N(I,"noDeprecation",!0);try{return e()}finally{void 0===t?Reflect.deleteProperty(I,"noDeprecation"):Reflect.defineProperty(I,"noDeprecation",t)}}})(),O=R.inited?R.module.utilGetSilent:R.module.utilGetSilent=(function(){"use strict";return function(e,t){var r=C((function(){try{return e[t]}catch(e){}}));return"function"!=typeof r?r:function(...e){var t=this;return C((function(){return Reflect.apply(r,t,e)}))}}})(),T=R.inited?R.module.utilKeys:R.module.utilKeys=(function(){"use strict";return function(e){return A(e)?Object.keys(e):[]}})(),M=R.inited?R.module.utilHas:R.module.utilHas=(function(){"use strict";var e=Object.prototype.hasOwnProperty;return function(t,r){return null!=t&&e.call(t,r)}})(),L=R.inited?R.module.utilNoop:R.module.utilNoop=(function(){"use strict";return function(){}})(),D=R.inited?R.module.utilIsObject:R.module.utilIsObject=(function(){"use strict";return function(e){return"object"==typeof e&&null!==e}})(),F=R.inited?R.module.utilOwnKeys:R.module.utilOwnKeys=(function(){"use strict";return function(e){return A(e)?Reflect.ownKeys(e):[]}})(),j=R.inited?R.module.utilIsDataPropertyDescriptor:R.module.utilIsDataPropertyDescriptor=(function(){"use strict";return function(e){return D(e)&&!0===e.configurable&&!0===e.enumerable&&!0===e.writable&&M(e,"value")}})(),V=R.inited?R.module.utilSafeCopyProperty:R.module.utilSafeCopyProperty=(function(){"use strict";return function(e,t,r){if(!A(e)||!A(t))return e;var i=Reflect.getOwnPropertyDescriptor(t,r);if(void 0!==i){if(M(i,"value")){var n=i.value;Array.isArray(n)&&(i.value=Array.from(n))}j(i)?e[r]=i.value:(i.configurable=!0,M(i,"writable")&&(i.writable=!0),Reflect.defineProperty(e,r,i))}return e}})(),G=R.inited?R.module.utilSafeAssignProperties:R.module.utilSafeAssignProperties=(function(){"use strict";return function(e){for(var t=arguments.length,r=0;++r0;){var n=r[i--];if(D(n)&&!Array.isArray(n)&&t(n))return n}return null}getParentNode(e){return this.getNode(-2,e)}getValue(){var e=this.stack;return e[e.length-1]}}return B(e.prototype,null),e})(),Ae=R.inited?R.module.MagicString:R.module.MagicString=(function(){"use strict";class e{constructor(e,t,r){this.content=r,this.end=t,this.intro="",this.original=r,this.outro="",this.next=null,this.start=e}appendLeft(e){this.outro+=e}appendRight(e){this.intro+=e}contains(e){return this.startt.end;t;){if(t.contains(e))return void this._splitChunk(t,e);t=r?this.byStart.get(t.end):this.byEnd.get(t.start)}}_splitChunk(e,t){var r=e.split(t);this.byEnd.set(t,e),this.byStart.set(t,r),this.byEnd.set(r.end,r),this.lastSearchedChunk=e}toString(){for(var e=this.intro,t=this.firstChunk;t;)e+=""+t,t=t.next;return e+this.outro}}return B(t.prototype,null),t})();class Ne{constructor(e,t={}){this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null}}function Ce(e,t){"use strict";return new Ne(e,{beforeExpr:!0,binop:t})}var Oe={beforeExpr:!0},Te={startsExpr:!0},Me={};function Le(e,t={}){return t.keyword=e,Me[e]=new Ne(e,t)}var De={num:new Ne("num",Te),regexp:new Ne("regexp",Te),string:new Ne("string",Te),name:new Ne("name",Te),eof:new Ne("eof"),bracketL:new Ne("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new Ne("]"),braceL:new Ne("{",{beforeExpr:!0,startsExpr:!0}),braceR:new Ne("}"),parenL:new Ne("(",{beforeExpr:!0,startsExpr:!0}),parenR:new Ne(")"),comma:new Ne(",",Oe),semi:new Ne(";",Oe),colon:new Ne(":",Oe),dot:new Ne("."),question:new Ne("?",Oe),arrow:new Ne("=>",Oe),template:new Ne("template"),invalidTemplate:new Ne("invalidTemplate"),ellipsis:new Ne("...",Oe),backQuote:new Ne("`",Te),dollarBraceL:new Ne("${",{beforeExpr:!0,startsExpr:!0}),eq:new Ne("=",{beforeExpr:!0,isAssign:!0}),assign:new Ne("_=",{beforeExpr:!0,isAssign:!0}),incDec:new Ne("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new Ne("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Ce("||",1),logicalAND:Ce("&&",2),bitwiseOR:Ce("|",3),bitwiseXOR:Ce("^",4),bitwiseAND:Ce("&",5),equality:Ce("==/!=/===/!==",6),relational:Ce("/<=/>=",7),bitShift:Ce("<>/>>>",8),plusMin:new Ne("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Ce("%",10),star:Ce("*",10),slash:Ce("/",10),starstar:new Ne("**",{beforeExpr:!0}),_break:Le("break"),_case:Le("case",Oe),_catch:Le("catch"),_continue:Le("continue"),_debugger:Le("debugger"),_default:Le("default",Oe),_do:Le("do",{isLoop:!0,beforeExpr:!0}),_else:Le("else",Oe),_finally:Le("finally"),_for:Le("for",{isLoop:!0}),_function:Le("function",Te),_if:Le("if"),_return:Le("return",Oe),_switch:Le("switch"),_throw:Le("throw",Oe),_try:Le("try"),_var:Le("var"),_const:Le("const"),_while:Le("while",{isLoop:!0}),_with:Le("with"),_new:Le("new",{beforeExpr:!0,startsExpr:!0}),_this:Le("this",Te),_super:Le("super",Te),_class:Le("class",Te),_extends:Le("extends",Oe),_export:Le("export"),_import:Le("import"),_null:Le("null",Te),_true:Le("true",Te),_false:Le("false",Te),_in:Le("in",{beforeExpr:!0,binop:7}),_instanceof:Le("instanceof",{beforeExpr:!0,binop:7}),_typeof:Le("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:Le("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:Le("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},Fe={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},je="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",Ve={5:je,6:je+" const class extends export import super"},Ge=/^in(stanceof)?$/,Be="\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\u0560-\u0588\u05d0-\u05ea\u05ef-\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\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\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\u09fc\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\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\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-\u1878\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\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\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-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7b9\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\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",Ue="\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2-\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f",We=RegExp("["+Be+"]"),qe=RegExp("["+Be+Ue+"]");Be=Ue=null;var ze=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,477,28,11,0,9,21,190,52,76,44,33,24,27,35,30,0,12,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,26,230,43,117,63,32,0,257,0,11,39,8,0,22,0,12,39,3,3,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,270,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,68,12,0,67,12,65,1,31,6129,15,754,9486,286,82,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,15,7472,3104,541],He=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,4,9,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,280,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239];function $e(e,t){"use strict";for(var r=65536,i=0;ie)return!1;if(r+=t[i+1],r>=e)return!0}}function Ke(e,t){"use strict";return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&We.test(String.fromCharCode(e)):!1!==t&&$e(e,ze)))}function Je(e,t){"use strict";return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&qe.test(String.fromCharCode(e)):!1!==t&&($e(e,ze)||$e(e,He)))))}var Ye=/\r\n?|\n|\u2028|\u2029/,Xe=RegExp(Ye.source,"g");function Qe(e,t){"use strict";return 10===e||13===e||!t&&(8232===e||8233===e)}var Ze=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,et=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,tt=Object.prototype,rt=tt.hasOwnProperty,it=tt.toString;function nt(e,t){"use strict";return rt.call(e,t)}var st=Array.isArray||function(e){return"[object Array]"===it.call(e)};function at(e){"use strict";return RegExp("^(?:"+e.replace(/ /g,"|")+")$")}class ot{constructor(e,t){this.line=e,this.column=t}offset(e){return new ot(this.line,this.column+e)}}class ut{constructor(e,t,r){this.start=t,this.end=r,null!==e.sourceFile&&(this.source=e.sourceFile)}}function lt(e,t){"use strict";for(var r=1,i=0;;){Xe.lastIndex=i;var n=Xe.exec(e);if(!(n&&n.index=2015&&(t.ecmaVersion-=2009),null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),st(t.onToken)){var i=t.onToken;t.onToken=function(e){return i.push(e)}}return st(t.onComment)&&(t.onComment=(function(e,t){return function(r,i,n,s,a,o){var u={type:r?"Block":"Line",value:i,start:n,end:s};e.locations&&(u.loc=new ut(this,a,o)),e.ranges&&(u.range=[n,s]),t.push(u)}})(t,t.onComment)),t})(e),this.sourceFile=e.sourceFile,this.keywords=at(Ve[e.ecmaVersion>=6?6:5]);var i="";if(!e.allowReserved){for(var n=e.ecmaVersion;!(i=Fe[n]);n--);"module"===e.sourceType&&(i+=" await")}this.reservedWords=at(i);var s=(i?i+" ":"")+Fe.strict;this.reservedWordsStrict=at(s),this.reservedWordsStrictBind=at(s+" "+Fe.strictBind),this.input=t+"",this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf("\n",r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(Ye).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=De.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===e.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(pt),this.regexpState=null}parse(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)}get inFunction(){return(this.currentVarScope().flags&ht)>0}get inGenerator(){return(this.currentVarScope().flags&mt)>0}get inAsync(){return(this.currentVarScope().flags&dt)>0}get allowSuper(){return(this.currentThisScope().flags&vt)>0}get allowDirectSuper(){return(this.currentThisScope().flags>)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}inNonArrowFunction(){return(this.currentThisScope().flags&ht)>0}static extend(...e){for(var t=this,r=0;r-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var r=t?e.parenthesizedAssign:e.parenthesizedBind;r>-1&&this.raiseRecoverable(r,"Parenthesized pattern")}},bt.checkExpressionErrors=function(e,t){"use strict";if(!e)return!1;var r=e.shorthandAssign,i=e.doubleProto;if(!t)return r>=0||i>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),i>=0&&this.raiseRecoverable(i,"Redefinition of __proto__ property")},bt.checkYieldAwaitInDefaultParams=function(){"use strict";this.yieldPos&&(!this.awaitPos||this.yieldPos=9&&"SpreadElement"===e.type||this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var i,n=e.key;switch(n.type){case"Identifier":i=n.name;break;case"Literal":i=n.value+"";break;default:return}var s=e.kind;if(this.options.ecmaVersion>=6)"__proto__"===i&&"init"===s&&(t.proto&&(r&&r.doubleProto<0?r.doubleProto=n.start:this.raiseRecoverable(n.start,"Redefinition of __proto__ property")),t.proto=!0);else{i="$"+i;var a,o=t[i];o?(a="init"===s?this.strict&&o.init||o.get||o.set:o.init||o[s],a&&this.raiseRecoverable(n.start,"Redefinition of property")):o=t[i]={init:!1,get:!1,set:!1},o[s]=!0}}},St.parseExpression=function(e,t){"use strict";var r=this.start,i=this.startLoc,n=this.parseMaybeAssign(e,t);if(this.type===De.comma){var s=this.startNodeAt(r,i);for(s.expressions=[n];this.eat(De.comma);)s.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(s,"SequenceExpression")}return n},St.parseMaybeAssign=function(e,t,r){"use strict";if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(e);this.exprAllowed=!1}var i=!1,n=-1,s=-1,a=-1;t?(n=t.parenthesizedAssign,s=t.trailingComma,a=t.shorthandAssign,t.parenthesizedAssign=t.trailingComma=t.shorthandAssign=-1):(t=new Et,i=!0);var o=this.start,u=this.startLoc;this.type!==De.parenL&&this.type!==De.name||(this.potentialArrowAt=this.start);var l=this.parseMaybeConditional(e,t);if(r&&(l=r.call(this,l,o,u)),this.type.isAssign){var c=this.startNodeAt(o,u);return c.operator=this.value,c.left=this.type===De.eq?this.toAssignable(l,!1,t):l,i||Et.call(t),t.shorthandAssign=-1,this.checkLVal(l),this.next(),c.right=this.parseMaybeAssign(e),this.finishNode(c,"AssignmentExpression")}return i&&this.checkExpressionErrors(t,!0),n>-1&&(t.parenthesizedAssign=n),s>-1&&(t.trailingComma=s),a>-1&&(t.shorthandAssign=a),l},St.parseMaybeConditional=function(e,t){"use strict";var r=this.start,i=this.startLoc,n=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return n;if(this.eat(De.question)){var s=this.startNodeAt(r,i);return s.test=n,s.consequent=this.parseMaybeAssign(),this.expect(De.colon),s.alternate=this.parseMaybeAssign(e),this.finishNode(s,"ConditionalExpression")}return n},St.parseExprOps=function(e,t){"use strict";var r=this.start,i=this.startLoc,n=this.parseMaybeUnary(t,!1);return this.checkExpressionErrors(t)?n:n.start===r&&"ArrowFunctionExpression"===n.type?n:this.parseExprOp(n,r,i,-1,e)},St.parseExprOp=function(e,t,r,i,n){"use strict";var s=this.type.binop;if(null!=s&&(!n||this.type!==De._in)&&s>i){var a=this.type===De.logicalOR||this.type===De.logicalAND,o=this.value;this.next();var u=this.start,l=this.startLoc,c=this.parseExprOp(this.parseMaybeUnary(null,!1),u,l,s,n),p=this.buildBinary(t,r,e,c,o,a);return this.parseExprOp(p,t,r,i,n)}return e},St.buildBinary=function(e,t,r,i,n,s){"use strict";var a=this.startNodeAt(e,t);return a.left=r,a.operator=n,a.right=i,this.finishNode(a,s?"LogicalExpression":"BinaryExpression")},St.parseMaybeUnary=function(e,t){"use strict";var r,i=this.start,n=this.startLoc;if(this.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))r=this.parseAwait(),t=!0;else if(this.type.prefix){var s=this.startNode(),a=this.type===De.inc

Голография (от греческого, Όλοςholos — полный + γραφήgraphe — запись) — технологии для записи, воспроизведения и переформирования волновых полей.
Метод был предложен в 1948 г. Дэннисом Габором, он же ввёл термин голограмма [1] и получил «за изобретение и развитие голографического принципа» Нобелевскую премию по физике в 1971 г. [2]

Две голограммы Денисюка, восстановленные светом галогеновой лампы

Наибольшее распространение получили технические методы оптической голографии в видимой области.

История голографии[править | править код]

Первая голограмма была получена в 1947 году (задолго до изобретения лазеров) Деннисом Габором в ходе экспериментов по повышению разрешающей способности электронного микроскопа. Он же придумал само слово "голография", которым он подчеркнул полную запись оптических свойств объекта. К сожалению, его голограммы отличались низким качеством. Получить качественную голограмму без когерентного источника света невозможно.

После создания в 1960 году красных рубинового (длина волны 694 нм, работает в импульсном режиме) и гелий-неонового (длина волны 633 нм, работает непрерывно) лазеров, голография начала интенсивно развиваться.

В 1962 году была создана классическая схема записи голограмм Эмметта Лейта и Юриса Упатниекса из Мичиганского Технологического Института (голограммы Лейта-Упатниекса) [3] , в которой записываются пропускающие голограммы (при восстановлении голограммы свет пропускают через фотопластинку, хотя на практике некоторая часть света от неё отражается и также создаёт изображение, видимое с противоположной стороны).

В 1967 году рубиновым лазером был записан первый голографический портрет.

В результате длительной работы в 1968 году Юрий Николаевич Денисюк получил высококачественные (до этого времени отсутствие необходимых фотоматериалов мешало получению высокого качества) голограммы, которые восстанавливали изображение, отражая белый свет. Для этого им была разработана своя собственная схема записи голограмм. Эта схема называется схемой Денисюка, а полученные с её помощью голограммы называются голограммами Денисюка.

В 1977 году Ллойд Кросс создал так называемую мультиплексную голограмму. Она принципиально отличается от всех остальных голограмм тем, что состоит из множества (от десятков до сотен) отдельных плоских ракурсов, видимых под разными углами. Такая голограмма, естественно, не содержит полную информацию об объекте, кроме того, она, как правило, не имеет вертикального параллакса (т.е. нельзя посмотреть на объект сверху и снизу), но зато размеры записываемого объекта не ограничены длиной когерентности лазера (которая редко превышает несколько метров, а чаще всего составляет всего несколько десятков сантиметров) и размерами фотопластинки. Мало того, можно создать мультиплексную голограмму объекта, которого вовсе не существует! Например, нарисовав выдуманный объект с множества различных ракурсов. Мультиплексная голография превосходит по качеству все остальные способы создания объёмных изображений на основе отдельных ракурсов (например, линзовые растры), однако она всё равно далека от традиционных методов голографии по реалистичности.

Физические принципы голографии[править | править код]

При сложении в некоторой области пространства нескольких электромагнитных волн, имеющих близкие частоты, возникает стоячая электромагнитная волна. Для записи голограмм в определённой области пространства складывают две волны: одна из них идёт непосредственно от источника (опорная волна), а другая отражается от объекта записи (объектная волна). В области стоячей электромагнитной волны размещают фотопластинку (или иной регистрирующий материал), в результате на этой пластинке возникает сложная картина, состоящая из полос потемнения, соответствующих распределению электромагнитной энергии (интерференционной картине) в этой области пространства. Если теперь эту пластинку облучать светом с частотой колебаний близкой к частоте опорного пучка, то она преобразует эту волну в волну, близкую к объектной. Таким образом, мы будем видеть (с той или иной степенью точности) такой же поток света, какой отражался бы от объекта записи.

Способы получения голограмм[править | править код]

Схема записи Лейта-Упатниекса[править | править код]

Схема Лейта-Упатниекса

В этой схеме записи [4] луч лазера делится специальным устройством, делителем (в простейшем случае в роли делителя может выступать любой кусок стекла), на два. После этого лучи с помощью линз расширяются и с помощью зеркал направляются на объект и регистрирующую среду (например, фотопластинку). Обе волны (объектная и опорная) падают на пластинку с одной стороны. При такой схеме записи формируется пропускающая голограмма, требующая для своего восстановления источника света с той же длиной волны, на которой производилась запись, в идеале — лазера.

Схема записи Денисюка[править | править код]

Схема Денисюка

В 1962 г. русский физик Юрий Николаевич Денисюк предложил перспективный метод голографии с записью в трехмерной среде. [5] В этой схеме луч лазера расширяется линзой и зеркалом направляется на фотопластинку. Часть луча, прошедшая через неё, освещает объект. Отраженный от объекта свет формирует объектную волну. Как видно, объектная и опорная волны падают на пластинку с разных сторон (т.н. схема на встречных пучках). В этой схеме записывается отражающая голограмма, которая самостоятельно вырезает из сплошного спектра узкий участок (участки) и отражает только его (т.о. выполняя роль светофильтра). Благодаря этому изображение голограммы видно в обычном белом свете солнца или лампы (см. иллюстрацию в начале статьи). Изначально голограмма вырезает ту длину волны, на которой её записывали (однако в процессе обработки и при хранении голограммы эмульсия может менять свою толщину, при этом меняется и длина волны), что позволяет записать на одну пластинку три голограммы одного объекта красным, зелёным и синим лазерами, получив в итоге одну цветную голограмму, которую практически невозможно отличить от самого объекта.

Эта схема отличается предельной простотой и в случае применения полупроводникового лазера (имеющего крайне малые размеры и дающего расходящийся пучок без применения линз) сводится к одному лишь лазеру и некоторой основы, на которой закрепляется лазер, пластинка и объект. Именно такие схемы применяются при записи любительских голограмм.

Регистрирующие среды[править | править код]

Голография крайне требовательна к разрешающей способности фотоматериалов. Расстояние между двумя максимумами интерференционной картины того же порядка, что и длина волны лазера, последняя чаще всего составляет 632,8 нм (гелий-неоновый лазер), 532 нм (неодимовый лазер на второй гармонике), 514 нм и 488 нм (гелий-аргоновый лазер). Таким образом, это величина порядка 0.0005 мм. Чтобы получить чёткое изображение картины интерференции, потребовались регистрирующие среды с разрешающей способностью до 6000 линий на миллиметр (при записи по схеме на встречных пучках с углом схождения лучей 180°).
Регистрирующие среды подразделяются на плоские (двумерные) и объёмные (трёхмерные или толстые). Для классификации используется параметр, который иногда в литературе называют критерий Клейна:

\(Q= \frac {2\pi\lambda\cdot d}{n\cdot\Lambda^2}\),

где n — средний коэффициент преломления слоя; d — толщина слоя; λ — длина волны; Λ — расстояние между интерференционными плоскостями. Объемными (толстыми) голограммами считаются такие, у которых Q > 10. И наоборот, голограмма считается тонкой (плоской) , когда Q < 1.

Галогенсеребряные фотоматериалы[править | править код]

Основным фотоматериалом для записи голограмм являются специальные фотопластинки на основе традиционного бромида серебра. За счёт специальных присадок и специального механизма проявления удалось достичь разрешающей способности более 5000 линий на миллиметр, однако за это приходится платить крайне низкой чувствительностью пластинки и узким спектральным диапазоном (точно подобранным под излучение лазера). Чувствительность пластинок настолько низкая, что их можно выставить на несколько секунд под прямой солнечный свет без риска засветки.

Кроме того, иногда применяются фотопластинки на основе бихромированного желатина, которые обладают ещё большей разрешающей способностью, позволяют записывать очень яркие голограммы (до 90% падающего света преобразуется в изображение), однако они ещё менее чувствительны, причём они чувствительны только в области коротких волн (синий и, в меньшей степени, зелёный участки спектра).

На данный момент в мире существует только одно промышленное (кроме некоторого количества мелких) производство фотопластинок для голографии — российская «Компания Славич».

Некоторые схемы записи позволяют писать и на пластинках с меньшей разрешающей способностью, даже на обычных фотоплёнках с разрешением порядка 100 линий на миллиметр, однако эти схемы имеют массу ограничений и не обеспечивают высокого качества изображения.

Фотохромные кристаллы[править | править код]

Наряду с очевидными материалами — фотографическими мелкозернистыми галогенсеребряными средами применяются так называемые фотохромные среды: изменяющие спектр поглощения под действием записывающего света. Одними из эффективнейших среди них являются щёлочно-галоидные кристаллы, из которых наилучшие результаты были получены на аддитивно окрашенных кристаллах хлорида калия (KCl). Голограммы, записанные на таких кристаллах достигают 40 % относительной дифракционной эффективности при теоретически возможной в данной среде 60 %. При этом голограммы в данном материале существенно объёмные с толщиной до нескольких миллиметров, и могут в принципе достигать единиц сантиметров. Голографическая запись в аддитивно окрашенных кристаллах KCl базируется на фототермическом преобразовании F-центров в Х-центры, то есть фактической коалесценции одиночных анионных вакансий в более крупные кластерные образования нанометрового размера. При этом голографическая запись в таких кристаллах реверсивна и очень устойчива по времени[6].

Источники света[править | править код]

При записи голограммы крайне важно, чтобы длины (частоты) объектной и опорной волн с максимальной точностью совпадали друг с другом и не менялись в течение всего времени записи (иначе на пластинке не запишется чёткой картины интерференции). Этого можно добиться только при выполнении двух условий:

  1. обе волны изначально испущены одним источником
  2. этот источник испускает электромагнитное излучение с очень стабильной длиной волны (когерентное излучение)

Крайне удобным источником света, хорошо удовлетворяющим второму условию, является лазер. До изобретения лазеров голография практически не развивалась (вместо лазера использовали очень узкие линии в спектре испускания газоразрядных ламп, что сильно затрудняет эксперимент). На сегодняшний день голография предъявляет одни из самых жестких требований к когерентности лазеров.

Чаще всего когерентность принято характеризовать длиной когерентности — той разности оптических путей двух волн, при которой контраст интерференционной картины уменьшается в два раза по сравнению с интерференционной картиной, которую дают волны, прошедшие от источника одинаковое расстояние. Для различных лазеров длина когерентности может составлять от долей миллиметра (мощные лазеры, предназначенные для сварки, резки и других применений, не требовательных к этому параметру) до десятков метров (специальные, так называемые одночастотные, лазеры для требовательных к когерентности применений).

См. также[править | править код]

Примечания[править | править код]

Ссылки[править | править код]