-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path533.render-page.js.map
1 lines (1 loc) · 135 KB
/
533.render-page.js.map
1
{"version":3,"file":"533.render-page.js","mappings":"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CAAuC,sBAAsB;AAC7D;AACA,IAAI;;AAEJ;AACA;AACA;AACA,cAAc,KAAK;AACnB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB;AAChB;AACA;AACA;AACA,0CAA0C,mBAAmB;AAC7D;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,cAAc,GAAG;AACjB,cAAc,qBAAqB;AACnC,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,qBAAqB,MAAM;AACpD;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,KAAK;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,OAAO,cAAc,KAAK;AAC5C;AACA,OAAO;;AAEP,wBAAwB,KAAK;;AAE7B;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,KAAK;AAC5B;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA,uBAAuB,KAAK;AAC5B;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,KAAK;AAC/E;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,qBAAqB;AACnC;AACA;AACA;AACA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA,8BAA8B,KAAK;AACnC;AACA,eAAe,SAAS;AACxB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,aAAa;;AAEb;AACA;AACA,oFAAoF,8BAA8B;AAClH;AACA;AACA;AACA;AACA,aAAa,SAAS,0BAA0B,8BAA8B;AAC9E,aAAa,mBAAmB,uBAAuB,8BAA8B;AACrF;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,MAAM,8BAA8B;AACpC;AACA;AACA;AACA;AACA,sBAAsB,8BAA8B;AACpD;AACA,aAAa,YAAY;AACzB,aAAa,SAAS;AACtB,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,4BAA4B,8BAA8B;AAC1D;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,YAAY;AACrC;AACA,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA,aAAa,QAAQ;AACrB,eAAe,QAAQ;AACvB;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,SAAS;AACtB;AACA;AACA,eAAe,aAAa;AAC5B;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,mDAAmD,cAAc;AACjE;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,qBAAqB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,8BAA8B,4BAA4B;AAC1D;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;;AAGA;AACA;AACA;AACA,gBAAgB,+CAA+C;;AAE/D;AACA;AACA;AACA,YAAY,QAAQ,UAAU;AAC9B,YAAY,sBAAsB,aAAa;AAC/C,YAAY,iBAAiB;AAC7B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,cAAc;AAC9D;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C,mBAAmB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,YAAY;AACpC;AACA,YAAY,8BAA8B;AAC1C,YAAY,QAAQ;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uFAAuF;AACvF;;AAEA;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,SAAS;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB,YAAY,4BAA4B;AACxC,YAAY,KAAK;AACjB,YAAY,gCAAgC;AAC5C,YAAY,QAAQ;AACpB,YAAY,gBAAgB;AAC5B,cAAc;AACd;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,eAAe,QAAQ;AACvB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,GAAG;AAClB,eAAe,0BAA0B;AACzC,eAAe,0BAA0B;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC,eAAe;AACf,aAAa,mBAAmB;AAChC,eAAe;AACf;;AAEA,aAAa,mBAAmB;AAChC;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,eAAe;AAC3B,YAAY,mBAAmB;AAC/B,YAAY,GAAG;AACf,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B,YAAY,mBAAmB;AAC/B,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,kBAAkB,iCAAiC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe;AAC3B,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB;AACA,cAAc,SAAS;AACvB,cAAc,iBAAiB;AAC/B,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,cAAc,SAAS;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,WAAW,qBAAqB;AAChC,aAAa;AACb;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA,sBAAsB,KAAK;AAC3B;AACA,GAAG;AACH,eAAe,KAAK;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sDAAsD;AACtD;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+IAA+I,iBAAiB;AAChK;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;;AAEA,yDAAyD;AACzD;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,0BAA0B,cAAc,QAAQ,SAAS;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,0BAA0B,SAAS,YAAY,oBAAoB,oCAAoC;AACvG;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB;AACxB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,oBAAoB,IAAI;AACxB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,GAAG;AACH;AACA,qDAAqD,+JAA+J;AACpN;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mFAAmF,EAAE;AACrF,CAAC;;AAED;;AAEA;AACA;AACA;AACA,+HAA+H,IAAI,kDAAkD,EAAE;AACvL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,ufAAuf;AACvf;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,6BAA6B,OAAO,IAAI,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,QAAQ;AAC1E;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,gCAAgC,EAAE,OAAO,OAAO,IAAI,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI;AAC9E;AACA;AACA;AACA,qBAAqB,GAAG;AACxB;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY,aAAa;AACzB,YAAY,QAAQ;AACpB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,EAAE;;AAEF;AACA,uBAAuB,gBAAgB;AACvC;AACA,kBAAkB;;AAElB,kDAAkD;;AAElD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAO;AACP;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;;AAEA,4BAA4B,0BAA0B;AACtD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD,CAAC;;AAED,mCAAmC,uCAAuC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD,KAAK;AACL;AACA;AACA,8BAA8B,yBAAyB;AACvD;AACA;AACA;AACA,UAAU,kBAAkB,8BAA8B,gBAAgB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iBAAiB,mBAAmB,GAAG;AACzF;AACA,GAAG;AACH;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,iCAAiC;AAC3D;AACA,qBAAqB,EAAE,oCAAoC,EAAE;AAC7D,2BAA2B,EAAE;AAC7B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,oEAAoE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA,gCAAgC,uCA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,gCAAgC;AAC3D,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA,uBAAuB,gCAAgC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gCAAgC;AACzD;AACA;AACA;AACA;AACA;AACA,yDAAyD,YAAY;AACrE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,qDAAqD,8BAA8B,6HAA6H,sBAAsB,uBAAuB,UAAU;AACvQ;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sIAAsI,sBAAsB,sBAAsB,wBAAwB,wBAAwB;AAClO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wGAAwG,eAAe;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,sCAAsC;AAC9F,wDAAwD,sCAAsC;AAC9F;AACA,0BAA0B,sCAAsC;AAChE,+CAA+C,WAAW;AAC1D;AACA,YAAY,oBAAC,CAAC,gBAAI,IAAI,8CAA8C,yEAAyE,oBAAC,UAAU,2DAA2D,EAAE,oBAAC,WAAW,+SAA+S,GAAG,oBAAC,WAAW,cAAc;AAC7iB;AACA;AACA;AACA;AACA;AACA,WAAW,oBAAC,iCAAiC;AAC7C;AACA;AACA,0BAA0B,sCAAsC;AAChE;AACA;AACA;AACA,MAAM,oBAAC,qBAAqB,wBAAwB;AACpD,MAAM,oBAAC,UAAU,iBAAiB;AAClC;AACA;AACA;AACA,WAAW,oBAAC,UAAU,cAAc;AACpC;AACA;AACA,0BAA0B,sCAAsC;AAChE;AACA;AACA,YAAY,oBAAC,UAAU,iBAAiB,8GAA8G,oBAAC,YAAY,oBAAC,WAAW,cAAc;AAC7L;AACA;AACA,+CAA+C,kCAAkC,YAAY;AAC7F,YAAY,oBAAC,UAAU,aAAa,EAAE,oBAAC,WAAW,mBAAmB;AACrE;AACA,aAAa,OAAO,oBAAU;AAC9B,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAE4D","sources":["webpack://gatsby-starter-default/./node_modules/@deckdeckgo/highlight-code/dist/esm/deckdeckgo-highlight-code-languages-d1b78fa9.js","webpack://gatsby-starter-default/./node_modules/@deckdeckgo/highlight-code/dist/esm/deckgo-highlight-code.entry.js"],"sourcesContent":["var DeckdeckgoHighlightCodeTerminal;\n(function (DeckdeckgoHighlightCodeTerminal) {\n DeckdeckgoHighlightCodeTerminal[\"CARBON\"] = \"carbon\";\n DeckdeckgoHighlightCodeTerminal[\"UBUNTU\"] = \"ubuntu\";\n DeckdeckgoHighlightCodeTerminal[\"NONE\"] = \"none\";\n})(DeckdeckgoHighlightCodeTerminal || (DeckdeckgoHighlightCodeTerminal = {}));\n\nvar DeckdeckgoHighlightCodeCarbonTheme;\n(function (DeckdeckgoHighlightCodeCarbonTheme) {\n DeckdeckgoHighlightCodeCarbonTheme[\"3024-NIGHT\"] = \"3024-night\";\n DeckdeckgoHighlightCodeCarbonTheme[\"A11Y-DARK\"] = \"a11y-dark\";\n DeckdeckgoHighlightCodeCarbonTheme[\"BLACKBOARD\"] = \"blackboard\";\n DeckdeckgoHighlightCodeCarbonTheme[\"BASE16-DARK\"] = \"base16-dark\";\n DeckdeckgoHighlightCodeCarbonTheme[\"BASE16-LIGHT\"] = \"base16-light\";\n DeckdeckgoHighlightCodeCarbonTheme[\"COBALT\"] = \"cobalt\";\n DeckdeckgoHighlightCodeCarbonTheme[\"DRACULA\"] = \"dracula\";\n DeckdeckgoHighlightCodeCarbonTheme[\"DUOTONE\"] = \"duotone\";\n DeckdeckgoHighlightCodeCarbonTheme[\"HOPSCOTCH\"] = \"hopscotch\";\n DeckdeckgoHighlightCodeCarbonTheme[\"LUCARIO\"] = \"lucario\";\n DeckdeckgoHighlightCodeCarbonTheme[\"MATERIAL\"] = \"material\";\n DeckdeckgoHighlightCodeCarbonTheme[\"MONOKAI\"] = \"monokai\";\n DeckdeckgoHighlightCodeCarbonTheme[\"NIGHT-OWL\"] = \"night-owl\";\n DeckdeckgoHighlightCodeCarbonTheme[\"NORD\"] = \"nord\";\n DeckdeckgoHighlightCodeCarbonTheme[\"OCEANIC-NEXT\"] = \"oceanic-next\";\n DeckdeckgoHighlightCodeCarbonTheme[\"ONE-LIGHT\"] = \"one-light\";\n DeckdeckgoHighlightCodeCarbonTheme[\"ONE-DARK\"] = \"one-dark\";\n DeckdeckgoHighlightCodeCarbonTheme[\"PANDA\"] = \"panda\";\n DeckdeckgoHighlightCodeCarbonTheme[\"PARAISO\"] = \"paraiso\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SETI\"] = \"seti\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SHADES-OF-PURPLE\"] = \"shades-of-purple\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SOLARIZED-DARK\"] = \"solarized-dark\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SOLARIZED-LIGHT\"] = \"solarized-light\";\n DeckdeckgoHighlightCodeCarbonTheme[\"SYNTHWAVE\"] = \"synthwave\";\n DeckdeckgoHighlightCodeCarbonTheme[\"TWILIGHT\"] = \"twilight\";\n DeckdeckgoHighlightCodeCarbonTheme[\"VERMINAL\"] = \"verminal\";\n DeckdeckgoHighlightCodeCarbonTheme[\"VSCODE\"] = \"vscode\";\n DeckdeckgoHighlightCodeCarbonTheme[\"YETI\"] = \"yeti\";\n DeckdeckgoHighlightCodeCarbonTheme[\"ZENBURN\"] = \"zenburn\";\n})(DeckdeckgoHighlightCodeCarbonTheme || (DeckdeckgoHighlightCodeCarbonTheme = {}));\n\nconst deckdeckgoHighlightCodeLanguages = {\n markup: { title: 'Markup' },\n html: { title: 'HTML', main: 'markup' },\n xml: { title: 'XML', main: 'markup' },\n svg: { title: 'SVG', main: 'markup' },\n mathml: { title: 'MathML', main: 'markup' },\n ssml: { title: 'SSML', main: 'markup' },\n atom: { title: 'Atom', main: 'markup' },\n rss: { title: 'RSS', main: 'markup' },\n css: { title: 'CSS' },\n clike: { title: 'C-like' },\n javascript: { title: 'JavaScript' },\n js: { title: 'js', main: 'javascript' },\n abap: { title: 'ABAP' },\n abnf: { title: 'ABNF' },\n actionscript: { title: 'ActionScript' },\n ada: { title: 'Ada' },\n agda: { title: 'Agda' },\n al: { title: 'AL' },\n antlr4: { title: 'ANTLR4' },\n g4: { title: 'g4', main: 'antlr4' },\n apacheconf: { title: 'Apache Configuration' },\n apex: { title: 'Apex', require: ['sql'] },\n apl: { title: 'APL' },\n applescript: { title: 'AppleScript' },\n aql: { title: 'AQL' },\n arduino: { title: 'Arduino', require: ['cpp'] },\n ino: { title: 'ino', main: 'arduino', require: ['cpp'] },\n arff: { title: 'ARFF' },\n asciidoc: { title: 'AsciiDoc' },\n adoc: { title: 'adoc', main: 'asciidoc' },\n aspnet: { title: 'ASP.NET (C#)', require: ['markup', 'csharp'] },\n asm6502: { title: '6502 Assembly' },\n asmatmel: { title: 'Atmel AVR Assembly' },\n autohotkey: { title: 'AutoHotkey' },\n autoit: { title: 'AutoIt' },\n avisynth: { title: 'AviSynth' },\n avs: { title: 'avs', main: 'avisynth' },\n 'avro-idl': { title: 'Avro IDL' },\n avdl: { title: 'avdl', main: 'avro-idl' },\n bash: { title: 'Bash' },\n shell: { title: 'Shell', main: 'bash' },\n basic: { title: 'BASIC' },\n batch: { title: 'Batch' },\n bbcode: { title: 'BBcode' },\n shortcode: { title: 'Shortcode', main: 'bbcode' },\n bicep: { title: 'Bicep' },\n birb: { title: 'Birb' },\n bison: { title: 'Bison', require: ['c'] },\n bnf: { title: 'BNF' },\n rbnf: { title: 'RBNF', main: 'bnf' },\n brainfuck: { title: 'Brainfuck' },\n brightscript: { title: 'BrightScript' },\n bro: { title: 'Bro' },\n bsl: { title: 'BSL (1C:Enterprise)' },\n oscript: { title: 'OneScript', main: 'bsl' },\n c: { title: 'C' },\n csharp: { title: 'C#' },\n cs: { title: 'cs', main: 'csharp' },\n dotnet: { title: 'dotnet', main: 'csharp' },\n cpp: { title: 'C++', require: ['c'] },\n cfscript: { title: 'CFScript' },\n cfc: { title: 'cfc', main: 'cfscript' },\n chaiscript: { title: 'ChaiScript', require: ['cpp'] },\n cil: { title: 'CIL' },\n clojure: { title: 'Clojure' },\n cmake: { title: 'CMake' },\n cobol: { title: 'COBOL' },\n coffeescript: { title: 'CoffeeScript' },\n coffee: { title: 'coffee', main: 'coffeescript' },\n concurnas: { title: 'Concurnas' },\n conc: { title: 'conc', main: 'concurnas' },\n csp: { title: 'Content-Security-Policy' },\n coq: { title: 'Coq' },\n crystal: { title: 'Crystal', require: ['ruby'] },\n 'css-extras': { title: 'CSS Extras', require: ['css'] },\n csv: { title: 'CSV' },\n cypher: { title: 'Cypher' },\n d: { title: 'D' },\n dart: { title: 'Dart' },\n dataweave: { title: 'DataWeave' },\n dax: { title: 'DAX' },\n dhall: { title: 'Dhall' },\n diff: { title: 'Diff' },\n django: { title: 'Django/Jinja2', require: ['markup-templating'] },\n jinja2: { title: 'jinja2', main: 'django', require: ['markup-templating'] },\n 'dns-zone-file': { title: 'DNS zone file' },\n 'dns-zone': { title: 'dns-zone', main: 'dns-zone-file' },\n docker: { title: 'Docker' },\n dockerfile: { title: 'dockerfile', main: 'docker' },\n dot: { title: 'DOT (Graphviz)' },\n gv: { title: 'gv', main: 'dot' },\n ebnf: { title: 'EBNF' },\n editorconfig: { title: 'EditorConfig' },\n eiffel: { title: 'Eiffel' },\n ejs: { title: 'EJS', require: ['markup-templating'] },\n eta: { title: 'Eta', main: 'ejs', require: ['markup-templating'] },\n elixir: { title: 'Elixir' },\n elm: { title: 'Elm' },\n etlua: { title: 'Embedded Lua templating', require: ['lua', 'markup-templating'] },\n erb: { title: 'ERB', require: ['ruby', 'markup-templating'] },\n erlang: { title: 'Erlang' },\n 'excel-formula': { title: 'Excel Formula' },\n xlsx: { title: 'xlsx', main: 'excel-formula' },\n xls: { title: 'xls', main: 'excel-formula' },\n fsharp: { title: 'F#' },\n factor: { title: 'Factor' },\n false: { title: 'False' },\n 'firestore-security-rules': { title: 'Firestore security rules' },\n flow: { title: 'Flow' },\n fortran: { title: 'Fortran' },\n ftl: { title: 'FreeMarker Template Language', require: ['markup-templating'] },\n gml: { title: 'GameMaker Language' },\n gamemakerlanguage: { title: 'gamemakerlanguage', main: 'gml' },\n gap: { title: 'GAP (CAS)' },\n gcode: { title: 'G-code' },\n gdscript: { title: 'GDScript' },\n gedcom: { title: 'GEDCOM' },\n gherkin: { title: 'Gherkin' },\n git: { title: 'Git' },\n glsl: { title: 'GLSL', require: ['c'] },\n gn: { title: 'GN' },\n gni: { title: 'gni', main: 'gn' },\n go: { title: 'Go' },\n graphql: { title: 'GraphQL' },\n groovy: { title: 'Groovy' },\n haml: { title: 'Haml', require: ['ruby'] },\n handlebars: { title: 'Handlebars', require: ['markup-templating'] },\n hbs: { title: 'hbs', main: 'handlebars', require: ['markup-templating'] },\n haskell: { title: 'Haskell' },\n hs: { title: 'hs', main: 'haskell' },\n haxe: { title: 'Haxe' },\n hcl: { title: 'HCL' },\n hlsl: { title: 'HLSL', require: ['c'] },\n hoon: { title: 'Hoon' },\n http: { title: 'HTTP' },\n hpkp: { title: 'HTTP Public-Key-Pins' },\n hsts: { title: 'HTTP Strict-Transport-Security' },\n ichigojam: { title: 'IchigoJam' },\n icon: { title: 'Icon' },\n 'icu-message-format': { title: 'ICU Message Format' },\n idris: { title: 'Idris', require: ['haskell'] },\n idr: { title: 'idr', main: 'idris', require: ['haskell'] },\n ignore: { title: '.ignore' },\n gitignore: { title: '.gitignore', main: 'ignore' },\n hgignore: { title: '.hgignore', main: 'ignore' },\n npmignore: { title: '.npmignore', main: 'ignore' },\n inform7: { title: 'Inform 7' },\n ini: { title: 'Ini' },\n io: { title: 'Io' },\n j: { title: 'J' },\n java: { title: 'Java' },\n javadoc: { title: 'JavaDoc', require: ['markup', 'java', 'javadoclike'] },\n javadoclike: { title: 'JavaDoc-like' },\n javastacktrace: { title: 'Java stack trace' },\n jexl: { title: 'Jexl' },\n jolie: { title: 'Jolie' },\n jq: { title: 'JQ' },\n jsdoc: { title: 'JSDoc', require: ['javadoclike', 'typescript'] },\n 'js-extras': { title: 'JS Extras' },\n json: { title: 'JSON' },\n webmanifest: { title: 'Web App Manifest', main: 'json' },\n json5: { title: 'JSON5', require: ['json'] },\n jsonp: { title: 'JSONP', require: ['json'] },\n jsstacktrace: { title: 'JS stack trace' },\n 'js-templates': { title: 'JS Templates' },\n julia: { title: 'Julia' },\n keepalived: { title: 'Keepalived Configure' },\n keyman: { title: 'Keyman' },\n kotlin: { title: 'Kotlin' },\n kt: { title: 'kt', main: 'kotlin' },\n kts: { title: 'Kotlin Script', main: 'kotlin' },\n kumir: { title: 'KuMir (КуМир)' },\n kum: { title: 'kum', main: 'kumir' },\n kusto: { title: 'Kusto' },\n latex: { title: 'LaTeX' },\n tex: { title: 'TeX', main: 'latex' },\n context: { title: 'ConTeXt', main: 'latex' },\n latte: { title: 'Latte', require: ['markup-templating', 'php'] },\n less: { title: 'Less', require: ['css'] },\n lilypond: { title: 'LilyPond', require: ['scheme'] },\n ly: { title: 'ly', main: 'lilypond', require: ['scheme'] },\n liquid: { title: 'Liquid', require: ['markup-templating'] },\n lisp: { title: 'Lisp' },\n emacs: { title: 'emacs', main: 'lisp' },\n elisp: { title: 'elisp', main: 'lisp' },\n 'emacs-lisp': { title: 'emacs-lisp', main: 'lisp' },\n livescript: { title: 'LiveScript' },\n llvm: { title: 'LLVM IR' },\n log: { title: 'Log file' },\n lolcode: { title: 'LOLCODE' },\n lua: { title: 'Lua' },\n magma: { title: 'Magma (CAS)' },\n makefile: { title: 'Makefile' },\n markdown: { title: 'Markdown', require: ['markup'] },\n md: { title: 'md', main: 'markdown', require: ['markup'] },\n 'markup-templating': { title: 'Markup templating', require: ['markup'] },\n matlab: { title: 'MATLAB' },\n maxscript: { title: 'MAXScript' },\n mel: { title: 'MEL' },\n mermaid: { title: 'Mermaid' },\n mizar: { title: 'Mizar' },\n mongodb: { title: 'MongoDB' },\n monkey: { title: 'Monkey' },\n moonscript: { title: 'MoonScript' },\n moon: { title: 'moon', main: 'moonscript' },\n n1ql: { title: 'N1QL' },\n n4js: { title: 'N4JS' },\n n4jsd: { title: 'n4jsd', main: 'n4js' },\n 'nand2tetris-hdl': { title: 'Nand To Tetris HDL' },\n naniscript: { title: 'Naninovel Script' },\n nani: { title: 'nani', main: 'naniscript' },\n nasm: { title: 'NASM' },\n neon: { title: 'NEON' },\n nevod: { title: 'Nevod' },\n nginx: { title: 'nginx' },\n nim: { title: 'Nim' },\n nix: { title: 'Nix' },\n nsis: { title: 'NSIS' },\n objectivec: { title: 'Objective-C', require: ['c'] },\n objc: { title: 'objc', main: 'objectivec', require: ['c'] },\n ocaml: { title: 'OCaml' },\n opencl: { title: 'OpenCL', require: ['c'] },\n openqasm: { title: 'OpenQasm' },\n qasm: { title: 'qasm', main: 'openqasm' },\n oz: { title: 'Oz' },\n parigp: { title: 'PARI/GP' },\n parser: { title: 'Parser', require: ['markup'] },\n pascal: { title: 'Pascal' },\n objectpascal: { title: 'Object Pascal', main: 'pascal' },\n pascaligo: { title: 'Pascaligo' },\n psl: { title: 'PATROL Scripting Language' },\n pcaxis: { title: 'PC-Axis' },\n px: { title: 'px', main: 'pcaxis' },\n peoplecode: { title: 'PeopleCode' },\n pcode: { title: 'pcode', main: 'peoplecode' },\n perl: { title: 'Perl' },\n php: { title: 'PHP', require: ['markup-templating'] },\n phpdoc: { title: 'PHPDoc', require: ['php', 'javadoclike'] },\n 'php-extras': { title: 'PHP Extras', require: ['php'] },\n plsql: { title: 'PL/SQL', require: ['sql'] },\n powerquery: { title: 'PowerQuery' },\n pq: { title: 'pq', main: 'powerquery' },\n mscript: { title: 'mscript', main: 'powerquery' },\n powershell: { title: 'PowerShell' },\n processing: { title: 'Processing' },\n prolog: { title: 'Prolog' },\n promql: { title: 'PromQL' },\n properties: { title: '.properties' },\n protobuf: { title: 'Protocol Buffers' },\n pug: { title: 'Pug', require: ['markup'] },\n puppet: { title: 'Puppet' },\n pure: { title: 'Pure' },\n purebasic: { title: 'PureBasic' },\n pbfasm: { title: 'pbfasm', main: 'purebasic' },\n purescript: { title: 'PureScript', require: ['haskell'] },\n purs: { title: 'purs', main: 'purescript', require: ['haskell'] },\n python: { title: 'Python' },\n py: { title: 'py', main: 'python' },\n qsharp: { title: 'Q#' },\n qs: { title: 'qs', main: 'qsharp' },\n q: { title: 'Q (kdb+ database)' },\n qml: { title: 'QML' },\n qore: { title: 'Qore' },\n r: { title: 'R' },\n racket: { title: 'Racket', require: ['scheme'] },\n rkt: { title: 'rkt', main: 'racket', require: ['scheme'] },\n cshtml: { title: 'Razor C#', require: ['markup', 'csharp'] },\n razor: { title: 'razor', main: 'cshtml', require: ['markup', 'csharp'] },\n jsx: { title: 'React JSX', require: ['markup'] },\n tsx: { title: 'React TSX', require: ['jsx', 'typescript'] },\n reason: { title: 'Reason' },\n regex: { title: 'Regex' },\n rego: { title: 'Rego' },\n renpy: { title: \"Ren'py\" },\n rpy: { title: 'rpy', main: 'renpy' },\n rest: { title: 'reST (reStructuredText)' },\n rip: { title: 'Rip' },\n roboconf: { title: 'Roboconf' },\n robotframework: { title: 'Robot Framework' },\n robot: { title: 'robot', main: 'robotframework' },\n ruby: { title: 'Ruby' },\n rb: { title: 'rb', main: 'ruby' },\n rust: { title: 'Rust' },\n sas: { title: 'SAS' },\n sass: { title: 'Sass (Sass)', require: ['css'] },\n scss: { title: 'Sass (Scss)', require: ['css'] },\n scala: { title: 'Scala', require: ['java'] },\n scheme: { title: 'Scheme' },\n 'shell-session': { title: 'Shell session', require: ['bash'] },\n 'sh-session': { title: 'sh-session', main: 'shell-session', require: ['bash'] },\n shellsession: { title: 'shellsession', main: 'shell-session', require: ['bash'] },\n smali: { title: 'Smali' },\n smalltalk: { title: 'Smalltalk' },\n smarty: { title: 'Smarty', require: ['markup-templating'] },\n sml: { title: 'SML' },\n smlnj: { title: 'SML/NJ', main: 'sml' },\n solidity: { title: 'Solidity (Ethereum)' },\n sol: { title: 'sol', main: 'solidity' },\n 'solution-file': { title: 'Solution file' },\n sln: { title: 'sln', main: 'solution-file' },\n soy: { title: 'Soy (Closure Template)', require: ['markup-templating'] },\n sparql: { title: 'SPARQL', require: ['turtle'] },\n rq: { title: 'rq', main: 'sparql', require: ['turtle'] },\n 'splunk-spl': { title: 'Splunk SPL' },\n sqf: { title: 'SQF: Status Quo Function (Arma 3)' },\n sql: { title: 'SQL' },\n squirrel: { title: 'Squirrel' },\n stan: { title: 'Stan' },\n iecst: { title: 'Structured Text (IEC 61131-3)' },\n stylus: { title: 'Stylus' },\n swift: { title: 'Swift' },\n systemd: { title: 'Systemd configuration file' },\n 't4-templating': { title: 'T4 templating' },\n 't4-cs': { title: 'T4 Text Templates (C#)', require: ['t4-templating', 'csharp'] },\n t4: { title: 't4', main: 't4-cs', require: ['t4-templating', 'csharp'] },\n 't4-vb': { title: 'T4 Text Templates (VB)', require: ['t4-templating', 'vbnet'] },\n tap: { title: 'TAP', require: ['yaml'] },\n tcl: { title: 'Tcl' },\n tt2: { title: 'Template Toolkit 2', require: ['markup-templating'] },\n textile: { title: 'Textile', require: ['markup'] },\n toml: { title: 'TOML' },\n tremor: { title: 'Tremor' },\n trickle: { title: 'trickle', main: 'tremor' },\n troy: { title: 'troy', main: 'tremor' },\n turtle: { title: 'Turtle' },\n trig: { title: 'TriG', main: 'turtle' },\n twig: { title: 'Twig', require: ['markup'] },\n typescript: { title: 'TypeScript' },\n ts: { title: 'ts', main: 'typescript' },\n typoscript: { title: 'TypoScript' },\n tsconfig: { title: 'TSConfig', main: 'typoscript' },\n unrealscript: { title: 'UnrealScript' },\n uscript: { title: 'uscript', main: 'unrealscript' },\n uc: { title: 'uc', main: 'unrealscript' },\n uri: { title: 'URI' },\n url: { title: 'URL', main: 'uri' },\n v: { title: 'V' },\n vala: { title: 'Vala' },\n vbnet: { title: 'VB.Net', require: ['basic'] },\n velocity: { title: 'Velocity', require: ['markup'] },\n verilog: { title: 'Verilog' },\n vhdl: { title: 'VHDL' },\n vim: { title: 'vim' },\n 'visual-basic': { title: 'Visual Basic' },\n vb: { title: 'vb', main: 'visual-basic' },\n vba: { title: 'VBA', main: 'visual-basic' },\n warpscript: { title: 'WarpScript' },\n wasm: { title: 'WebAssembly' },\n 'web-idl': { title: 'Web IDL' },\n webidl: { title: 'webidl', main: 'web-idl' },\n wiki: { title: 'Wiki markup', require: ['markup'] },\n wolfram: { title: 'Wolfram language' },\n mathematica: { title: 'Mathematica', main: 'wolfram' },\n nb: { title: 'Mathematica Notebook', main: 'wolfram' },\n wl: { title: 'wl', main: 'wolfram' },\n wren: { title: 'Wren' },\n xeora: { title: 'Xeora', require: ['markup'] },\n xeoracube: { title: 'XeoraCube', main: 'xeora', require: ['markup'] },\n 'xml-doc': { title: 'XML doc (.net)', require: ['markup'] },\n xojo: { title: 'Xojo (REALbasic)' },\n xquery: { title: 'XQuery', require: ['markup'] },\n yaml: { title: 'YAML' },\n yml: { title: 'yml', main: 'yaml' },\n yang: { title: 'YANG' },\n zig: { title: 'Zig' }\n};\n\nexport { DeckdeckgoHighlightCodeTerminal as D, DeckdeckgoHighlightCodeCarbonTheme as a, deckdeckgoHighlightCodeLanguages as d };\n","import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-b28ed814.js';\nimport { a as DeckdeckgoHighlightCodeCarbonTheme, D as DeckdeckgoHighlightCodeTerminal, d as deckdeckgoHighlightCodeLanguages } from './deckdeckgo-highlight-code-languages-d1b78fa9.js';\n\nfunction f(e,n){let t;return (...i)=>{let r=()=>e(...i);t&&clearTimeout(t),t=setTimeout(r,n&&n>0?n:300);}}function L(e,n){return new Promise((t,i)=>{if(document.getElementById(e)){t(\"CSS already loaded.\");return}let r=document.createElement(\"link\");r.id=e,r.setAttribute(\"rel\",\"stylesheet\"),r.setAttribute(\"href\",n),r.addEventListener(\"load\",()=>t(\"CSS loaded.\")),r.addEventListener(\"error\",()=>i(\"Error loading css.\")),r.addEventListener(\"abort\",()=>i(\"CSS loading aborted.\")),document.head.appendChild(r);})}\n\nfunction loadTheme(theme) {\n if (!theme || theme === undefined) {\n return undefined;\n }\n switch (theme) {\n case DeckdeckgoHighlightCodeCarbonTheme['3024-NIGHT']:\n return import('./3024-night-3717f6e5.js');\n case DeckdeckgoHighlightCodeCarbonTheme['A11Y-DARK']:\n return import('./a11y-dark-22265427.js');\n case DeckdeckgoHighlightCodeCarbonTheme['BASE16-DARK']:\n return import('./base16-dark-8d7c311e.js');\n case DeckdeckgoHighlightCodeCarbonTheme['BASE16-LIGHT']:\n return import('./base16-light-01b62ded.js');\n case DeckdeckgoHighlightCodeCarbonTheme.BLACKBOARD:\n return import('./blackboard-b04f8d31.js');\n case DeckdeckgoHighlightCodeCarbonTheme.COBALT:\n return import('./cobalt-aacac248.js');\n case DeckdeckgoHighlightCodeCarbonTheme.DUOTONE:\n return import('./duotone-32fdb092.js');\n case DeckdeckgoHighlightCodeCarbonTheme.HOPSCOTCH:\n return import('./hopscotch-d546eaac.js');\n case DeckdeckgoHighlightCodeCarbonTheme.LUCARIO:\n return import('./lucario-4ed868c1.js');\n case DeckdeckgoHighlightCodeCarbonTheme.MATERIAL:\n return import('./material-8754dbee.js');\n case DeckdeckgoHighlightCodeCarbonTheme.MONOKAI:\n return import('./monokai-629c48a4.js');\n case DeckdeckgoHighlightCodeCarbonTheme['NIGHT-OWL']:\n return import('./night-owl-21406bee.js');\n case DeckdeckgoHighlightCodeCarbonTheme.NORD:\n return import('./nord-95d3cd49.js');\n case DeckdeckgoHighlightCodeCarbonTheme['OCEANIC-NEXT']:\n return import('./oceanic-next-0195fab9.js');\n case DeckdeckgoHighlightCodeCarbonTheme['ONE-DARK']:\n return import('./one-dark-13137631.js');\n case DeckdeckgoHighlightCodeCarbonTheme['ONE-LIGHT']:\n return import('./one-light-ba402c6a.js');\n case DeckdeckgoHighlightCodeCarbonTheme.PANDA:\n return import('./panda-8d3100d3.js');\n case DeckdeckgoHighlightCodeCarbonTheme.PARAISO:\n return import('./paraiso-04a3b991.js');\n case DeckdeckgoHighlightCodeCarbonTheme.SETI:\n return import('./seti-f82fd092.js');\n case DeckdeckgoHighlightCodeCarbonTheme['SHADES-OF-PURPLE']:\n return import('./shades-of-purple-2be1efc9.js');\n case DeckdeckgoHighlightCodeCarbonTheme['SOLARIZED-DARK']:\n return import('./solarized-dark-71a5e422.js');\n case DeckdeckgoHighlightCodeCarbonTheme['SOLARIZED-LIGHT']:\n return import('./solarized-light-d6bd38c3.js');\n case DeckdeckgoHighlightCodeCarbonTheme.SYNTHWAVE:\n return import('./synthwave-93032cb3.js');\n case DeckdeckgoHighlightCodeCarbonTheme.TWILIGHT:\n return import('./twilight-f8fdf84f.js');\n case DeckdeckgoHighlightCodeCarbonTheme.VERMINAL:\n return import('./verminal-53286fae.js');\n case DeckdeckgoHighlightCodeCarbonTheme.VSCODE:\n return import('./vscode-c9a3f0c1.js');\n case DeckdeckgoHighlightCodeCarbonTheme.YETI:\n return import('./yeti-3f36b336.js');\n case DeckdeckgoHighlightCodeCarbonTheme.ZENBURN:\n return import('./zenburn-9d88a90e.js');\n default:\n return import('./dracula-ab3aab94.js');\n }\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, basedir, module) {\n\treturn module = {\n\t\tpath: basedir,\n\t\texports: {},\n\t\trequire: function (path, base) {\n\t\t\treturn commonjsRequire();\n\t\t}\n\t}, fn(module, module.exports), module.exports;\n}\n\nfunction commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n}\n\nvar prism = createCommonjsModule(function (module) {\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// <reference lib=\"WebWorker\"/>\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new <script> to load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tmanual: _self.Prism && _self.Prism.manual,\n\t\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the name of the type of the given value.\n\t\t\t *\n\t\t\t * @param {any} o\n\t\t\t * @returns {string}\n\t\t\t * @example\n\t\t\t * type(null) === 'Null'\n\t\t\t * type(undefined) === 'Undefined'\n\t\t\t * type(123) === 'Number'\n\t\t\t * type('foo') === 'String'\n\t\t\t * type(true) === 'Boolean'\n\t\t\t * type([1, 2]) === 'Array'\n\t\t\t * type({}) === 'Object'\n\t\t\t * type(String) === 'Function'\n\t\t\t * type(/abc+/) === 'RegExp'\n\t\t\t */\n\t\t\ttype: function (o) {\n\t\t\t\treturn Object.prototype.toString.call(o).slice(8, -1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns a unique number for the given object. Later calls will still return the same number.\n\t\t\t *\n\t\t\t * @param {Object} obj\n\t\t\t * @returns {number}\n\t\t\t */\n\t\t\tobjId: function (obj) {\n\t\t\t\tif (!obj['__id']) {\n\t\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t\t}\n\t\t\t\treturn obj['__id'];\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Creates a deep clone of the given object.\n\t\t\t *\n\t\t\t * The main intended use of this function is to clone language definitions.\n\t\t\t *\n\t\t\t * @param {T} o\n\t\t\t * @param {Record<number, any>} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record<string, any>} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element && !lang.test(element.className)) {\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\tif (element) {\n\t\t\t\t\treturn (element.className.match(lang) || [, 'none'])[1].toLowerCase();\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the script element that is currently executing.\n\t\t\t *\n\t\t\t * This does __not__ work for line script element.\n\t\t\t *\n\t\t\t * @returns {HTMLScriptElement | null}\n\t\t\t */\n\t\t\tcurrentScript: function () {\n\t\t\t\tif (typeof document === 'undefined') {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n\t\t\t\t\treturn /** @type {any} */ (document.currentScript);\n\t\t\t\t}\n\n\t\t\t\t// IE11 workaround\n\t\t\t\t// we'll get the src of the current script by parsing IE11's error stack trace\n\t\t\t\t// this will not work for inline scripts\n\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Get file src url from stack. Specifically works with the format of stack traces in IE.\n\t\t\t\t\t// A stack will look like this:\n\t\t\t\t\t//\n\t\t\t\t\t// Error\n\t\t\t\t\t// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n\t\t\t\t\t// at Global code (http://localhost/components/prism-core.js:606:1)\n\n\t\t\t\t\tvar src = (/at [^(\\r\\n]*\\((.*):.+:.+\\)$/i.exec(err.stack) || [])[1];\n\t\t\t\t\tif (src) {\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script');\n\t\t\t\t\t\tfor (var i in scripts) {\n\t\t\t\t\t\t\tif (scripts[i].src == src) {\n\t\t\t\t\t\t\t\treturn scripts[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n\t\t\t * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n\t\t\t * this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.markup.style = {\n\t\t\t * // token\n\t\t\t * };\n\t\t\t * ```\n\t\t\t *\n\t\t\t * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n\t\t\t * before existing tokens. For the CSS example above, you would use it like this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'cdata', {\n\t\t\t * 'style': {\n\t\t\t * // token\n\t\t\t * }\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Special cases\n\t\t\t *\n\t\t\t * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n\t\t\t * will be ignored.\n\t\t\t *\n\t\t\t * This behavior can be used to insert tokens after `before`:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'comment', {\n\t\t\t * 'comment': Prism.languages.markup.comment,\n\t\t\t * // tokens after 'comment'\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Limitations\n\t\t\t *\n\t\t\t * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n\t\t\t * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n\t\t\t * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n\t\t\t * deleting properties which is necessary to insert at arbitrary positions.\n\t\t\t *\n\t\t\t * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n\t\t\t * Instead, it will create a new object and replace all references to the target object with the new one. This\n\t\t\t * can be done without temporarily deleting properties, so the iteration order is well-defined.\n\t\t\t *\n\t\t\t * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n\t\t\t * you hold the target object in a variable, then the value of the variable will not change.\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * var oldMarkup = Prism.languages.markup;\n\t\t\t * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n\t\t\t *\n\t\t\t * assert(oldMarkup !== Prism.languages.markup);\n\t\t\t * assert(newMarkup === Prism.languages.markup);\n\t\t\t * ```\n\t\t\t *\n\t\t\t * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n\t\t\t * object to be modified.\n\t\t\t * @param {string} before The key to insert before.\n\t\t\t * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n\t\t\t * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n\t\t\t * object to be modified.\n\t\t\t *\n\t\t\t * Defaults to `Prism.languages`.\n\t\t\t * @returns {Grammar} The new grammar object.\n\t\t\t * @public\n\t\t\t */\n\t\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\t\troot = root || /** @type {any} */ (_.languages);\n\t\t\t\tvar grammar = root[inside];\n\t\t\t\t/** @type {Grammar} */\n\t\t\t\tvar ret = {};\n\n\t\t\t\tfor (var token in grammar) {\n\t\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\t\tif (token == before) {\n\t\t\t\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Do not insert token which also occur in insert. See #1525\n\t\t\t\t\t\tif (!insert.hasOwnProperty(token)) {\n\t\t\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar old = root[inside];\n\t\t\t\troot[inside] = ret;\n\n\t\t\t\t// Update references in other language definitions\n\t\t\t\t_.languages.DFS(_.languages, function (key, value) {\n\t\t\t\t\tif (value === old && key != inside) {\n\t\t\t\t\t\tthis[key] = ret;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn ret;\n\t\t\t},\n\n\t\t\t// Traverse a language definition with Depth First Search\n\t\t\tDFS: function DFS(o, callback, type, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar objId = _.util.objId;\n\n\t\t\t\tfor (var i in o) {\n\t\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\t\tvar property = o[i];\n\t\t\t\t\t\tvar propertyType = _.util.type(property);\n\n\t\t\t\t\t\tif (propertyType === 'Object' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, null, visited);\n\t\t\t\t\t\t} else if (propertyType === 'Array' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, i, visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tplugins: {},\n\n\t\t/**\n\t\t * This is the most high-level function in Prism’s API.\n\t\t * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n\t\t * each one of them.\n\t\t *\n\t\t * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n\t\t *\n\t\t * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAll: function (async, callback) {\n\t\t\t_.highlightAllUnder(document, async, callback);\n\t\t},\n\n\t\t/**\n\t\t * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n\t\t * {@link Prism.highlightElement} on each one of them.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-highlightall`\n\t\t * 2. `before-all-elements-highlight`\n\t\t * 3. All hooks of {@link Prism.highlightElement} for each element.\n\t\t *\n\t\t * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n\t\t * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAllUnder: function (container, async, callback) {\n\t\t\tvar env = {\n\t\t\t\tcallback: callback,\n\t\t\t\tcontainer: container,\n\t\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t\t};\n\n\t\t\t_.hooks.run('before-highlightall', env);\n\n\t\t\tenv.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n\t\t\t_.hooks.run('before-all-elements-highlight', env);\n\n\t\t\tfor (var i = 0, element; (element = env.elements[i++]);) {\n\t\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Highlights the code inside a single element.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-sanity-check`\n\t\t * 2. `before-highlight`\n\t\t * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.\n\t\t * 4. `before-insert`\n\t\t * 5. `after-highlight`\n\t\t * 6. `complete`\n\t\t *\n\t\t * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for\n\t\t * the element's language.\n\t\t *\n\t\t * @param {Element} element The element containing the code.\n\t\t * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n\t\t * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n\t\t * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n\t\t * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n\t\t *\n\t\t * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n\t\t * asynchronous highlighting to work. You can build your own bundle on the\n\t\t * [Download page](https://prismjs.com/download.html).\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n\t\t * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightElement: function (element, async, callback) {\n\t\t\t// Find language\n\t\t\tvar language = _.util.getLanguage(element);\n\t\t\tvar grammar = _.languages[language];\n\n\t\t\t// Set language on the element, if not present\n\t\t\telement.className = element.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language;\n\n\t\t\t// Set language on the parent, for styling\n\t\t\tvar parent = element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre') {\n\t\t\t\tparent.className = parent.className.replace(lang, '').replace(/\\s+/g, ' ') + ' language-' + language;\n\t\t\t}\n\n\t\t\tvar code = element.textContent;\n\n\t\t\tvar env = {\n\t\t\t\telement: element,\n\t\t\t\tlanguage: language,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tcode: code\n\t\t\t};\n\n\t\t\tfunction insertHighlightedCode(highlightedCode) {\n\t\t\t\tenv.highlightedCode = highlightedCode;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t}\n\n\t\t\t_.hooks.run('before-sanity-check', env);\n\n\t\t\t// plugins may change/add the parent/element\n\t\t\tparent = env.element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n\t\t\t\tparent.setAttribute('tabindex', '0');\n\t\t\t}\n\n\t\t\tif (!env.code) {\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_.hooks.run('before-highlight', env);\n\n\t\t\tif (!env.grammar) {\n\t\t\t\tinsertHighlightedCode(_.util.encode(env.code));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (async && _self.Worker) {\n\t\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\t\tworker.onmessage = function (evt) {\n\t\t\t\t\tinsertHighlightedCode(evt.data);\n\t\t\t\t};\n\n\t\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\t\tlanguage: env.language,\n\t\t\t\t\tcode: env.code,\n\t\t\t\t\timmediateClose: true\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tinsertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns a string with the HTML produced.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-tokenize`\n\t\t * 2. `after-tokenize`\n\t\t * 3. `wrap`: On each {@link Token}.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @param {string} language The name of the language definition passed to `grammar`.\n\t\t * @returns {string} The highlighted HTML.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n\t\t */\n\t\thighlight: function (text, grammar, language) {\n\t\t\tvar env = {\n\t\t\t\tcode: text,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tlanguage: language\n\t\t\t};\n\t\t\t_.hooks.run('before-tokenize', env);\n\t\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t\t_.hooks.run('after-tokenize', env);\n\t\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t\t},\n\n\t\t/**\n\t\t * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns an array with the tokenized code.\n\t\t *\n\t\t * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n\t\t *\n\t\t * This method could be useful in other contexts as well, as a very crude parser.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @returns {TokenStream} An array of strings and tokens, a token stream.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * let code = `var foo = 0;`;\n\t\t * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n\t\t * tokens.forEach(token => {\n\t\t * if (token instanceof Prism.Token && token.type === 'number') {\n\t\t * console.log(`Found numeric literal: ${token.content}`);\n\t\t * }\n\t\t * });\n\t\t */\n\t\ttokenize: function (text, grammar) {\n\t\t\tvar rest = grammar.rest;\n\t\t\tif (rest) {\n\t\t\t\tfor (var token in rest) {\n\t\t\t\t\tgrammar[token] = rest[token];\n\t\t\t\t}\n\n\t\t\t\tdelete grammar.rest;\n\t\t\t}\n\n\t\t\tvar tokenList = new LinkedList();\n\t\t\taddAfter(tokenList, tokenList.head, text);\n\n\t\t\tmatchGrammar(text, tokenList, grammar, tokenList.head, 0);\n\n\t\t\treturn toArray(tokenList);\n\t\t},\n\n\t\t/**\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thooks: {\n\t\t\tall: {},\n\n\t\t\t/**\n\t\t\t * Adds the given callback to the list of callbacks for the given hook.\n\t\t\t *\n\t\t\t * The callback will be invoked when the hook it is registered for is run.\n\t\t\t * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n\t\t\t *\n\t\t\t * One callback function can be registered to multiple hooks and the same hook multiple times.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {HookCallback} callback The callback function which is given environment variables.\n\t\t\t * @public\n\t\t\t */\n\t\t\tadd: function (name, callback) {\n\t\t\t\tvar hooks = _.hooks.all;\n\n\t\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\t\thooks[name].push(callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Runs a hook invoking all registered callbacks with the given environment variables.\n\t\t\t *\n\t\t\t * Callbacks will be invoked synchronously and in the order in which they were registered.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n\t\t\t * @public\n\t\t\t */\n\t\t\trun: function (name, env) {\n\t\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, callback; (callback = callbacks[i++]);) {\n\t\t\t\t\tcallback(env);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tToken: Token\n\t};\n\t_self.Prism = _;\n\n\n\t// Typescript note:\n\t// The following can be used to import the Token type in JSDoc:\n\t//\n\t// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n\t/**\n\t * Creates a new token.\n\t *\n\t * @param {string} type See {@link Token#type type}\n\t * @param {string | TokenStream} content See {@link Token#content content}\n\t * @param {string|string[]} [alias] The alias(es) of the token.\n\t * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n\t * @class\n\t * @global\n\t * @public\n\t */\n\tfunction Token(type, content, alias, matchedStr) {\n\t\t/**\n\t\t * The type of the token.\n\t\t *\n\t\t * This is usually the key of a pattern in a {@link Grammar}.\n\t\t *\n\t\t * @type {string}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.type = type;\n\t\t/**\n\t\t * The strings or tokens contained by this token.\n\t\t *\n\t\t * This will be a token stream if the pattern matched also defined an `inside` grammar.\n\t\t *\n\t\t * @type {string | TokenStream}\n\t\t * @public\n\t\t */\n\t\tthis.content = content;\n\t\t/**\n\t\t * The alias(es) of the token.\n\t\t *\n\t\t * @type {string|string[]}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.alias = alias;\n\t\t// Copy of the full string this token was created from\n\t\tthis.length = (matchedStr || '').length | 0;\n\t}\n\n\t/**\n\t * A token stream is an array of strings and {@link Token Token} objects.\n\t *\n\t * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n\t * them.\n\t *\n\t * 1. No adjacent strings.\n\t * 2. No empty strings.\n\t *\n\t * The only exception here is the token stream that only contains the empty string and nothing else.\n\t *\n\t * @typedef {Array<string | Token>} TokenStream\n\t * @global\n\t * @public\n\t */\n\n\t/**\n\t * Converts the given token or token stream to an HTML representation.\n\t *\n\t * The following hooks will be run:\n\t * 1. `wrap`: On each {@link Token}.\n\t *\n\t * @param {string | Token | TokenStream} o The token or token stream to be converted.\n\t * @param {string} language The name of current language.\n\t * @returns {string} The HTML representation of the token or token stream.\n\t * @memberof Token\n\t * @static\n\t */\n\tToken.stringify = function stringify(o, language) {\n\t\tif (typeof o == 'string') {\n\t\t\treturn o;\n\t\t}\n\t\tif (Array.isArray(o)) {\n\t\t\tvar s = '';\n\t\t\to.forEach(function (e) {\n\t\t\t\ts += stringify(e, language);\n\t\t\t});\n\t\t\treturn s;\n\t\t}\n\n\t\tvar env = {\n\t\t\ttype: o.type,\n\t\t\tcontent: stringify(o.content, language),\n\t\t\ttag: 'span',\n\t\t\tclasses: ['token', o.type],\n\t\t\tattributes: {},\n\t\t\tlanguage: language\n\t\t};\n\n\t\tvar aliases = o.alias;\n\t\tif (aliases) {\n\t\t\tif (Array.isArray(aliases)) {\n\t\t\t\tArray.prototype.push.apply(env.classes, aliases);\n\t\t\t} else {\n\t\t\t\tenv.classes.push(aliases);\n\t\t\t}\n\t\t}\n\n\t\t_.hooks.run('wrap', env);\n\n\t\tvar attributes = '';\n\t\tfor (var name in env.attributes) {\n\t\t\tattributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t\t}\n\n\t\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n\t};\n\n\t/**\n\t * @param {RegExp} pattern\n\t * @param {number} pos\n\t * @param {string} text\n\t * @param {boolean} lookbehind\n\t * @returns {RegExpExecArray | null}\n\t */\n\tfunction matchPattern(pattern, pos, text, lookbehind) {\n\t\tpattern.lastIndex = pos;\n\t\tvar match = pattern.exec(text);\n\t\tif (match && lookbehind && match[1]) {\n\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\tvar lookbehindLength = match[1].length;\n\t\t\tmatch.index += lookbehindLength;\n\t\t\tmatch[0] = match[0].slice(lookbehindLength);\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @param {string} text\n\t * @param {LinkedList<string | Token>} tokenList\n\t * @param {any} grammar\n\t * @param {LinkedListNode<string | Token>} startNode\n\t * @param {number} startPos\n\t * @param {RematchOptions} [rematch]\n\t * @returns {void}\n\t * @private\n\t *\n\t * @typedef RematchOptions\n\t * @property {string} cause\n\t * @property {number} reach\n\t */\n\tfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n\t\tfor (var token in grammar) {\n\t\t\tif (!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tif (rematch && rematch.cause == token + ',' + j) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar patternObj = patterns[j];\n\t\t\t\tvar inside = patternObj.inside;\n\t\t\t\tvar lookbehind = !!patternObj.lookbehind;\n\t\t\t\tvar greedy = !!patternObj.greedy;\n\t\t\t\tvar alias = patternObj.alias;\n\n\t\t\t\tif (greedy && !patternObj.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n\t\t\t\t\tpatternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n\t\t\t\t}\n\n\t\t\t\t/** @type {RegExp} */\n\t\t\t\tvar pattern = patternObj.pattern || patternObj;\n\n\t\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\t\tvar currentNode = startNode.next, pos = startPos;\n\t\t\t\t\tcurrentNode !== tokenList.tail;\n\t\t\t\t\tpos += currentNode.value.length, currentNode = currentNode.next\n\t\t\t\t) {\n\n\t\t\t\t\tif (rematch && pos >= rematch.reach) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar str = currentNode.value;\n\n\t\t\t\t\tif (tokenList.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeCount = 1; // this is the to parameter of removeBetween\n\t\t\t\t\tvar match;\n\n\t\t\t\t\tif (greedy) {\n\t\t\t\t\t\tmatch = matchPattern(pattern, pos, text, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index;\n\t\t\t\t\t\tvar to = match.index + match[0].length;\n\t\t\t\t\t\tvar p = pos;\n\n\t\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\twhile (from >= p) {\n\t\t\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// adjust pos (and p)\n\t\t\t\t\t\tp -= currentNode.value.length;\n\t\t\t\t\t\tpos = p;\n\n\t\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (currentNode.value instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar k = currentNode;\n\t\t\t\t\t\t\tk !== tokenList.tail && (p < to || typeof k.value === 'string');\n\t\t\t\t\t\t\tk = k.next\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveCount++;\n\t\t\t\t\t\t\tp += k.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremoveCount--;\n\n\t\t\t\t\t\t// replace with the new match\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmatch = matchPattern(pattern, 0, str, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line no-redeclare\n\t\t\t\t\tvar from = match.index;\n\t\t\t\t\tvar matchStr = match[0];\n\t\t\t\t\tvar before = str.slice(0, from);\n\t\t\t\t\tvar after = str.slice(from + matchStr.length);\n\n\t\t\t\t\tvar reach = pos + str.length;\n\t\t\t\t\tif (rematch && reach > rematch.reach) {\n\t\t\t\t\t\trematch.reach = reach;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeFrom = currentNode.prev;\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\tremoveFrom = addAfter(tokenList, removeFrom, before);\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t}\n\n\t\t\t\t\tremoveRange(tokenList, removeFrom, removeCount);\n\n\t\t\t\t\tvar wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n\t\t\t\t\tcurrentNode = addAfter(tokenList, removeFrom, wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\taddAfter(tokenList, currentNode, after);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (removeCount > 1) {\n\t\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\t\t/** @type {RematchOptions} */\n\t\t\t\t\t\tvar nestedRematch = {\n\t\t\t\t\t\t\tcause: token + ',' + j,\n\t\t\t\t\t\t\treach: reach\n\t\t\t\t\t\t};\n\t\t\t\t\t\tmatchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n\n\t\t\t\t\t\t// the reach might have been extended because of the rematching\n\t\t\t\t\t\tif (rematch && nestedRematch.reach > rematch.reach) {\n\t\t\t\t\t\t\trematch.reach = nestedRematch.reach;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @typedef LinkedListNode\n\t * @property {T} value\n\t * @property {LinkedListNode<T> | null} prev The previous node.\n\t * @property {LinkedListNode<T> | null} next The next node.\n\t * @template T\n\t * @private\n\t */\n\n\t/**\n\t * @template T\n\t * @private\n\t */\n\tfunction LinkedList() {\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar head = { value: null, prev: null, next: null };\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar tail = { value: null, prev: head, next: null };\n\t\thead.next = tail;\n\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.head = head;\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.tail = tail;\n\t\tthis.length = 0;\n\t}\n\n\t/**\n\t * Adds a new node with the given value to the list.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {T} value\n\t * @returns {LinkedListNode<T>} The added node.\n\t * @template T\n\t */\n\tfunction addAfter(list, node, value) {\n\t\t// assumes that node != list.tail && values.length >= 0\n\t\tvar next = node.next;\n\n\t\tvar newNode = { value: value, prev: node, next: next };\n\t\tnode.next = newNode;\n\t\tnext.prev = newNode;\n\t\tlist.length++;\n\n\t\treturn newNode;\n\t}\n\t/**\n\t * Removes `count` nodes after the given node. The given node will not be removed.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {number} count\n\t * @template T\n\t */\n\tfunction removeRange(list, node, count) {\n\t\tvar next = node.next;\n\t\tfor (var i = 0; i < count && next !== list.tail; i++) {\n\t\t\tnext = next.next;\n\t\t}\n\t\tnode.next = next;\n\t\tnext.prev = node;\n\t\tlist.length -= i;\n\t}\n\t/**\n\t * @param {LinkedList<T>} list\n\t * @returns {T[]}\n\t * @template T\n\t */\n\tfunction toArray(list) {\n\t\tvar array = [];\n\t\tvar node = list.head.next;\n\t\twhile (node !== list.tail) {\n\t\t\tarray.push(node.value);\n\t\t\tnode = node.next;\n\t\t}\n\t\treturn array;\n\t}\n\n\n\tif (!_self.document) {\n\t\tif (!_self.addEventListener) {\n\t\t\t// in Node.js\n\t\t\treturn _;\n\t\t}\n\n\t\tif (!_.disableWorkerMessageHandler) {\n\t\t\t// In worker\n\t\t\t_self.addEventListener('message', function (evt) {\n\t\t\t\tvar message = JSON.parse(evt.data);\n\t\t\t\tvar lang = message.language;\n\t\t\t\tvar code = message.code;\n\t\t\t\tvar immediateClose = message.immediateClose;\n\n\t\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\t\tif (immediateClose) {\n\t\t\t\t\t_self.close();\n\t\t\t\t}\n\t\t\t}, false);\n\t\t}\n\n\t\treturn _;\n\t}\n\n\t// Get current script and highlight\n\tvar script = _.util.currentScript();\n\n\tif (script) {\n\t\t_.filename = script.src;\n\n\t\tif (script.hasAttribute('data-manual')) {\n\t\t\t_.manual = true;\n\t\t}\n\t}\n\n\tfunction highlightAutomaticallyCallback() {\n\t\tif (!_.manual) {\n\t\t\t_.highlightAll();\n\t\t}\n\t}\n\n\tif (!_.manual) {\n\t\t// If the document state is \"loading\", then we'll use DOMContentLoaded.\n\t\t// If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n\t\t// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n\t\t// might take longer one animation frame to execute which can create a race condition where only some plugins have\n\t\t// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n\t\t// See https://github.com/PrismJS/prism/issues/2102\n\t\tvar readyState = document.readyState;\n\t\tif (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n\t\t\tdocument.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n\t\t} else {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(highlightAutomaticallyCallback);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(highlightAutomaticallyCallback, 16);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn _;\n\n}(_self));\n\nif (module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof commonjsGlobal !== 'undefined') {\n\tcommonjsGlobal.Prism = Prism;\n}\n\n// some additional documentation/types\n\n/**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n/**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n/**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n/**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n\n\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n\t'comment': /<!--[\\s\\S]*?-->/,\n\t'prolog': /<\\?[\\s\\S]+?\\?>/,\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n\n\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\n(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: /@[\\w-](?:[^;{\\s]|\\s+(?![\\s{]))*(?:;|(?=\\s*\\{))/,\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n\n\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\nPrism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\n\t'boolean': /\\b(?:true|false)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\n\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:prototype|constructor))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': /\\b(?:(?:0[xX](?:[\\dA-Fa-f](?:_[\\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\\d(?:_\\d)?)+n|NaN|Infinity)\\b|(?:\\b(?:\\d(?:_\\d)?)+\\.?(?:\\d(?:_\\d)?)*|\\B\\.(?:\\d(?:_\\d)?)+)(?:[Ee][+-]?(?:\\d(?:_\\d)?)+)?/,\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|interface|extends|implements|instanceof|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\tpattern: /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t}\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n\n\n/* **********************************************\n Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n\n\tif (typeof Prism === 'undefined' || typeof document === 'undefined') {\n\t\treturn;\n\t}\n\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\tif (!Element.prototype.matches) {\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\t}\n\n\tvar LOADING_MESSAGE = 'Loading…';\n\tvar FAILURE_MESSAGE = function (status, message) {\n\t\treturn '✖ Error ' + status + ' while fetching file: ' + message;\n\t};\n\tvar FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';\n\n\tvar EXTENSIONS = {\n\t\t'js': 'javascript',\n\t\t'py': 'python',\n\t\t'rb': 'ruby',\n\t\t'ps1': 'powershell',\n\t\t'psm1': 'powershell',\n\t\t'sh': 'bash',\n\t\t'bat': 'batch',\n\t\t'h': 'c',\n\t\t'tex': 'latex'\n\t};\n\n\tvar STATUS_ATTR = 'data-src-status';\n\tvar STATUS_LOADING = 'loading';\n\tvar STATUS_LOADED = 'loaded';\n\tvar STATUS_FAILED = 'failed';\n\n\tvar SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '=\"' + STATUS_LOADED + '\"])'\n\t\t+ ':not([' + STATUS_ATTR + '=\"' + STATUS_LOADING + '\"])';\n\n\tvar lang = /\\blang(?:uage)?-([\\w-]+)\\b/i;\n\n\t/**\n\t * Sets the Prism `language-xxxx` or `lang-xxxx` class to the given language.\n\t *\n\t * @param {HTMLElement} element\n\t * @param {string} language\n\t * @returns {void}\n\t */\n\tfunction setLanguageClass(element, language) {\n\t\tvar className = element.className;\n\t\tclassName = className.replace(lang, ' ') + ' language-' + language;\n\t\telement.className = className.replace(/\\s+/g, ' ').trim();\n\t}\n\n\n\tPrism.hooks.add('before-highlightall', function (env) {\n\t\tenv.selector += ', ' + SELECTOR;\n\t});\n\n\tPrism.hooks.add('before-sanity-check', function (env) {\n\t\tvar pre = /** @type {HTMLPreElement} */ (env.element);\n\t\tif (pre.matches(SELECTOR)) {\n\t\t\tenv.code = ''; // fast-path the whole thing and go to complete\n\n\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading\n\n\t\t\t// add code element with loading message\n\t\t\tvar code = pre.appendChild(document.createElement('CODE'));\n\t\t\tcode.textContent = LOADING_MESSAGE;\n\n\t\t\tvar src = pre.getAttribute('data-src');\n\n\t\t\tvar language = env.language;\n\t\t\tif (language === 'none') {\n\t\t\t\t// the language might be 'none' because there is no language set;\n\t\t\t\t// in this case, we want to use the extension as the language\n\t\t\t\tvar extension = (/\\.(\\w+)$/.exec(src) || [, 'none'])[1];\n\t\t\t\tlanguage = EXTENSIONS[extension] || extension;\n\t\t\t}\n\n\t\t\t// set language classes\n\t\t\tsetLanguageClass(code, language);\n\t\t\tsetLanguageClass(pre, language);\n\n\t\t\t// preload the language\n\t\t\tvar autoloader = Prism.plugins.autoloader;\n\t\t\tif (autoloader) {\n\t\t\t\tautoloader.loadLanguages(language);\n\t\t\t}\n\n\t\t\t// load file\n\t\t\tvar xhr = new XMLHttpRequest();\n\t\t\txhr.open('GET', src, true);\n\t\t\txhr.onreadystatechange = function () {\n\t\t\t\tif (xhr.readyState == 4) {\n\t\t\t\t\tif (xhr.status < 400 && xhr.responseText) {\n\t\t\t\t\t\t// mark as loaded\n\t\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADED);\n\n\t\t\t\t\t\t// highlight code\n\t\t\t\t\t\tcode.textContent = xhr.responseText;\n\t\t\t\t\t\tPrism.highlightElement(code);\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// mark as failed\n\t\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_FAILED);\n\n\t\t\t\t\t\tif (xhr.status >= 400) {\n\t\t\t\t\t\t\tcode.textContent = FAILURE_MESSAGE(xhr.status, xhr.statusText);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcode.textContent = FAILURE_EMPTY_MESSAGE;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t\txhr.send(null);\n\t\t}\n\t});\n\n\tPrism.plugins.fileHighlight = {\n\t\t/**\n\t\t * Executes the File Highlight plugin for all matching `pre` elements under the given container.\n\t\t *\n\t\t * Note: Elements which are already loaded or currently loading will not be touched by this method.\n\t\t *\n\t\t * @param {ParentNode} [container=document]\n\t\t */\n\t\thighlight: function highlight(container) {\n\t\t\tvar elements = (container || document).querySelectorAll(SELECTOR);\n\n\t\t\tfor (var i = 0, element; (element = elements[i++]);) {\n\t\t\t\tPrism.highlightElement(element);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar logged = false;\n\t/** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */\n\tPrism.fileHighlight = function () {\n\t\tif (!logged) {\n\t\t\tconsole.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');\n\t\t\tlogged = true;\n\t\t}\n\t\tPrism.plugins.fileHighlight.highlight.apply(this, arguments);\n\t};\n\n}());\n});\n\nconst attachHighlightObserver = ({ refContainer, refCode, highlightLines }) => {\n if (!highlightLines || highlightLines.length <= 0) {\n return;\n }\n if (window && 'ResizeObserver' in window) {\n // @ts-ignore\n const observer = new ResizeObserver(async (_entries) => {\n await addHighlight({ refCode, highlightLines });\n observer.disconnect();\n });\n observer.observe(refContainer);\n }\n else {\n // Back in my days...\n setTimeout(async () => {\n await addHighlight({ refCode, highlightLines });\n }, 100);\n }\n};\nconst addHighlight = async ({ highlightLines, refCode }) => {\n if (!refCode.hasChildNodes()) {\n return;\n }\n const { rows, rowsGroup } = await findRowsToHighlight({ highlightLines });\n if (rows.length <= 0) {\n return;\n }\n let rowIndex = 0;\n let lastOffsetTop = -1;\n let offsetHeight = -1;\n Array.from(refCode.childNodes).forEach((element) => {\n // We try to find the row index with the offset of the element\n rowIndex = element.offsetTop > lastOffsetTop ? rowIndex + 1 : rowIndex;\n lastOffsetTop = element.offsetTop;\n // For some reason, some converted text element are displayed on two lines, that's why we should consider the 2nd one as index\n offsetHeight = offsetHeight === -1 || offsetHeight > element.offsetHeight ? element.offsetHeight : offsetHeight;\n const rowsIndexToCompare = element.offsetHeight > offsetHeight ? rowIndex + 1 : rowIndex;\n if (rows.indexOf(rowsIndexToCompare) > -1) {\n element.classList.add('highlight', `group-${rowsGroup[`row_${rowsIndexToCompare}`]}`);\n }\n });\n refCode.classList.add('animate');\n};\nconst findRowsToHighlight = async ({ highlightLines }) => {\n const groups = highlightLines.split(' ');\n if (!groups || groups.length <= 0) {\n return {\n rows: [],\n rowsGroup: {}\n };\n }\n const rows = [];\n let rowsGroup = {};\n groups.forEach((group, groupIndex) => {\n const index = group.replace(/-/g, ',').split(',');\n if (index && index.length >= 1) {\n const start = parseInt(index[0], 0);\n const end = parseInt(index[1], 0);\n for (let i = start; i <= (isNaN(end) ? start : end); i++) {\n rows.push(i);\n if (!(`row_${i}` in rowsGroup) || rowsGroup[`row_${i}`] > groupIndex) {\n rowsGroup[`row_${i}`] = groupIndex;\n }\n }\n }\n });\n return {\n rows,\n rowsGroup\n };\n};\n\nconst parseCode = async ({ refContainer, refCode, code, lineNumbers, highlightLines, language }) => {\n if (!code || code === undefined || code === '') {\n return;\n }\n if (!refContainer) {\n return;\n }\n // clear the container first\n refContainer.children[0].textContent = '';\n // split the code on linebreaks\n const regEx = RegExp(/\\n(?!$)/g); //\n const match = code.split(regEx);\n match.forEach((m, idx, array) => {\n // On last element\n if (idx === array.length - 1) {\n attachHighlightObserver({ refContainer, refCode, highlightLines });\n }\n let div = document.createElement('div');\n if (lineNumbers) {\n div.classList.add('line-number');\n }\n const highlight = prism.highlight(m, prism.languages[language], language);\n // If empty, use \\u200B as zero width text spacer\n div.innerHTML = highlight && highlight !== '' ? highlight : '\\u200B';\n // No text node\n const children = Array.from(div.childNodes).map((node) => {\n if (node.nodeName === '#text') {\n const span = document.createElement('span');\n span.append(node);\n return span;\n }\n return node;\n });\n div.textContent = '';\n div.append(...children);\n refContainer.children[0].appendChild(div);\n });\n};\n\nconst loadGoogleFonts = async (terminal) => {\n if (terminal === DeckdeckgoHighlightCodeTerminal.UBUNTU) {\n await L('google-fonts-ubuntu', 'https://fonts.googleapis.com/css?family=Ubuntu|Ubuntu+Mono&display=swap');\n }\n};\n\nconst CarbonThemeStyle = ({ style }) => {\n return (h(\"style\", null, `\n :host ${style};\n `));\n};\n\nconst HighlightStyle = ({ start, end }) => {\n const selectorGroup = start !== undefined && end !== undefined\n ? `code.highlight > :nth-child(n+${start + 1}):nth-child(-n+${end + 1}) *`\n : 'div.container code.highlight > div.highlight *';\n const selectorLineNumbers = start !== undefined && end !== undefined\n ? `code.highlight > div.line-number:nth-child(n+${start + 1}):nth-child(-n+${end + 1}):before`\n : 'div.container code.highlight > div.highlight:before';\n return (h(\"style\", null, `\n ${selectorGroup} {\n background: var(--deckgo-highlight-code-line-background);\n border-top: var(--deckgo-highlight-code-line-border-top);\n border-bottom: var(--deckgo-highlight-code-line-border-bottom);\n font-weight: var(--deckgo-highlight-code-line-font-weight);\n opacity: var(--deckgo-highlight-code-line-opacity, 1);\n }\n\n ${selectorLineNumbers} {\n color: var(--deckgo-highlight-code-line-numbers-color, var(--deckgo-highlight-code-token-comment, #6272a4));\n }\n `));\n};\n\nconst deckdeckgoHighlightCodeCss = \"code[class*=\\\"language-\\\"],pre[class*=\\\"language-\\\"]{color:black;background:none;text-shadow:0 1px white;font-family:Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=\\\"language-\\\"]::-moz-selection,pre[class*=\\\"language-\\\"] ::-moz-selection,code[class*=\\\"language-\\\"]::-moz-selection,code[class*=\\\"language-\\\"] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*=\\\"language-\\\"]::selection,pre[class*=\\\"language-\\\"] ::selection,code[class*=\\\"language-\\\"]::selection,code[class*=\\\"language-\\\"] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=\\\"language-\\\"],pre[class*=\\\"language-\\\"]{text-shadow:none}}pre[class*=\\\"language-\\\"]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=\\\"language-\\\"],pre[class*=\\\"language-\\\"]{background:#f5f2f0}:not(pre)>code[class*=\\\"language-\\\"]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:slategray}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#9a6e3a;background:hsla(0, 0%, 100%, .5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function,.token.class-name{color:#DD4A68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}:host ::slotted([slot=code]){display:none}:host([editable]){cursor:var(--deckgo-editable-cursor, text)}:host([editable]) code:empty:not(:focus):after{content:var(--deckgo-highlight-code-empty-text, \\\"Click to add your code\\\")}:host(.deckgo-highlight-code-carbon){display:var(--deckgo-highlight-code-carbon-display, block);overflow:var(--deckgo-highlight-code-carbon-overflow, auto);border:var(--deckgo-highlight-code-carbon-border);border-radius:var(--deckgo-highlight-code-carbon-border-radius, 4px);background:var(--deckgo-highlight-code-carbon-background, #282a36);color:var(--deckgo-highlight-code-carbon-color, white);box-shadow:var(--deckgo-highlight-code-carbon-box-shadow, rgba(0, 0, 0, 0.55) 0 8px 16px);margin:var(--deckgo-highlight-code-carbon-margin, 16px 0)}:host(.deckgo-highlight-code-carbon) div.container{margin:var(--deckgo-highlight-code-margin, 0 0 1em)}:host(.deckgo-highlight-code-carbon) ::slotted([slot=code]){color:var(--deckgo-highlight-code-carbon-color, white)}:host(.deckgo-highlight-code-ubuntu){display:var(--deckgo-highlight-code-ubuntu-display, block);overflow:var(--deckgo-highlight-code-ubuntu-overflow, auto);border:var(--deckgo-highlight-code-ubuntu-border);border-radius:var(--deckgo-highlight-code-ubuntu-border-radius, 6px 6px 0 0);background:var(--deckgo-highlight-code-ubuntu-background, #4c1e3d);color:var(--deckgo-highlight-code-ubuntu-color, #ddd);box-shadow:var(--deckgo-highlight-code-ubuntu-box-shadow, 2px 4px 10px rgba(0, 0, 0, 0.5));margin:var(--deckgo-highlight-code-ubuntu-margin, 16px 0)}:host(.deckgo-highlight-code-ubuntu) div.container{margin:var(--deckgo-highlight-code-margin, 0 0 16px);padding:var(--deckgo-highlight-code-padding, 2px 0 0);background:transparent}:host(.deckgo-highlight-code-ubuntu) div.container code{font-family:var(--deckgo-highlight-code-font-family, \\\"Ubuntu mono\\\")}:host(.deckgo-highlight-code-ubuntu) div.container code>div.line-number:before{background:var(--deckgo-highlight-code-ubuntu-background, #4c1e3d)}:host(.deckgo-highlight-code-ubuntu) ::slotted([slot=code]){color:var(--deckgo-highlight-code-ubuntu-color, #ddd)}div.container{color:var(--deckgo-highlight-code-color, inherit);background:var(--deckgo-highlight-code-background);padding:var(--deckgo-highlight-code-padding, 0 16px);border-radius:var(--deckgo-highlight-code-border-radius);margin:var(--deckgo-highlight-code-margin, 16px 0);transform-origin:bottom left;transition:all 0.2s ease-in-out;transform:scale(var(--deckgo-highlight-code-zoom, 1));direction:var(--deckgo-highlight-code-direction, ltr);text-align:var(--deckgo-highlight-code-text-align, start);width:var(--deckgo-highlight-code-container-width);height:var(--deckgo-highlight-code-container-height);display:var(--deckgo-highlight-code-container-display, block);justify-content:var(--deckgo-highlight-code-container-justify-content);flex-direction:var(--deckgo-highlight-code-container-flex-direction);align-items:var(--deckgo-highlight-code-container-align-items)}div.container code{overflow-y:var(--deckgo-highlight-code-scroll, auto);white-space:var(--deckgo-highlight-code-white-space, pre-wrap);font-size:var(--deckgo-highlight-code-font-size);font-family:var(--deckgo-highlight-code-font-family, monospace);line-height:var(--deckgo-highlight-code-line-height);display:var(--deckgo-highlight-code-display, block);counter-reset:linenumber;height:var(--deckgo-highlight-code-height, 100%);width:var(--deckgo-highlight-code-width);}div.container code>div.line-number{counter-increment:linenumber;position:relative;padding-left:3.5em}div.container code>div.line-number:before{content:counter(linenumber);display:inline-block;position:absolute;top:0;bottom:0;left:0;width:2.5em;background:var(--deckgo-highlight-code-line-numbers-background);border-right:var(--deckgo-highlight-code-line-numbers-border-right, 1px solid rgba(var(--deckgo-highlight-code-token-comment-rgb, 98, 114, 164), 0.32));color:var(--deckgo-lowlight-code-line-numbers-color, rgba(var(--deckgo-highlight-code-token-comment-rgb, 98, 114, 164), 0.32))}div.container code span.deckgo-highlight-code-anchor-hidden{visibility:hidden}div.container code.highlight div>*{color:var(--deckgo-lowlight-code-line-color);background:var(--deckgo-lowlight-code-line-background);border-top:var(--deckgo-lowlight-code-line-border-top);border-bottom:var(--deckgo-lowlight-code-line-border-bottom);font-weight:var(--deckgo-lowlight-code-line-font-weight);opacity:var(--deckgo-lowlight-code-line-opacity, 0.32)}div.container code.highlight.animate div>*{transition:var(--deckgo-highlight-code-line-transition, all 0.35s ease-in)}div.container code.highlight.animate>div.line-number:before{transition:var(--deckgo-highlight-code-line-transition, all 0.35s ease-in)}div.container code .language-css .token.string:not(.deckgo-highlight-code-line),div.container code .style .token.string:not(.deckgo-highlight-code-line),div.container code .token.entity:not(.deckgo-highlight-code-line),div.container code .token.operator:not(.deckgo-highlight-code-line),div.container code .token.url:not(.deckgo-highlight-code-line){background:inherit}div.container code .token.comment,div.container code .token.prolog,div.container code .token.doctype,div.container code .token.cdata{color:var(--deckgo-highlight-code-token-comment, #6272a4)}div.container code .token.punctuation{color:var(--deckgo-highlight-code-token-punctuation, #6272a4)}div.container code .token.property,div.container code .token.tag,div.container code .token.boolean,div.container code .token.number,div.container code .token.constant,div.container code .token.symbol,div.container code .token.deleted{color:var(--deckgo-highlight-code-token-property, #bd93f9)}div.container code .token.selector,div.container code .token.attr-name,div.container code .token.string,div.container code .token.char,div.container code .token.builtin,div.container code .token.inserted{color:var(--deckgo-highlight-code-token-selector, #50fa7b)}div.container code .token.operator,div.container code .token.entity,div.container code .token.url,div.container code .language-css .token.string,div.container code .style .token.string{color:var(--deckgo-highlight-code-token-operator, #ff79c6)}div.container code .token.atrule,div.container code .token.attr-value,div.container code .token.keyword{color:var(--deckgo-highlight-code-token-atrule, #ff79c6)}div.container code .token.function,div.container code .token.class-name{color:var(--deckgo-highlight-code-token-function, #ffb86c)}div.container code .token.regex,div.container code .token.important,div.container code .token.variable{color:var(--deckgo-highlight-code-token-regex, #f1fa8c)}div.carbon{display:flex;justify-content:flex-start;padding:var(--deckgo-highlight-code-carbon-header-padding, 0.5em 1em);margin:var(--deckgo-highlight-code-carbon-header-margin, 0)}div.carbon>div{display:var(--deckgo-highlight-code-carbon-toolbar-display, block);width:var(--deckgo-highlight-code-carbon-header-button-width, 0.75em);height:var(--deckgo-highlight-code-carbon-header-button-height, 0.75em);border-radius:var(--deckgo-highlight-code-carbon-header-button-border-radius, 50%);margin:var(--deckgo-highlight-code-carbon-header-button-margin, 0.5em 0.375em 0.5em 0)}div.carbon>div.red{background:var(--deckgo-highlight-code-carbon-header-button-red-background, #ff5f56);border:var(--deckgo-highlight-code-carbon-header-button-red-border, 0.5px solid #e0443e)}div.carbon>div.yellow{background:var(--deckgo-highlight-code-carbon-header-button-yellow-background, #ffbd2e);border:var(--deckgo-highlight-code-carbon-header-button-yellow-border, 0.5px solid #dea123)}div.carbon>div.green{background:var(--deckgo-highlight-code-carbon-header-button-green-background, #27c93f);border:var(--deckgo-highlight-code-carbon-header-button-green-border, 0.5px solid #1aab29)}div.ubuntu{display:flex;justify-content:flex-start;align-items:center;padding:var(--deckgo-highlight-code-ubuntu-header-padding, 0 0.5em);height:var(--deckgo-highlight-code-ubuntu-header-height, 25px);background:var(--deckgo-highlight-code-ubuntu-header-background, linear-gradient(#504b45 0%, #3c3b37 100%));font-family:var(--deckgo-highlight-code-ubuntu-header-font-family, \\\"Ubuntu\\\")}div.ubuntu>div{display:flex;align-items:center;justify-content:center;width:var(--deckgo-highlight-code-ubuntu-header-button-width, 12px);height:var(--deckgo-highlight-code-ubuntu-header-button-height, 12px);border-radius:var(--deckgo-highlight-code-ubuntu-header-button-border-radius, 50%);margin:var(--deckgo-highlight-code-ubuntu-header-button-margin, 0 0.25em 0 0);font-size:var(--deckgo-highlight-code-ubuntu-header-button-font-size, 0.4375em);color:var(--deckgo-highlight-code-ubuntu-header-button-color, black);text-shadow:var(--deckgo-highlight-code-ubuntu-header-button-text-shadow, 0px 1px 0px rgba(255, 255, 255, 0.2));box-shadow:var(--deckgo-highlight-code-ubuntu-header-button-box-shadow, 0px 0px 1px 0px #41403a, 0px 1px 1px 0px #474642)}div.ubuntu>div.close{background:var(--deckgo-highlight-code-ubuntu-header-button-close-background, linear-gradient(#f37458 0%, #de4c12 100%));border:var(--deckgo-highlight-code-ubuntu-header-button-close-border)}div.ubuntu>div.minimize{background:var(--deckgo-highlight-code-ubuntu-header-button-minimize-background, linear-gradient(#7d7871 0%, #595953 100%));border:var(--deckgo-highlight-code-ubuntu-header-button-minimize-border)}div.ubuntu>div.maximize{background:var(--deckgo-highlight-code-ubuntu-header-button-maximize-background, linear-gradient(#7d7871 0%, #595953 100%));border:var(--deckgo-highlight-code-ubuntu-header-button-maximize-border)}div.ubuntu>div.close span,div.ubuntu>div.minimize span,div.ubuntu>div.maximize span{display:var(--deckgo-highlight-code-ubuntu-header-button-span-display, inherit)}div.ubuntu>p{color:var(--deckgo-highlight-code-ubuntu-header-user-color, #d5d0ce);font-size:var(--deckgo-highlight-code-ubuntu-header-user-font-size, 12px);line-height:var(--deckgo-highlight-code-ubuntu-header-user-line-height, 14px);margin:var(--deckgo-highlight-code-ubuntu-header-user-margin, 0 0 1px 4px)}\";\n\nconst DeckdeckgoHighlightCode = class {\n constructor(hostRef) {\n registerInstance(this, hostRef);\n this.prismLanguageLoaded = createEvent(this, \"prismLanguageLoaded\", 7);\n this.codeDidChange = createEvent(this, \"codeDidChange\", 7);\n /**\n * Define the language to be used for the syntax highlighting. The list of supported languages is defined by Prism.js\n */\n this.language = 'javascript';\n /**\n * Display the number of the lines of code\n */\n this.lineNumbers = false;\n /**\n * Present the code in a stylish \"windowed\" card\n */\n this.terminal = DeckdeckgoHighlightCodeTerminal.CARBON;\n /**\n * In case you would like to set the code component as being editable\n */\n this.editable = false;\n /**\n * The theme of the selected terminal (applied only in case of carbon)\n */\n this.theme = DeckdeckgoHighlightCodeCarbonTheme.DRACULA;\n this.parseAfterUpdate = false;\n this.loaded = false;\n this.highlightGroup = undefined;\n /**\n * @internal Used when integrated in DeckDeckGo to display next and previous highlight in the presentations\n */\n this.revealProgress = 'start';\n this.highlightRows = undefined;\n this.catchTab = async ($event) => {\n if ($event && $event.key === 'Tab') {\n $event.preventDefault();\n document.execCommand('insertHTML', false, '	');\n }\n };\n this.debounceUpdateSlot = f(async () => {\n await this.copyCodeToSlot();\n }, 500);\n }\n async componentWillLoad() {\n await loadGoogleFonts(this.terminal);\n await this.loadTheme();\n }\n async componentDidLoad() {\n const languageWasLoaded = await this.languageDidLoad();\n await this.loadLanguages();\n if (languageWasLoaded) {\n await this.parse();\n }\n }\n async componentDidUpdate() {\n if (this.parseAfterUpdate) {\n await this.parse();\n this.parseAfterUpdate = false;\n }\n }\n async loadTheme() {\n if (this.terminal !== DeckdeckgoHighlightCodeTerminal.CARBON || !this.theme) {\n this.themeStyle = undefined;\n return;\n }\n const { theme } = await loadTheme(this.theme);\n this.themeStyle = theme;\n }\n async languageLoaded($event) {\n if (!$event || !$event.detail) {\n return;\n }\n if (this.languagesToLoad) {\n this.languagesToLoad = this.languagesToLoad.filter((lang) => lang !== $event.detail);\n }\n if (this.language && !this.loaded && (this.languagesToLoad === undefined || this.languagesToLoad.length <= 0)) {\n await this.parse();\n this.loaded = true;\n }\n }\n async parse() {\n if (!this.language || !deckdeckgoHighlightCodeLanguages[this.language]) {\n return;\n }\n await this.parseSlottedCode();\n }\n languageDidLoad() {\n return new Promise((resolve) => {\n if (!document || !this.language || this.language === '') {\n resolve(false);\n return;\n }\n const scripts = document.querySelector(\"[deckdeckgo-prism-loaded='\" + this.language + \"']\");\n if (scripts) {\n resolve(true);\n }\n else {\n resolve(false);\n }\n });\n }\n async onLanguage() {\n await this.loadLanguages(true);\n }\n async loadLanguages(reload = false) {\n this.loaded = false;\n if (!this.language || !deckdeckgoHighlightCodeLanguages[this.language]) {\n console.error(`Language ${this.language} is not supported`);\n return;\n }\n await this.initLanguagesToLoad();\n await this.loadLanguagesRequire();\n await this.loadScript(this.language, reload);\n }\n async initLanguagesToLoad() {\n if (!this.language) {\n return;\n }\n const definition = deckdeckgoHighlightCodeLanguages[this.language];\n this.languagesToLoad = definition.require && definition.require.length > 0 ? [this.language, ...definition.require] : [this.language];\n }\n async loadLanguagesRequire() {\n const promises = [];\n const definition = deckdeckgoHighlightCodeLanguages[this.language];\n if (definition.require) {\n promises.push(...definition.require.map((extraScript) => this.loadScript(extraScript, false, true)));\n }\n if (promises.length <= 0) {\n return;\n }\n await Promise.all(promises);\n }\n loadScript(lang, reload = false, requireScript = false) {\n return new Promise(async (resolve) => {\n if (!document || !lang || lang === '') {\n resolve();\n return;\n }\n // No need to load javascript, it is there\n if (lang === 'javascript') {\n this.prismLanguageLoaded.emit('javascript');\n resolve();\n return;\n }\n const scripts = document.querySelector(\"[deckdeckgo-prism='\" + lang + \"']\");\n if (scripts) {\n if (reload) {\n this.prismLanguageLoaded.emit(lang);\n }\n resolve();\n return;\n }\n const script = document.createElement('script');\n script.onload = async () => {\n script.setAttribute('deckdeckgo-prism-loaded', lang);\n this.prismLanguageLoaded.emit(lang);\n };\n script.onerror = async () => {\n if (script.parentElement) {\n script.parentElement.removeChild(script);\n }\n // if the language definition doesn't exist or if unpkg is down, display code anyway\n this.prismLanguageLoaded.emit(lang);\n };\n const definition = deckdeckgoHighlightCodeLanguages[this.language];\n let language = !requireScript && definition.main ? definition.main : lang;\n script.src = 'https://unpkg.com/prismjs@latest/components/prism-' + language + '.js';\n script.setAttribute('deckdeckgo-prism', language);\n script.defer = true;\n document.head.appendChild(script);\n script.addEventListener('load', () => resolve(), { once: true });\n });\n }\n async onLineNumbersChange() {\n await this.parse();\n }\n async onCarbonChange() {\n this.parseAfterUpdate = true;\n await loadGoogleFonts(this.terminal);\n }\n /**\n * Load or reload the component\n */\n load() {\n return new Promise(async (resolve) => {\n if (!this.language || this.language === '') {\n resolve();\n return;\n }\n if (this.language === 'javascript') {\n await this.parse();\n resolve();\n return;\n }\n if (document.querySelector(\"[deckdeckgo-prism-loaded='\" + this.language + \"']\")) {\n await this.parse();\n }\n else {\n await this.loadLanguages();\n }\n resolve();\n });\n }\n parseSlottedCode() {\n var _a;\n const code = this.el.querySelector(\"[slot='code']\");\n if (code) {\n return parseCode(Object.assign(Object.assign({}, this.parseCodeOptions()), { code: (_a = code === null || code === void 0 ? void 0 : code.innerHTML) === null || _a === void 0 ? void 0 : _a.replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&') }));\n }\n return new Promise((resolve) => {\n resolve();\n });\n }\n parseCodeOptions() {\n return {\n refContainer: this.refContainer,\n refCode: this.refCode,\n lineNumbers: this.lineNumbers,\n highlightLines: this.highlightLines,\n language: this.language\n };\n }\n async applyCode() {\n if (!this.editable) {\n return;\n }\n await this.copyCodeToSlot();\n await this.parseSlottedCode();\n this.codeDidChange.emit(this.el);\n }\n inputCode() {\n if (!this.editable) {\n return;\n }\n this.debounceUpdateSlot();\n }\n async copyCodeToSlot() {\n var _a, _b, _c;\n const code = this.el.querySelector(\":scope > [slot='code']\");\n if (!code) {\n return;\n }\n // Avoid duplicating new lines on new entries\n (_b = (_a = this.refCode) === null || _a === void 0 ? void 0 : _a.querySelectorAll('br')) === null || _b === void 0 ? void 0 : _b.forEach((node) => (node.outerHTML = '\\u200B'));\n code.innerHTML = (_c = this.refCode) === null || _c === void 0 ? void 0 : _c.innerText.replace(/\\u200B/g, '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\"/g, '"').replace(/'/g, ''');\n }\n edit() {\n var _a;\n if (!this.editable) {\n return;\n }\n (_a = this.refCode) === null || _a === void 0 ? void 0 : _a.focus();\n }\n /**\n * @internal Used when integrated in DeckDeckGo presentations. Call `nextHighlight()`.\n */\n async reveal() {\n await this.nextHighlight();\n }\n /**\n * @internal Used when integrated in DeckDeckGo presentations. Call `prevHighlight()`.\n */\n async hide() {\n await this.prevHighlight();\n }\n /**\n * @internal Reset the highlight state to default.\n */\n async revealAll() {\n this.highlightGroup = undefined;\n this.highlightRows = undefined;\n this.revealProgress = 'start';\n }\n /**\n * @internal Reset the highlight state to default.\n */\n async hideAll() {\n await this.revealAll();\n }\n /**\n * Animate highlighted lines and, apply \"focus\" on next group\n */\n async nextHighlight() {\n if (this.revealProgress === 'end') {\n return;\n }\n await this.selectNextGroupHighlight(this.highlightGroup + 1 || 0);\n // We want to limit the counter to max count of groups\n if (this.highlightRows !== undefined) {\n this.highlightGroup = this.highlightGroup + 1 || 0;\n this.revealProgress = 'partial';\n return;\n }\n this.revealProgress = 'end';\n }\n /**\n * Animate highlighted lines and, apply \"focus\" on previous group\n */\n async prevHighlight() {\n if (this.highlightGroup === 0) {\n this.highlightGroup = undefined;\n this.highlightRows = undefined;\n this.revealProgress = 'start';\n return;\n }\n this.highlightGroup = this.revealProgress === 'end' ? this.highlightGroup : this.highlightGroup - 1;\n await this.selectNextGroupHighlight(this.highlightGroup);\n if (this.highlightRows !== undefined) {\n this.revealProgress = 'partial';\n }\n }\n async selectNextGroupHighlight(highlightGroup) {\n var _a;\n const rows = (_a = this.refCode) === null || _a === void 0 ? void 0 : _a.querySelectorAll(`.group-${highlightGroup}`);\n if (!rows || rows.length <= 0) {\n this.highlightRows = undefined;\n return;\n }\n const allRows = Array.from(this.refCode.children);\n this.highlightRows = {\n start: allRows.indexOf(rows[0]),\n end: allRows.indexOf(rows[rows.length - 1])\n };\n }\n render() {\n var _a;\n const hostClass = {\n 'deckgo-highlight-code-carbon': this.terminal === DeckdeckgoHighlightCodeTerminal.CARBON,\n 'deckgo-highlight-code-ubuntu': this.terminal === DeckdeckgoHighlightCodeTerminal.UBUNTU\n };\n if (this.terminal === DeckdeckgoHighlightCodeTerminal.CARBON) {\n hostClass[`deckgo-highlight-code-theme-${this.theme}`] = true;\n }\n return (h(Host, { class: hostClass, onClick: () => this.edit() }, this.renderCarbon(), this.renderUbuntu(), this.renderHighlightStyle(), h(\"div\", { class: \"container\", ref: (el) => (this.refContainer = el) }, h(\"code\", { class: ((_a = this.highlightLines) === null || _a === void 0 ? void 0 : _a.length) > 0 ? 'highlight' : undefined, contentEditable: this.editable, onBlur: async () => await this.applyCode(), onInput: () => this.inputCode(), onKeyDown: ($event) => this.catchTab($event), ref: (el) => (this.refCode = el) }), h(\"slot\", { name: \"code\" }))));\n }\n renderHighlightStyle() {\n if (!this.highlightLines || this.highlightLines.length <= 0) {\n return undefined;\n }\n return h(HighlightStyle, Object.assign({}, this.highlightRows));\n }\n renderCarbon() {\n if (this.terminal !== DeckdeckgoHighlightCodeTerminal.CARBON) {\n return undefined;\n }\n return [\n h(CarbonThemeStyle, { style: this.themeStyle }),\n h(\"div\", { class: \"carbon\" }, this.renderCarbonCircle('red'), this.renderCarbonCircle('yellow'), this.renderCarbonCircle('green'))\n ];\n }\n renderCarbonCircle(color) {\n return h(\"div\", { class: color });\n }\n renderUbuntu() {\n if (this.terminal !== DeckdeckgoHighlightCodeTerminal.UBUNTU) {\n return undefined;\n }\n return (h(\"div\", { class: \"ubuntu\" }, this.renderUbuntuCircle('close'), this.renderUbuntuCircle('minimize'), this.renderUbuntuCircle('maximize'), h(\"p\", null, h(\"slot\", { name: \"user\" }))));\n }\n renderUbuntuCircle(mode) {\n const symbol = mode === 'close' ? '✕' : mode === 'minimize' ? '─' : '◻';\n return (h(\"div\", { class: mode }, h(\"span\", { innerHTML: symbol })));\n }\n get el() { return getElement(this); }\n static get watchers() { return {\n \"theme\": [\"loadTheme\"],\n \"language\": [\"onLanguage\"],\n \"lineNumbers\": [\"onLineNumbersChange\"],\n \"terminal\": [\"onCarbonChange\"]\n }; }\n};\nDeckdeckgoHighlightCode.style = deckdeckgoHighlightCodeCss;\n\nexport { DeckdeckgoHighlightCode as deckgo_highlight_code };\n"],"names":[],"sourceRoot":""}