{"version":3,"file":"chat.js","mappings":"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,EAAC;MAAkB,GAC/BD,iEAAA;QAAMC,SAAS,EAAC;MAA2B,GACzCD,iEAAA,CAAC4M,yDAAa,OAAG,CACZ,EACP5M,iEAAA;QAAMC,SAAS,EAAC;MAAY,GAAElO,mDAAE,CAAE,SAAS,EAAE,cAAc,CAAE,CAAQ,CACjE,EACNiO,iEAAA;QAAGC,SAAS,EAAC;MAAqB,GAAEnB,OAAO,CAAK,CAC5C,EACN;QACEoO,QAAQ;QACRC,eAAe,EAAE;MACnB,CAAC,CACF;EAAC;AAER,CAAC;;;;;;;;;;;;;;;AC7ED,cAAc,aAAa,+CAA+C,uDAAuD,WAAW,0CAA0C,yCAAyC,SAAgB,gBAAgB,qBAAqB,mBAAmB,kDAAkD,SAAS,+DAAe,IAAI;;;;;;;;;;ACArX;;AAEA;AACA;AACA;;AAEA,kBAAkB;AAClB,YAAY;AACZ,YAAY;AACZ,iBAAiB;AACjB,eAAe;AACf,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA,cAAc;AACd;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,4CAA4C;;AAEvD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,oDAAU;;AAEnC,OAAO,YAAY;;AAEnB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;AC3QA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAO,CAAC,sCAAI;AACpC;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACA;AACA;AACA;;AAEA,kBAAkB,sBAAsB;AACxC;AACA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc,SAAS;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;;AAEA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACjRa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,YAAY;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA,4BAA4B,iDAAiD;;AAE7E;AACA,OAAO;AACP,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;ACpHA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mEAAmE;AACnE,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB,gBAAgB,QAAQ;AACxB,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;;;;;;;;;;;ACpQA,aAAa,kHAA6C;AAC1D,eAAe,mBAAO,CAAC,yFAA2B;;;;;;;;;;;ACDlD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK,KAA0B;AAC/B,2BAA2B,mBAAO,CAAC,sBAAQ,IAAI;AAC/C,GAAG,SAAS,IAA0C;AACtD,EAAE,iCAAO,CAAC,2CAAQ,CAAC,oCAAE,OAAO;AAAA;AAAA;AAAA,kGAAC,kBAAkB;AAC/C,GAAG,KAAK,EAEN;AACF,CAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ,gBAAgB;AAChB,YAAY;AACZ,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,kBAAkB;AAC5B;AACA;AACA;;AAEA;AACA,cAAc,uBAAuB;AACrC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;;AAEA;AACA,kBAAkB,YAAY;AAC9B,oEAAoE;AACpE;;AAEA;AACA;;AAEA;AACA;;AAEA,cAAc,oBAAoB;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,kCAAkC,IAAI;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA,sBAAsB;AACtB;;AAEA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,cAAc,oBAAoB;AAClC;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc,oBAAoB;AAClC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;;;;;;;;;;ACxtBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;A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;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACrMgC;AACL;;;;;;;;;;;;ACD3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,IAAI,IAAqC;AACzC;AACA;;AAEA,YAAY,mBAAO,CAAC,oBAAO;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iGAAiG,eAAe;AAChH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK,GAAG;;AAER,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B;AAC5B;AACA,qCAAqC;;AAErC,gCAAgC;AAChC;AACA;;AAEA,gCAAgC;;AAEhC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,sBAAsB;AACtB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,iCAAiC;AACjC;AACA,SAAS;AACT,2BAA2B;AAC3B;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;;AAE3D;AACA;;AAEA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA,gFAAgF;AAChF;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;;AAGlB;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2HAA2H;AAC3H;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA,oEAAoE;;AAEpE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;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;;AAEA,wCAAwC;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,eAAe;AAC1B,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,oBAAoB;AACpB,2DAA2D,UAAU;AACrE,yBAAyB,UAAU;AACnC;AACA,aAAa,UAAU;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,6DAA6D;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN,4CAA4C;;AAE5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0DAA0D;AAC1D;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;;AAEA;;AAEA,gBAAgB;AAChB,WAAW;AACX,YAAY;AACZ,GAAG;AACH;;;;;;;;;;;;ACjyCa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,+IAAkE;AACpE;;;;;;;;;;;;ACNa;AACb;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,kBAAe;AACf,4CAA4C,mBAAO,CAAC,wEAAqB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,IAAI,KAAK;AACnC;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;;;;;;;;;;;AC3CA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;ACKoB;;AAEpB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,gDAAS;AACpB,WAAW,2CAAI;AACf;AACA,WAAW,4CAAK;AAChB;AACA;AACA;AACA;AACA;AACA,WAAW,6CAAM;AACjB,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,WAAW,2CAAI;AACf;AACA,WAAW,6CAAM;AACjB,eAAe,eAAe;AAC9B;AACA;AACA,WAAW,0CAAG;AACd;AACA;AACA;AACA;AACA;AACA,WAAW,0CAAG;AACd;AACA;AACA;AACA;AACA;AACA,WAAW,4CAAK;AAChB,eAAe,eAAe;AAC9B;AACA;AACA,WAAW,6CAAM;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,aAAa;AACb;AACO;;;;;;;;;;;;;;;;;;;AC9EsC;AACJ;;AAEzC;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,kDAAkD,GAAG;AACjE;AACA;AACA,aAAa;AACb;AACA,+DAAe;AACf;AACA;AACA;AACA,MAAM,4DAAW,CAAC,wDAAS;AAC3B;AACA,oBAAoB,4DAAW,CAAC,wDAAS,eAAe,EAAC;AACzD;;AAEgC;;;;;;;;;;;;;;;;;ACnBZ;;AAEpB;;AAEA,OAAO,UAAU;AACjB,OAAO,MAAM;;AAEb;AACA;AACA;AACA,YAAY,gDAAS;;AAErB;AACA;AACA;AACA,cAAc,4CAAK;AACnB;AACA,cAAc,6CAAM;AACpB;AACA,cAAc,2CAAI;AAClB;AACA,cAAc,6CAAM;AACpB;AACA,cAAc,0CAAG;AACjB;AACA,cAAc,0CAAG;AACjB;;AAEA;AACA,YAAY,4CAAK;;AAEjB;AACA,YAAY,4CAAK;;AAEjB,UAAU,6CAAM;AAChB;;AAEA;AACA,WAAW,gDAAS;AACpB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,gDAAS;AACpB;AACA;AACA;AACA,mBAAmB,6CAAM;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,2CAAI;AAC3B;AACA;AACA;AACA,WAAW,4CAAK;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,6CAAM;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,2CAAI;AACf;AACA,WAAW,6CAAM;AACjB,eAAe,eAAe;AAC9B,0BAA0B,cAAc;AACxC;AACA,WAAW,0CAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0CAAG;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,SAAS;AACpB,sBAAsB,oBAAoB;AAC1C;;AAEA;AACA;;AAEA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,gCAAgC,GAAG;AAC/C;AACA;AACA,aAAa;AACb;AACA,CAAQ,2BAA2B,aAAa,IAAI;AACpD;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AChKO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACP;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,aAAa;AACb;AACO;AACP;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACXA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA,cAAc,SAAS;AACvB;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACzEA;;AAEA;;AAEA;;AAEA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACO;AACP,6CAA6C;AAC7C;AACA;;AAEA;AACA;AACA,gCAAgC,iCAAiC;AACjE;AACA,qDAAqD;AACrD;AACA;AACA;AACA,mDAAmD;AACnD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AChCA;;AAEA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;ACnF6B;;AAE7B;AACA,UAAU;AACV;AACA;;AAEA;AACA,oBAAoB,OAAO;AAC3B,oBAAoB,OAAO;;AAE3B;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,SAAS;AACtB;AACA,aAAa,SAAS;AACtB;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,OAAO;;AAE3B;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,oBAAoB;AACjC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA,WAAW,GAAG;AACd;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,2BAA2B;AACtC,wCAAwC;AACxC;AACA,aAAa;AACb;AACA;AACO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,YAAY;AACZ,cAAc,mBAAmB;AACjC,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA,WAAW,SAAS;AACpB;AACA,WAAW,GAAG;AACd;AACA,WAAW,mCAAmC;AAC9C;AACA,aAAa;AACb,cAAc;AACd,YAAY;AACZ;AACA;AACO;AACP;AACA,IAAI,8CAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,mCAAmC;AAC9C;AACA,aAAa;AACb,cAAc;AACd,YAAY;AACZ;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C;AACA,aAAa;AACb,cAAc;AACd,YAAY;AACZ;AACA;AACO;AACP;AACA;;AAEA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,SAAS;AACpB;AACA,WAAW,SAAS;AACpB;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,mCAAmC;AAC9C;AACA,aAAa;AACb,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AC7OA;AACA;AACA;AACA,cAAc,4BAA4B;AAC1C;AACA;;AAEA,uBAAuB,SAAS;AAChC,sBAAsB,KAAK,GAAG,KAAK,GAAG,YAAY;AAClD,0BAA0B,KAAK,GAAG,KAAK,GAAG,YAAY;AACtD,uBAAuB,SAAS,OAAO,KAAK,GAAG,KAAK,GAAG,YAAY;AACnE,0BAA0B,SAAS,QAAQ,KAAK,GAAG,KAAK,GAAG,YAAY;;AAEvE,WAAW,SAAS;AACpB;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA,aAAa;AACb;AACA;AACA;AACO;AACP;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA,WAAW,4BAA4B;AACvC;AACA,aAAa;AACb;AACA;AACA;AACO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,4BAA4B;AACvC;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5DA;AACA,YAAY,uCAAuC;AACnD,YAAY,6BAA6B;AACzC,YAAY,qCAAqC;AACjD,YAAY,8CAA8C;AAC1D,YAAY,8CAA8C;AAC1D,YAAY,cAAc;AAC1B,YAAY,UAAU;AACtB,YAAY,oCAAoC;AAChD;;AAE0D;AACvB;AACoC;AACxB;AACkB;AACP;AACf;AACG;AACJ;;AAE1C;AACA,cAAc;;AAEd,WAAW,qBAAqB;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;;AAEO;AACP;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,qDAAG,GAAG,sDAAI;AAChD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,8BAA8B;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,oBAAoB;AAC/B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA,WAAW,oBAAoB;AAC/B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,qDAAG;AAChB;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,gEAAU;AACpD,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,+CAA+C;AAC1D;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2CAAM;;AAEV;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,cAAc;AACzB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAmB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,+CAA+C;AAC1D;AACA,WAAW,oBAAoB;AAC/B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,qDAAG;AAChB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,MAAM;AACjB;AACA,WAAW,oBAAoB;AAC/B;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,MAAM;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA,WAAW,yDAAyD;AACpE;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,cAAc;AACzB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,oBAAoB;AAC/B;AACA,WAAW,KAAK;AAChB;AACA,WAAW,KAAK;AAChB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,oBAAoB;AAC/B;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA,kBAAkB,+DAAU;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA,aAAa,oBAAoB;AACjC;AACA,aAAa,QAAQ;AACrB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6BAA6B,OAAO,oCAAoC;AACxE;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,+CAA+C;AAC1D;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,2CAAM;AACd;AACA,QAAQ,2CAAM;AACd;AACA,QAAQ,2CAAM;;AAEd;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,iBAAiB,SAAS;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,2CAAM;AAChB;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA,+BAA+B,oBAAoB;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA,aAAa,qBAAqB;AAClC;AACA;AACA;;AAEA;AACA;AACA,eAAe,oBAAoB;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,uEAAuE;AAClF;AACA,aAAa;AACb;AACA;AACA;AACA,eAAe,0DAAI;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,iEAAM,UAAU,iEAAM;AACxD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ,6DAAW;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA,IAAI,4DAAa;AACjB,IAAI;AACJ;AACA,+BAA+B,OAAO;AACtC,0BAA0B,uDAAY;AACtC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,yCAAyC;AACtD;;AAEA;AACA,cAAc;AACd,IAAI;AACJ;AACA;AACA,eAAe,qDAAqD;AACpE;;AAEA;AACA,iBAAiB,sBAAsB;AACvC,mBAAmB,qEAAgB;AACnC,WAAW;AACX,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,0CAAM;AACV;AACA,IAAI;AACJ;AACA,MAAM,qEAAgB;AACtB,WAAW;AACX,WAAW;AACX;;AAEA;AACA;AACA;AACA,4BAA4B,6BAA6B;;AAEzD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,sBAAsB;AACjC,aAAa;AACb;AACA;AACA,sBAAsB,uDAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA,aAAa,OAAO;AACpB;AACA,aAAa,QAAQ;AACrB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC3zBA;AACA,aAAa,sBAAsB;AACnC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,aAAa;AACb;AACA;AACA,kCAAkC;AAClC;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA;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,KAAK;AACL,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACU;AACW;AACyC;AACxC;AACc;AACV;AACiB;AACf;;AAE/D,cAAc;;AAEd;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,6BAA6B;AACxC,WAAW,4BAA4B;AACvC,aAAa;AACb;AACA;AACA,WAAW,OAAO;AAClB,WAAW,4BAA4B;AACvC,aAAa;AACb;AACA,WAAW,OAAO;AAClB;AACA,WAAW,uCAAuC;AAClD;AACA,WAAW,4BAA4B;AACvC;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA;;AAEA;AACA,IAAI,sDAAW;AACf,MAAM,gDAAK;AACX;AACA,eAAe,qDAAU;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,4BAA4B;AACvC;AACA;AACA,aAAa,QAAQ;AACrB;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,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC,aAAa,aAAa;AAC1B;;AAEA;;AAEA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA,eAAe;AACf;AACA;AACA;AACA,eAAe,MAAM;AACrB,gBAAgB;AAChB,eAAe,wCAAwC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,oEAAiB;AACnD,kCAAkC,sEAAmB;AACrD;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU,2CAAM;AAChB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,gDAAgD;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA,eAAe,oBAAoB;AACnC;AACA,eAAe,oBAAoB;AACnC;AACA,eAAe,qBAAqB;AACpC;;AAEA;AACA;;AAEA;AACA,aAAa,sEAAmB;AAChC,aAAa,oEAAiB;AAC9B,aAAa,mEAAgB;AAC7B;AACA;AACA,YAAY;AACZ;AACA;;AAEA;;AAEA;AACA;;AAEA,aAAa,wEAAqB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa,mEAAgB;AAC7B,aAAa,sEAAmB;AAChC,aAAa,uEAAoB;AACjC,aAAa,uEAAoB;AACjC,aAAa,iFAA8B;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,uEAAoB;AAChD;AACA;AACA,6BAA6B,sEAAmB;AAChD,8BAA8B,oEAAiB;AAC/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oCAAoC,mEAAgB;AACpD,oCAAoC,wEAAqB;AACzD;AACA;;AAEA;AACA,4CAA4C,wEAAqB;AACjE;AACA;;AAEA,kCAAkC,mEAAgB;AAClD;AACA,cAAc;AACd,oCAAoC,mEAAgB;AACpD,oCAAoC,yEAAsB;AAC1D,oCAAoC,mFAAgC;AACpE,oCAAoC,yEAAsB;AAC1D,oCAAoC,uEAAoB;AACxD;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,uEAAoB;AAClD,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,yBAAyB;AACtC;AACA,aAAa,oBAAoB;AACjC;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA,qBAAqB,+BAA+B;AACpD;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV,eAAe,cAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA,IAAI,2CAAM;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU,gFAAiB,EAAE,mCAAmC;AAChE;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA,IAAI,0CAAM;AACV,IAAI,2CAAM;AACV;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA,WAAW,8DAAQ;AACnB;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,MAAM,2CAAM;AACZ,MAAM,2CAAM;AACZ;AACA;AACA,QAAQ,+EAA4B;AACpC;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA,sBAAsB,wFAAmB;AACzC;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA;;AAEA,MAAM,2CAAM;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA,oDAAoD,iEAAc;AAClE;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV,eAAe,cAAc;AAC7B;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA,IAAI,2CAAM;;AAEV;AACA;AACA,MAAM,0CAAM;AACZ;AACA,MAAM,2CAAM;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA;;AAEA;AACA;AACA,iBAAiB,eAAe;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA;;AAEA;AACA;AACA,iBAAiB,eAAe;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,2EAAY;AACjC;AACA,0BAA0B,wFAAmB;AAC7C;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,wBAAwB;AACzC;;AAEA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,wFAAmB;AACzC;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;;AAEA;AACA,IAAI,0CAAM;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;;AAEA;AACA,cAAc,mHAA+B;AAC7C;AACA,iBAAiB,wFAAqC;AACtD,YAAY,+EAA4B;AACxC,YAAY,mFAAgC;AAC5C;AACA;AACA,MAAM;AACN,qBAAqB,gGAA6B;AAClD,MAAM,2CAAM;AACZ;AACA;;AAEA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI,2CAAM;;AAEV;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,YAAY;AAC5B;AACA,YAAY;AACZ;;AAEA,gBAAgB,MAAM;AACtB;AACA,YAAY;AACZ;;AAEA,gBAAgB,YAAY;AAC5B;AACA,YAAY;AACZ;;AAEA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAU;AAC1B;AACA,YAAY;AACZ;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,OAAO;AACvB;AACA,YAAY;AACZ;;AAEA,gBAAgB,MAAM;AACtB;AACA,YAAY;AACZ;;AAEA,gBAAgB,OAAO;AACvB;AACA,YAAY;AACZ;;AAEA,gBAAgB,MAAM;AACtB;AACA,YAAY;AACZ;;AAEA;AACA,aAAa,OAAO;AACpB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,WAAW;AAC3B;AACA,YAAY;AACZ;;AAEA,gBAAgB,QAAQ;AACxB;AACA,YAAY;AACZ;;AAEA,gBAAgB,MAAM;AACtB;AACA,YAAY;AACZ;;AAEA,gBAAgB,eAAe;AAC/B;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,aAAa;AACb;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,qCAAqC;AAChD,aAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,WAAW;AACtB,aAAa;AACb;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gFAAiB,EAAE,iCAAiC;AAC5D;AACA;AACA;AACA,QAAQ,gFAAiB,EAAE,mCAAmC;AAC9D;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,QAAQ,gFAAiB,EAAE,mCAAmC;AAC9D;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACn0CA;AACA,aAAa,wBAAwB;AACrC,aAAa,+BAA+B;AAC5C;AACA,aAAa,4BAA4B;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;;AAEqD;AACG;;AAExD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,uBAAuB;AACpC,mBAAmB,yBAAyB;;AAE5C;AACA;AACA;AACA;AACA,oBAAoB;AACpB,kBAAkB,8CAA8C;AAChE,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,aAAa;AACb;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,uBAAuB;AACpC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,yEAAY;AAC/B;AACA,eAAe,uBAAuB;AACtC;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,yBAAyB;AACtD;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR,4BAA4B,yBAAyB;AACrD;;AAEA;AACA,MAAM;AACN;AACA;;AAEA,eAAe,SAAS;AACxB;AACA;AACA;AACA,mBAAmB,mCAAmC;AACtD;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,8CAA8C;AAC/D;AACA;AACA;AACA;AACA;AACA,aAAa,mEAAe;AAC5B;AACA,SAAS;AACT,oBAAoB,mCAAmC;AACvD,OAAO;AACP,OAAO,0BAA0B;AACjC;AACA;AACA;AACA,sBAAsB;AACtB;AACA,OAAO;AACP,OAAO;AACP;AACA;AACA;;;;;;;;;;;;;;;;AC3PA;AACA,aAAa,wBAAwB;AACrC,aAAa,4BAA4B;AACzC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,SAAS;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC7BA;AACA,aAAa,wBAAwB;AACrC,aAAa,qBAAqB;AAClC,aAAa,uBAAuB;AACpC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,SAAS;AACtB,kBAAkB,8CAA8C;AAChE;AACA,0CAA0C,0BAA0B;AACpE;;;;;;;;;;;;;;;;ACzBA;AACA,aAAa,wBAAwB;AACrC,aAAa,2BAA2B;AACxC,aAAa,sBAAsB;AACnC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,MAAM;AACjB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA,aAAa,YAAY;AACzB;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,gBAAgB,oBAAoB;AACpC;;AAEA;AACA,mBAAmB;AACnB;;AAEA;AACA;;AAEA;AACA,YAAY,+CAA+C;AAC3D;AACA;AACA;;;;;;;;;;;;;;;;ACjDA;AACA,aAAa,wBAAwB;AACrC,aAAa,wBAAwB;AACrC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,SAAS;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC7BA;AACA,aAAa,wBAAwB;AACrC,aAAa,0BAA0B;AACvC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,SAAS;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC7BA;AACA,aAAa,wBAAwB;AACrC,aAAa,mCAAmC;AAChD,aAAa,6BAA6B;AAC1C;;AAEwD;;AAExD;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,mBAAmB;AAC9B;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,iBAAiB,yEAAY;AAC7B;AACA,aAAa,QAAQ;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,qCAAqC;AACrD;AACA;;AAEA,aAAa,SAAS;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACrEA;AACA,aAAa,wBAAwB;AACrC,aAAa,yBAAyB;AACtC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,SAAS;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC7BA;AACA,aAAa,wBAAwB;AACrC,aAAa,sBAAsB;AACnC,aAAa,6BAA6B;AAC1C,aAAa,8BAA8B;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,MAAM;AACjB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA,eAAe,KAAK;AACpB,oBAAoB;AACpB;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;AC9BA;AACA,aAAa,wBAAwB;AACrC,aAAa,+BAA+B;AAC5C,aAAa,2BAA2B;AACxC,aAAa,gCAAgC;AAC7C,aAAa,6BAA6B;AAC1C;;AAEwD;AACrB;;AAEnC;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,gBAAgB;AAC3B;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;;AAEA;AACA,WAAW,kDAAM;AACjB;;AAEA,aAAa,YAAY;AACzB,sBAAsB,KAAK,yEAAY;;AAEvC;AACA;AACA;;AAEA,aAAa,SAAS;AACtB,kBAAkB;AAClB;AACA;AACA;;;;;;;;;;;;;;;;;ACxCA;AACA,aAAa,wBAAwB;AACrC,aAAa,2BAA2B;AACxC,aAAa,uBAAuB;AACpC,aAAa,6BAA6B;AAC1C;;AAEwD;;AAExD;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,YAAY;AACzB,sBAAsB,KAAK,yEAAY;;AAEvC;AACA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,SAAS;AACtB,kBAAkB;AAClB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnC0C;AACN;AACN;AACW;AACH;AACmB;AACrB;AACN;AACqB;AACnB;AACW;AACM;AACnB;AACS;AACT;AACU;AACV;AACI;AACF;AACO;AACE;AACX;AACmB;;AAEjD;AACA;AACA;AACA,eAAe;AACf;AACO;AACP,YAAY;AACZ,SAAS,gDAAS;AAClB,MAAM;AACN,UAAU,qDAAa;AACvB,UAAU;AACV,mBAAmB;AACnB,SAAS;AACT,MAAM;AACN,gBAAgB;AAChB,OAAO;AACP,YAAY;AACZ,eAAe;AACf,MAAM;AACN,UAAU;AACV,MAAM;AACN,WAAW;AACX;AACA,MAAM;AACN,QAAQ;AACR,OAAO;AACP,WAAW;AACX,UAAU;AACV,MAAM;AACN,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC/DA;AACA,aAAa,wBAAwB;AACrC,aAAa,qBAAqB;AAClC,aAAa,4BAA4B;AACzC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,MAAM;AACnB,gBAAgB;AAChB;;AAEA,aAAa,SAAS;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AClCA;AACA,aAAa,wBAAwB;AACrC,aAAa,+BAA+B;AAC5C,aAAa,2BAA2B;AACxC,aAAa,+BAA+B;AAC5C,aAAa,6BAA6B;AAC1C;;AAEwD;AACrB;;AAEnC;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,eAAe;AAC1B;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;;AAEA;AACA,WAAW,kDAAM;AACjB;;AAEA,aAAa,YAAY;AACzB,sBAAsB,MAAM,yEAAY;;AAExC;AACA;AACA;;AAEA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC7CA;AACA,aAAa,wBAAwB;AACrC,aAAa,2BAA2B;AACxC,aAAa,sBAAsB;AACnC,aAAa,6BAA6B;AAC1C;;AAEwD;;AAExD;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,MAAM;AACjB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,YAAY;AACzB,sBAAsB,MAAM,yEAAY;;AAExC;AACA;AACA;;AAEA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACpCA;AACA,aAAa,wBAAwB;AACrC,aAAa,+BAA+B;AAC5C,aAAa,2BAA2B;AACxC,aAAa,0BAA0B;AACvC,aAAa,yBAAyB;AACtC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,UAAU;AACrB;AACA,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA,aAAa,YAAY;AACzB;AACA,aAAa,uBAAuB;AACpC;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;;AAEA;AACA;AACA,MAAM;AACN,mBAAmB,6CAA6C;AAChE;AACA;;AAEA;AACA,kCAAkC,yBAAyB;AAC3D;;AAEA;AACA;AACA;AACA,mBAAmB,wDAAwD;AAC3E;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,0BAA0B;AAC/C;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;;AAEA,aAAa,SAAS;AACtB,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC5HA;AACA,aAAa,wBAAwB;AACrC,aAAa,2BAA2B;AACxC,aAAa,sBAAsB;AACnC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,MAAM;AACjB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,YAAY;AACzB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACvDA;AACA,aAAa,wBAAwB;AACrC,aAAa,2BAA2B;AACxC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,WAAW;AACtB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,SAAS;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC7BA;AACA,aAAa,wBAAwB;AACrC,aAAa,qBAAqB;AAClC,aAAa,sBAAsB;AACnC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,WAAW;AACtB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,UAAU;AACvB,kBAAkB;AAClB;AACA;AACA;;;;;;;;;;;;;;;;ACzBA;AACA,aAAa,wBAAwB;AACrC,aAAa,wBAAwB;AACrC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,SAAS;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC7BA;AACA,aAAa,wBAAwB;AACrC,aAAa,2BAA2B;AACxC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,WAAW;AACtB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC/BA;AACA,aAAa,wBAAwB;AACrC,aAAa,+BAA+B;AAC5C,aAAa,2BAA2B;AACxC,aAAa,yBAAyB;AACtC,aAAa,0BAA0B;AACvC,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,UAAU;AACrB;AACA,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,uBAAuB;AACpC;;AAEA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,SAAS;AACxB,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,aAAa,SAAS;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACpEA;AACA,aAAa,wBAAwB;AACrC,aAAa,uBAAuB;AACpC,aAAa,6BAA6B;AAC1C;;AAEwD;;AAExD;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA,aAAa,gBAAgB;AAC7B;;AAEA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA,kBAAkB,+DAAU;AAC5B,gBAAgB,6DAAQ;AACxB,uCAAuC;AACvC;AACA;;AAEA,aAAa,SAAS;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;AC5DA;AACA,aAAa,wBAAwB;AACrC,aAAa,qBAAqB;AAClC,aAAa,sBAAsB;AACnC,aAAa,6BAA6B;AAC1C;;AAEoC;;AAEpC;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,WAAW;AACtB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,UAAU;AACvB,kBAAkB,qBAAqB,qDAAS;AAChD;AACA;AACA;;;;;;;;;;;;;;;;ACxBA;AACA,aAAa,wBAAwB;AACrC,aAAa,+BAA+B;AAC5C,aAAa,6BAA6B;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,eAAe;AAC1B;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,SAAS;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;AC7BA;AACA,aAAa,sBAAsB;AACnC,aAAa,uBAAuB;AACpC,aAAa,8BAA8B;AAC3C;;AAEmC;AACD;AACI;;AAEtC;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;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,4BAA4B;AACvC;AACA,aAAa;AACb;AACA;AACO;AACP,gBAAgB,sDAAW;AAC3B;AACA,eAAe,kDAAM;AACrB,aAAa,WAAW;AACxB;AACA,OAAO;AACP,eAAe;;AAEf;AACA;AACA;AACA;AACA,IAAI,0CAAM;AACV,0BAA0B,0BAA0B;AACpD;;AAEA;AACA;;;;;;;;;;;;;;;;ACzGA;AACA,aAAa,+BAA+B;AAC5C;AACA,aAAa,uBAAuB;AACpC,aAAa,2BAA2B;AACxC;AACA,aAAa,4BAA4B;AACzC;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,2BAA2B;AACtC;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,aAAa,8CAA8C;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,IAAI;AACJ,sBAAsB,yBAAyB;AAC/C;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ,mBAAmB,4BAA4B;AAC/C;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;ACtDA;AACA,aAAa,wBAAwB;AACrC,aAAa,+BAA+B;AAC5C,aAAa,sBAAsB;AACnC,aAAa,2BAA2B;AACxC,aAAa,4BAA4B;AACzC,aAAa,qBAAqB;AAClC;AACA,aAAa,4BAA4B;AACzC,aAAa,oCAAoC;AACjD,aAAa,uBAAuB;AACpC,aAAa,yBAAyB;AACtC;AACA,aAAa,uBAAuB;AACpC;AACA,aAAa,mDAAmD;AAChE,aAAa,iDAAiD;AAC9D;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,KAAK;AAChB;AACA,WAAW,0BAA0B;AACrC;AACA,aAAa;AACb;AACA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA,cAAc,4BAA4B;AAC1C;AACA;AACA,cAAc,2BAA2B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,0BAA0B;AACxC;AACA,cAAc,yDAAyD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,uBAAuB,8CAA8C;AACrE,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,uDAAuD;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,2BAA2B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,mCAAmC,0BAA0B,uBAAuB;AAClG,yDAAyD;AACzD,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,2BAA2B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,6BAA6B;AAC3C;AACA,cAAc,8CAA8C;AAC5D;AACA;AACA;AACA,cAAc,4BAA4B;AAC1C;AACA;AACA;AACA;AACA,cAAc,iDAAiD;AAC/D;AACA,cAAc,4EAA4E;AAC1F;AACA,cAAc,8BAA8B;AAC5C;AACA,cAAc,sCAAsC;AACpD;AACA,cAAc,qBAAqB;AACnC;AACA,cAAc,eAAe;AAC7B;AACA,cAAc,UAAU;AACxB;AACA,cAAc,oHAAoH;AAClI;AACA,cAAc,SAAS;AACvB;AACA,cAAc,kDAAkD;AAChE;AACA,cAAc,2GAA2G;AACzH;AACA;;AAEqD;AACf;AACM;AACmB;;AAE/D,cAAc;;AAEd,WAAW,SAAS;AACpB;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,4BAA4B;AACvC;AACA,aAAa;AACb;AACA;AACO;AACP;AACA,aAAa,8BAA8B;AAC3C;AACA,aAAa,sCAAsC;AACnD;AACA,aAAa,qBAAqB;AAClC;AACA,aAAa,UAAU;AACvB;AACA;AACA,oBAAoB,GAAG,wDAAe;;AAEtC,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE,wDAAK;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA,aAAa,0BAA0B;AACvC;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,sBAAsB;AACrC,uBAAuB,mEAAe;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mEAAe;AAC5B;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA,eAAe;AACf;AACA;AACA;AACA,eAAe,2BAA2B;AAC1C;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,WAAW,WAAW;AACtB;AACA,aAAa;AACb;AACA;AACA;AACA,mCAAmC,6DAAQ;AAC3C;;AAEA;AACA;AACA;AACA,cAAc,WAAW;AACzB;AACA,WAAW,YAAY;AACvB;AACA,WAAW,MAAM;AACjB;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA,kBAAkB,+CAA+C;AACjE;AACA;;AAEA;AACA,uCAAuC,mEAAe;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA,WAAW,aAAa;AACxB;AACA,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,wBAAwB;AACrC;AACA;;AAEA;AACA,iBAAiB,0BAA0B;AAC3C;;AAEA;AACA,4BAA4B,0BAA0B;AACtD;AACA;;AAEA;AACA,iBAAiB,0BAA0B;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;ACxdA;AACA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA,cAAc,4BAA4B;AAC1C;AACA,cAAc,4BAA4B;AAC1C;AACA;;AAEA,WAAW,SAAS;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,4BAA4B;AACvC;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,SAAS;AACpB;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,SAAS;AACpB;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC3GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACgB;AACgB;AACd;AACQ;;AAE7D,WAAW,WAAW;AACf;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,cAAc;AAC3B;AACA,aAAa,QAAQ;AACrB;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB;AACzB,uBAAuB;AACvB;AACA;;AAEA;AACA,4BAA4B,uEAAoB,GAAG,yEAAsB;AACzE;AACA,kBAAkB;AAClB;AACA;AACA,4BAA4B,uEAAoB,GAAG,yEAAsB;AACzE,oBAAoB,0BAA0B;AAC9C;AACA;AACA;AACA,4BAA4B,mEAAgB,GAAG,qEAAkB;AACjE,oBAAoB,uBAAuB;AAC3C,kBAAkB;AAClB;AACA;AACA,4BAA4B,+DAAY,GAAG,iEAAc;AACzD,oBAAoB,yBAAyB;AAC7C,kBAAkB;AAClB;;AAEA,iCAAiC;AACjC,oCAAoC;;AAEpC;;AAEA;AACA;AACA,yBAAyB,4DAAI;AAC7B;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,4DAAI;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,2CAAM;AAChB;AACA;AACA;;AAEA;AACA,uBAAuB,4DAAI;AAC3B;AACA,YAAY,sEAAU;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,4DAAI;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,4DAAI;AAC7B;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA,UAAU,8DAAM;;AAEhB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,iBAAiB,oFAAiB;;AAElC,aAAa,mBAAmB;AAChC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM;AACV,eAAe,iEAAc,aAAa,mEAAgB;AAC1D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kBAAkB,oFAAiB;;AAEnC;AACA,IAAI,2CAAM;;AAEV;AACA;AACA,iBAAiB,sFAAmC;AACpD;AACA;AACA;AACA,kBAAkB,sFAAmC;AACrD;;AAEA;AACA,iBAAiB,iEAAc;AAC/B;AACA;AACA,iBAAiB,iEAAc;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AC3SA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AAMF;AAC4B;;AAE7D,WAAW,WAAW;AACf,kBAAkB;;AAEzB;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,UAAU,iEAAc;AAClC,kBAAkB,iEAAc;AAChC,kBAAkB,uEAAoB;AACtC;AACA,iBAAiB,uEAAoB;AACrC,kBAAkB,yEAAsB;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,QAAQ,oEAAU;AAClB;AACA;AACA;;AAEA,iBAAiB,+DAAY;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,iEAAc;AAC7B,eAAe,6DAAU;AACzB,eAAe,4DAAS;AACxB,MAAM,2EAAiB;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,8DAAW;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB,iEAAc;AAC9B,iBAAiB,6DAAU;AAC3B,iBAAiB,4DAAS;AAC1B,QAAQ,2EAAiB;AACzB,eAAe,kFAA+B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,oEAAiB;AAClC,mBAAmB,yEAAsB;AACzC,oBAAoB,uEAAoB;AACxC;AACA,mBAAmB,uEAAoB;AACvC,mBAAmB,iEAAc;AACjC;AACA;;AAEA;AACA;AACA,eAAe,4DAAS;AACxB,eAAe,8DAAW;AAC1B,eAAe,iEAAc;AAC7B,MAAM,sEAAY;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,+DAAY;AAC7B;AACA;AACA;;AAEA,QAAQ,oEAAU;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,2EAAiB;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS;AAC1B;AACA;AACA;AACA;;AAEA,iBAAiB,oEAAiB;AAClC;AACA,mBAAmB,yEAAsB,SAAS,sEAAmB;AACrE,oBAAoB,uEAAoB;AACxC;AACA,mBAAmB,uEAAoB;AACvC,mBAAmB,iEAAc;AACjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,gBAAgB,6DAAU,IAAI,2EAAiB;AAC/C,eAAe,kFAA+B;AAC9C;AACA,4BAA4B,6DAAU;AACtC;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC5QA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEoD;AACsB;AACxB;;AAElD,WAAW,WAAW;AACf,mBAAmB;;AAE1B;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,uEAAa;AACxB,QAAQ,qEAAY,iBAAiB,mEAAgB;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,4DAAS,IAAI,4EAAkB;AACnD;AACA;;;;;;;;;;;;;;;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACiB;AACE;AACO;;AAE7D,WAAW,WAAW;AACf;AACP,iBAAiB,yCAAyC;AAC1D;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,oEAAiB;AAClC;;AAEA,MAAM,2CAAM;;AAEZ;AACA,sBAAsB,mEAAgB,GAAG,iBAAiB;AAC1D;AACA;;AAEA,oBAAoB,yEAAsB;AAC1C,oBAAoB,yEAAsB;AAC1C;AACA,mBAAmB,yEAAsB;AACzC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,QAAQ,uEAAa;AACrB,oBAAoB,mFAAgC;AACpD;AACA,mBAAmB,mFAAgC;AACnD,mBAAmB,yEAAsB;AACzC;AACA;;AAEA,iBAAiB,yEAAsB;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,QAAQ,uEAAa;AACrB;AACA,MAAM,0CAAM;AACZ;AACA;AACA;;AAEA,aAAa,qEAAY;AACzB;AACA;AACA,QAAQ,mEAAgB;AACxB;AACA;AACA,YAAY,oEAAiB;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA,WAAW,QAAQ;AACnB;AACA,eAAe,mEAAgB;AAC/B;;;;;;;;;;;;;;;;;;;;ACjKA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACsB;AACP;;AAElD,WAAW,WAAW;AACf;AACP;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,UAAU,kEAAe;AACnC,kBAAkB,wEAAqB;AACvC,kBAAkB,qEAAkB;AACpC;AACA,iBAAiB,qEAAkB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,QAAQ,0EAAgB;AACxB,oBAAoB,6EAA0B;AAC9C;AACA,mBAAmB,6EAA0B;AAC7C,mBAAmB,wEAAqB;AACxC;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AAC2C;AAK7C;AAC4B;;AAE7D,WAAW,WAAW;AACf;AACP;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,yBAAyB;AACtC;;AAEA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,gBAAgB;AAChB;AACA,eAAe;AACf;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,UAAU,kEAAe;AACnC,kBAAkB,2EAAwB;AAC1C,kBAAkB,iFAA8B;AAChD;AACA,iBAAiB,iFAA8B;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,gBAAgB;AAChB;AACA,eAAe;AACf;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,mEAAgB;AACjC,oBAAoB,wFAAqC;AACzD;AACA,mBAAmB,wFAAqC;AACxD;AACA;;AAEA,kBAAkB,gFAA6B;AAC/C,UAAU,2FAAwC;AAClD,WAAW,uEAAiB;AAC5B;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,eAAe;AACf;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,mEAAgB,aAAa,mEAAgB;AAC9D,oBAAoB,4FAAyC;AAC7D;AACA,mBAAmB,4FAAyC;AAC5D,oBAAoB,gFAA6B;AACjD,YAAY,iGAA8C;AAC1D,aAAa,mEAAa;AAC1B;AACA;;AAEA,kBAAkB,gFAA6B;AAC/C,UAAU,6FAA0C;AACpD,WAAW,gEAAU;AACrB;AACA;;AAEA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,gBAAgB;AAChB;AACA,eAAe;AACf;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,kEAAe;AAChC,iCAAiC,gFAA6B;;AAE9D;AACA,iBAAiB,uEAAiB;AAClC,SAAS,+FAA6B;AACtC;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,iFAA8B;AAClD;AACA,mBAAmB,iFAA8B;AACjD,mBAAmB,2EAAwB;AAC3C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACrKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACiB;AACsB;AACb;;AAE7D,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA,WAAW,WAAW;AACf;AACP;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA,aAAa,WAAW;AACxB,sBAAsB;AACtB;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,0CAAM;AACV,eAAe,oEAAiB,aAAa,8DAAW;AACxD;AACA;;AAEA;AACA;AACA,+BAA+B,mEAAgB;AAC/C;AACA;;AAEA;AACA,kBAAkB,mEAAgB;AAClC,kBAAkB,wEAAqB;AACvC,kBAAkB,gFAA6B;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,sFAAmC;AACtD;AACA;;AAEA,iBAAiB,gFAA6B;AAC9C,WAAW,uEAAa;AACxB,QAAQ,qEAAY,sBAAsB,mEAAgB;AAC1D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD,mBAAmB,wEAAqB;AACxC;AACA;AACA;AACA;;AAEA,kBAAkB,4EAAyB;AAC3C,kBAAkB,oEAAiB,GAAG,aAAa,8EAA2B,CAAC;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD,mBAAmB,oEAAiB;AACpC,mBAAmB,4EAAyB;AAC5C;AACA;;AAEA,QAAQ,uEAAa;AACrB,mBAAmB,oEAAiB;AACpC,mBAAmB,4EAAyB;AAC5C,aAAa,qEAAY,sBAAsB,mEAAgB;AAC/D;;AAEA,iBAAiB,oEAAiB;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD;AACA;;AAEA,kBAAkB,4EAAyB;AAC3C,kBAAkB,oEAAiB,GAAG,aAAa,8EAA2B,CAAC;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD,mBAAmB,oEAAiB;AACpC,mBAAmB,4EAAyB;AAC5C;AACA;;AAEA,iBAAiB,oEAAiB;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,0CAAM,CAAC,4EAAkB;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,0CAAM,CAAC,4EAAkB;AAC7B,kBAAkB,mEAAgB;AAClC;AACA,iBAAiB,mEAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,gCAAgC,uEAAa;AAC7C,QAAQ,qEAAY;AACpB;AACA;AACA,UAAU,mEAAgB;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD;AACA;;AAEA,kBAAkB,sEAAmB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD,mBAAmB,sEAAmB;AACtC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,mEAAgB;AACjC;AACA;;AAEA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,MAAM,2CAAM,CAAC,4EAAkB;AAC/B,oBAAoB,mEAAgB;AACpC;AACA,mBAAmB,mEAAgB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,MAAM,0CAAM;AACZ;AACA;AACA;;AAEA;AACA,oBAAoB,wEAAqB;AACzC,aAAa,uEAAa;AAC1B,UAAU,qEAAY;AACtB;AACA;AACA,YAAY,mEAAgB;AAC5B;AACA;AACA,gBAAgB,oEAAiB;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,sBAAsB,gFAA6B;AACnD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,gFAA6B;AAClD,eAAe,uEAAa;AAC5B,YAAY,qEAAY,8BAA8B,mEAAgB;AACtE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,mBAAmB,4DAAS,IAAI,4EAAkB;AAClD,qBAAqB,wEAAqB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS;AAC1B;AACA;;AAEA,IAAI,0CAAM,CAAC,4EAAkB;AAC7B,kBAAkB,mEAAgB;AAClC;AACA,iBAAiB,mEAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACjgBA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACiB;AACsB;AACb;;AAE7D,WAAW,WAAW;AACf;AACP;AACA;AACA;;AAEA,WAAW,WAAW;AACtB,sBAAsB;;AAEtB;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,IAAI,2CAAM,CAAC,uEAAa;AACxB,kBAAkB,qEAAkB;AACpC;AACA;AACA,WAAW,qEAAY;AACvB;AACA;AACA,MAAM,mEAAgB;AACtB,MAAM,oEAAiB;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,uBAAuB,mEAAgB;AACvC,sDAAsD,oEAAiB;AACvE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS;AAC1B;AACA;;AAEA,QAAQ,4EAAkB;AAC1B;AACA;;AAEA,kBAAkB,sEAAmB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD,mBAAmB,sEAAmB;AACtC;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA,iBAAiB,qEAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,4EAAkB;AAC1B,oBAAoB,mEAAgB;AACpC;AACA,mBAAmB,mEAAgB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,qEAAY;AACvB;AACA;AACA,MAAM,mEAAgB;AACtB,MAAM,oEAAiB;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,uBAAuB,mEAAgB;AACvC,sDAAsD,oEAAiB;AACvE;AACA,QAAQ,4EAAkB;AAC1B;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACzMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACwB;AACT;;AAElD,WAAW,WAAW;AACf;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA,wCAAwC,mEAAgB;AACxD;AACA,uCAAuC,mEAAgB;AACvD;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,qEAAkB;AACtD;AACA,yCAAyC,wEAAqB;AAC9D,wCAAwC,wEAAqB;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,mEAAgB;AAClD;AACA;AACA;AACA,MAAM;AACN;AACA,gCAAgC,mEAAgB;AAChD;AACA,8BAA8B,qEAAkB;;AAEhD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,aAAa,oEAAiB;AAC9B,oDAAoD,wEAAqB;AACzE;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,OAAO;AACpB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,UAAU,oEAAiB;AACrC,IAAI,2CAAM;AACV,kBAAkB,iEAAc;AAChC,kBAAkB,yEAAsB;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,oEAAiB;AAClC;AACA;AACA;AACA;;AAEA,iBAAiB,yEAAsB;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,iBAAiB,4DAAS;AAC1B;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,8DAAW;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,oEAAiB;AAClC,4BAA4B,yEAAsB;AAClD;AACA;AACA;;AAEA,QAAQ,4EAAkB;AAC1B,oBAAoB,mEAAgB;AACpC;AACA,mBAAmB,mEAAgB;AACnC;AACA;;AAEA;AACA,kBAAkB,qEAAkB;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,4DAAS;AACxB,eAAe,8DAAW;AAC1B,eAAe,oEAAiB;AAChC,MAAM,4EAAkB;AACxB;AACA,mBAAmB,qEAAkB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,iBAAiB,oEAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,yEAAsB;AACzC,mBAAmB,iEAAc;AACjC;AACA;;AAEA;AACA,iBAAiB,qEAAkB;AACnC;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;AChQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACiB;AACO;AACL;AACO;;AAE7D;AACA;AACA,UAAU;AACV;AACO,iBAAiB;;AAExB,WAAW,WAAW;AACtB,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,EAAE,wEAAW;AACb;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM;AACV,eAAe,4DAAS,KAAK,4EAAkB;AAC/C;AACA;;AAEA,kBAAkB,gEAAa;AAC/B,6BAA6B,qEAAkB;AAC/C,mBAAmB,+EAA4B;AAC/C,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS;AAC1B;AACA;;AAEA;AACA;AACA,QAAQ,4EAAkB;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,qEAAkB;AACnC,iBAAiB,gEAAa;AAC9B;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,0CAAM,CAAC,4EAAkB;AAC7B;AACA,iBAAiB,qEAAkB;AACnC,IAAI,2CAAM;AACV,kCAAkC,qEAAkB;AACpD,mBAAmB,+EAA4B;AAC/C;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,CAAC,4EAAkB;AAC7B,iBAAiB,qEAAkB;AACnC,kBAAkB,mEAAgB;AAClC;AACA,iBAAiB,mEAAgB;AACjC,WAAW,qEAAY,oBAAoB,mEAAgB;AAC3D;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD;AACA;;AAEA;AACA,IAAI,0CAAM;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uBAAuB,mEAAgB;AACvC,sDAAsD,oEAAiB;AACvE;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ACxLA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AAC6B;AACZ;AACA;AACA;AACU;AAK7B;AACsC;AACrB;;AAElD,WAAW,WAAW;AACf,oBAAoB;;AAE3B,WAAW,WAAW;AACtB,qBAAqB;;AAErB;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA,aAAa,QAAQ;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,kBAAkB,mEAAgB;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,IAAI,0CAAM,UAAU,0EAAuB;AAC3C,WAAW,sEAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA,MAAM,wEAAqB;AAC3B,MAAM,8EAA2B;AACjC,MAAM,8EAA2B;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,wFAAmB;AACpC;AACA;;AAEA,iBAAiB,8DAAW;AAC5B,oBAAoB,yEAAsB;AAC1C;AACA,mBAAmB,yEAAsB;AACzC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,WAAW,mFAAyB;AACpC,QAAQ,+EAAiB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,iFAAkB;AAC7B;AACA;AACA;AACA;AACA,MAAM,8EAA2B;AACjC,MAAM,qFAAkC;AACxC,MAAM,2FAAwC;AAC9C,MAAM,iFAA8B;AACpC,MAAM,oFAAiC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,uEAAa;AACxB,QAAQ,qEAAY,2BAA2B,mEAAgB;AAC/D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD,mBAAmB,mEAAgB;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,mFAAyB;AACpC,QAAQ,+EAAiB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,qEAAY;AACvB;AACA;AACA;AACA,MAAM,wEAAqB;AAC3B,MAAM,8EAA2B;AACjC,MAAM,8EAA2B;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,uEAAa;AACxB,QAAQ,qEAAY;AACpB;AACA;AACA,UAAU,mEAAgB;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,4DAAS,IAAI,4EAAkB;AACnD;AACA;;;;;;;;;;;;;;;;;;;;ACtSA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACwB;AACT;;AAElD,WAAW,WAAW;AACf;AACP;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,UAAU,kEAAe;AACnC,kBAAkB,wEAAqB;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,QAAQ,4EAAkB;AAC1B,mBAAmB,wEAAqB;AACxC;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACiB;AAKnB;AACY;AACgB;;AAE7D,WAAW,WAAW;AACf;AACP;AACA;AACA;AACA;;AAEA,WAAW,UAAU;AACrB;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA,aAAa,OAAO;AACpB;;AAEA;AACA,uCAAuC,mEAAgB;AACvD;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,mEAAgB;AACnD;AACA;AACA;;AAEA;AACA,mCAAmC,2EAAwB;AAC3D;AACA;AACA,2CAA2C,mEAAgB;AAC3D;AACA;AACA;;AAEA;AACA;AACA,YAAY,uEAAoB;AAChC;AACA;AACA;AACA;AACA,YAAY,kEAAe;AAC3B;AACA;AACA,mBAAmB,4EAAyB;AAC5C;;AAEA,IAAI,+DAAM;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,kBAAkB,mEAAgB;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,0CAAM,UAAU,mEAAgB;AACpC,kBAAkB,2EAAwB;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,mEAAgB;AAC/B,eAAe,0FAAuC;AACtD;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,4DAAS,IAAI,mFAAyB;AACvD,mBAAmB,2EAAwB;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,mEAAgB;AACjC,oBAAoB,2EAAwB;AAC5C;AACA;;AAEA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD,mBAAmB,mEAAgB;AACnC;AACA;AACA;AACA;AACA;;AAEA,QAAQ,uEAAa;AACrB,aAAa,qEAAY,mBAAmB,mEAAgB;AAC5D;;AAEA;AACA;AACA,kBAAkB,uEAAoB;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,mEAAgB;AACjC;AACA;AACA;;AAEA,iBAAiB,2EAAwB;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,4DAAS;AACxB,eAAe,mEAAgB;AAC/B,MAAM,mFAAyB;AAC/B;AACA,mBAAmB,uEAAoB;AACvC;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;ACxOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AAOF;AACwC;AACZ;AACpB;;AAEzC,WAAW,WAAW;AACf;AACP;AACA;AACA;AACA;AACA;;AAEA,WAAW,WAAW;AACtB,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA,WAAW,UAAU;AACrB;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,iEAAc;AAC9C;AACA;AACA;AACA;;AAEA,iDAAiD,mEAAgB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,SAAS;AACtB;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,MAAM;AACnB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,0CAAM,UAAU,iEAAc;AAClC,kBAAkB,iEAAc;AAChC,kBAAkB,qEAAkB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,wEAAqB;AACtC;AACA;AACA;;AAEA,iBAAiB,8DAAW;AAC5B;AACA;AACA;AACA;;AAEA,iBAAiB,qEAAkB;AACnC;AACA,eAAe,4EAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,oEAAU;AAClB,MAAM,0CAAM;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,6DAAU;AAC3B;AACA,eAAe,wEAAqB;AACpC;AACA;;AAEA,iBAAiB,0EAAuB;AACxC;AACA,eAAe,sEAAmB;AAClC;AACA;AACA;;AAEA;AACA,QAAQ,oEAAU;AAClB;AACA,eAAe,4EAAyB;AACxC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,6DAAU;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,kBAAkB,+EAA4B;;AAE9C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,QAAQ,oEAAU;AAClB,MAAM,0CAAM;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,4DAAS;AACxB,eAAe,8DAAW;AAC1B,eAAe,oEAAiB;AAChC,MAAM,mFAAyB;AAC/B;AACA,6BAA6B,8DAAW;AACxC;;AAEA,mCAAmC,+EAAqB;AACxD,iBAAiB,oEAAiB;AAClC;AACA;AACA;AACA;;AAEA,UAAU,iFAAuB;AACjC,iBAAiB,sEAAmB;;AAEpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,yEAAsB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,6DAAU,IAAI,2EAAiB;AAChD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,oEAAiB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,QAAQ,uEAAa;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,8DAAW;AAC5B;AACA;AACA;;AAEA;AACA,iBAAiB,8DAAW,aAAa,mEAAgB,IAAI,oEAAU;AACvE;AACA;AACA;;AAEA,QAAQ,uEAAa;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,6DAAU;AACzB,eAAe,4DAAS;AACxB,eAAe,8DAAW;AAC1B,eAAe,mEAAgB;AAC/B,MAAM,2EAAiB;AACvB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,iEAAc;AAC/B;AACA;AACA;;AAEA,QAAQ,uEAAa;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,4DAAS;AACxB,eAAe,iEAAc;AAC7B,eAAe,iEAAc;AAC7B,eAAe,oEAAiB;AAChC,eAAe,oEAAiB;AAChC;AACA;AACA;;AAEA,iBAAiB,sEAAmB,aAAa,mEAAgB;AACjE;AACA;AACA;AACA;;AAEA,QAAQ,uEAAa;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,4DAAS;AACxB,eAAe,sEAAmB;AAClC,eAAe,mEAAgB;AAC/B,eAAe,8DAAW;AAC1B,eAAe,iEAAc;AAC7B,eAAe,iEAAc;AAC7B,eAAe,oEAAiB;AAChC,eAAe,oEAAiB;AAChC,MAAM,mFAAyB;AAC/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,8DAAW;AAC1B,eAAe,oEAAiB;AAChC,MAAM,uEAAa;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,oEAAiB;AAClC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD;AACA;AACA;AACA;;AAEA,QAAQ,uEAAa;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,6DAAU,eAAe,wEAAqB;AAC/D;AACA;AACA;;AAEA,iBAAiB,iEAAc,eAAe,oEAAiB;AAC/D;AACA;AACA;;AAEA,iBAAiB,oEAAiB,eAAe,4EAAyB;AAC1E;AACA;AACA;;AAEA,iBAAiB,qEAAkB,eAAe,4EAAyB;AAC3E;AACA;AACA;;AAEA,iBAAiB,2EAAwB,eAAe,sEAAmB;AAC3E;AACA;AACA;;AAEA;AACA,MAAM,4EAAkB;AACxB,kBAAkB,sEAAmB,eAAe,yEAAsB;AAC1E;AACA,mBAAmB,qEAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD,mBAAmB,qEAAkB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,0CAAM,CAAC,4EAAkB;AAC7B,kBAAkB,mEAAgB;AAClC;AACA,iBAAiB,mEAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD;AACA;;AAEA,kBAAkB,qEAAkB;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,6DAAU;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,8DAAW;AAC5B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,oEAAiB;AAClC;;AAEA,UAAU,+EAAqB;AAC/B;AACA;AACA;;AAEA;AACA;;AAEA,QAAQ,oEAAU,0BAA0B,2EAAwB;AACpE,MAAM,0CAAM;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,2EAAwB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,oEAAiB;AAClC;AACA;AACA;;AAEA;AACA,iBAAiB,6DAAU,eAAe,wEAAqB;AAC/D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD,mBAAmB,qEAAkB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,iEAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,QAAQ,4EAAkB;AAC1B,oBAAoB,mEAAgB;AACpC;AACA,mBAAmB,mEAAgB;AACnC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,CAAC,4EAAkB;AAC7B,kBAAkB,mEAAgB;AAClC;AACA,iBAAiB,mEAAgB;AACjC,2BAA2B,qDAAS;AACpC;AACA;;;;;;;;;;;;;;;;;;;;;;AC59BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACiB;AAOnB;AAC4B;;AAE7D,WAAW,WAAW;AACf,kBAAkB;;AAEzB;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA,aAAa,+BAA+B;AAC5C;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,OAAO;AACpB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,UAAU,iEAAc;AAClC,kBAAkB,iEAAc;AAChC,kBAAkB,qEAAkB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,wEAAqB;AACtC;AACA;AACA;;AAEA,iBAAiB,8DAAW;AAC5B;AACA;AACA;;AAEA,iBAAiB,qEAAkB;AACnC;AACA;AACA;;AAEA;AACA,QAAQ,oEAAU;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,6DAAU;AAC3B;AACA;AACA;;AAEA,iBAAiB,0EAAuB;AACxC;AACA;AACA;AACA;;AAEA,QAAQ,oEAAU;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,6DAAU;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS;AAC1B;AACA;;AAEA,iBAAiB,6DAAU;AAC3B;AACA;AACA;;AAEA,QAAQ,4EAAkB;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,6DAAU;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,oEAAiB;AACrC;AACA,iBAAiB,6DAAU;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,kBAAkB,+EAA4B;;AAE9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS;AAC1B;AACA;;AAEA,iBAAiB,2EAAwB;AACzC;AACA;AACA;;AAEA,QAAQ,4EAAkB;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,2EAAwB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,oEAAiB;AAClC;AACA;;AAEA,iBAAiB,2EAAwB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,aAAa,oEAAiB;AACxD;AACA;;AAEA,QAAQ,4EAAkB;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS;AAC1B;AACA;;AAEA,iBAAiB,qEAAkB;AACnC;AACA;AACA;;AAEA,QAAQ,4EAAkB;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,oBAAoB,oEAAiB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,QAAQ,oEAAU;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,iBAAiB,6DAAU,IAAI,2EAAiB;AAChD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,QAAQ,4EAAkB;AAC1B;AACA;AACA;;AAEA,QAAQ,uEAAa;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,iBAAiB,6DAAU,IAAI,2EAAiB;AAChD;AACA;AACA;;AAEA;AACA,eAAe,8DAAW;AAC1B,eAAe,oEAAiB;AAChC,MAAM,mFAAyB;AAC/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,8DAAW;AAC5B;AACA;AACA;;AAEA;AACA,iBAAiB,8DAAW,aAAa,mEAAgB,IAAI,oEAAU;AACvE;AACA;AACA;;AAEA,QAAQ,4EAAkB;AAC1B;AACA;AACA;;AAEA,QAAQ,uEAAa;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,eAAe,6DAAU;AACzB,eAAe,4DAAS;AACxB,eAAe,8DAAW;AAC1B,eAAe,mEAAgB;AAC/B,MAAM,2EAAiB;AACvB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,iEAAc;AAC/B;AACA;AACA;;AAEA,QAAQ,4EAAkB;AAC1B;AACA;AACA;;AAEA,QAAQ,uEAAa;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,4DAAS;AACxB,eAAe,iEAAc;AAC7B,eAAe,iEAAc;AAC7B,eAAe,oEAAiB;AAChC,eAAe,oEAAiB;AAChC;AACA;AACA;;AAEA,iBAAiB,sEAAmB,aAAa,mEAAgB;AACjE;AACA;AACA;AACA;;AAEA,QAAQ,4EAAkB;AAC1B;AACA;AACA;;AAEA,QAAQ,uEAAa;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4DAAS;AAC1B;AACA;;AAEA,QAAQ,4EAAkB;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,4DAAS;AACxB,eAAe,sEAAmB;AAClC,eAAe,mEAAgB;AAC/B,eAAe,iEAAc;AAC7B,eAAe,iEAAc;AAC7B,eAAe,oEAAiB;AAChC;AACA;AACA;;AAEA;AACA,eAAe,8DAAW;AAC1B,eAAe,oEAAiB;AAChC,MAAM,mFAAyB;AAC/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,8DAAW;AAC1B,eAAe,oEAAiB;AAChC,MAAM,mFAAyB;AAC/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,oEAAiB;AAClC;AACA,mBAAmB,qEAAkB;AACrC,mBAAmB,iEAAc;AACjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,0CAAM;AACV,IAAI,2CAAM,CAAC,4EAAkB;AAC7B,iBAAiB,qEAAkB;AACnC,kBAAkB,mEAAgB;AAClC;AACA,iBAAiB,mEAAgB;AACjC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,IAAI,0CAAM;AACV;AACA;AACA;AACA,WAAW,uEAAa;AACxB,QAAQ,qEAAY;AACpB;AACA;AACA,UAAU,mEAAgB;AAC1B;AACA;AACA,cAAc,oEAAiB;AAC/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,kBAAkB,qEAAkB;AACpC;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9wBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AAC6B;AACZ;AACA;AACU;AACI;AACf;AACoB;AAClB;AACQ;;AAE7D,WAAW,WAAW;AACf;AACP;AACA;AACA;AACA;AACA;;AAEA,WAAW,WAAW;AACtB,2BAA2B;AAC3B,WAAW,WAAW;AACtB,gCAAgC;AAChC,WAAW,WAAW;AACtB,qCAAqC;;AAErC,WAAW,UAAU;AACrB;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mEAAgB;AACrC,qBAAqB,kEAAe;AACpC,qBAAqB,iEAAc;AACnC;AACA;AACA,oCAAoC,mEAAgB;AACpD,mBAAmB,6DAAU;AAC7B;AACA;AACA;;AAEA;AACA;AACA,IAAI,8DAAM;AACV;;AAEA;AACA;;AAEA,WAAW,UAAU;AACrB;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA,aAAa,oBAAoB;AACjC;AACA,aAAa,oBAAoB;AACjC;AACA,aAAa,cAAc;AAC3B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,6DAAU;AACjC,wBAAwB,kEAAe;AACvC;AACA;AACA;;AAEA;AACA;AACA,yDAAyD,kEAAe;AACxE;AACA;AACA,MAAM;AACN;AACA;AACA,wBAAwB,mEAAgB,mBAAmB,kEAAe;AAC1E;AACA;AACA;;AAEA,2BAA2B,kEAAe;AAC1C;AACA;AACA;AACA;AACA,MAAM,wBAAwB,iEAAc;AAC5C;AACA;AACA;;AAEA,EAAE,0CAAM;AACR,EAAE,2CAAM;;AAER;AACA,mCAAmC,kEAAe,GAAG,6DAAU,GAAG,8DAAW;AAC7E,YAAY,yBAAyB;AACrC,UAAU;AACV;;AAEA;AACA,UAAU,8DAAW;AACrB,YAAY,yBAAyB;AACrC,UAAU;AACV;;AAEA;AACA,UAAU,kEAAe;AACzB,YAAY,oCAAoC;AAChD,UAAU;AACV;;AAEA;AACA;AACA;AACA;;AAEA;AACA,UAAU,4DAAI;;AAEd;AACA,UAAU,4DAAI;;AAEd;AACA,EAAE,2CAAM;AACR;AACA;AACA;AACA;AACA,UAAU,4DAAI;AACd;AACA,IAAI,sEAAU;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,4DAAI;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,4DAAI;;AAEd;AACA,UAAU,4DAAI;;AAEd,EAAE,+DAAM;;AAER;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA,aAAa,SAAS;AACtB;;AAEA;AACA;AACA;AACA,sCAAsC,mEAAgB;AACtD,uCAAuC,kEAAe;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,UAAU,2EAAwB;;AAE5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,wFAAmB;AACzB,6BAA6B,uCAAuC;AACpE;AACA;AACA,kBAAkB,iEAAc;AAChC,kBAAkB,oEAAiB;AACnC;AACA,iBAAiB,oEAAiB;AAClC,iBAAiB,iEAAc;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,wEAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,0EAAuB;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,UAAU,wEAAqB;AACzC,kBAAkB,iEAAc;AAChC,kBAAkB,uEAAoB;AACtC;AACA,iBAAiB,uEAAoB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,mFAAyB;AACpC,QAAQ,+EAAiB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,yEAAsB;AACvC;AACA;;AAEA,WAAW,iFAAkB;AAC7B;AACA;AACA;AACA,MAAM,4EAAyB;AAC/B,MAAM,mFAAgC;AACtC,MAAM,yFAAsC;AAC5C,MAAM,+EAA4B;AAClC,MAAM,kFAA+B;AACrC,MAAM,8FAA2C;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,mFAAyB;AACpC,QAAQ,+EAAiB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,sEAAmB;AAClC,eAAe,mEAAgB;AAC/B,eAAe,wEAAqB;AACpC;AACA,aAAa,sEAAY;AACzB;AACA;AACA;AACA,QAAQ,sEAAmB;AAC3B,QAAQ,4EAAyB;AACjC,QAAQ,4EAAyB;AACjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,WAAW,mFAAyB;AACpC,QAAQ,+EAAiB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,yEAAsB;AACvC,oBAAoB,uEAAoB;AACxC;AACA,mBAAmB,uEAAoB;AACvC,mBAAmB,iEAAc;AACjC;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,UAAU,0EAAuB;AAC3C,WAAW,uEAAiB;AAC5B;AACA;AACA;AACA;AACA,MAAM,kEAAe;AACrB,MAAM,wEAAqB;AAC3B,MAAM,wEAAqB;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,MAAM,wFAAmB;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,IAAI,2CAAM,UAAU,0EAAuB;AAC3C,kBAAkB,kEAAe;AACjC,kBAAkB,wEAAqB;AACvC;AACA,iBAAiB,wEAAqB;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB,2EAAwB;AACzC,oBAAoB,wEAAqB;AACzC;AACA,mBAAmB,wEAAqB;AACxC,mBAAmB,kEAAe;AAClC;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC/oBA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACe;AACX;;AAEvC,WAAW,WAAW;AACf;AACP;AACA,cAAc,8DAAmB;AACjC;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,UAAU,wEAAqB;AACzC,kBAAkB,mEAAgB;AAClC,kBAAkB,yEAAsB;AACxC;AACA,iBAAiB,yEAAsB;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,0EAAuB;AACxC,oBAAoB,oEAAiB;AACrC;AACA,mBAAmB,oEAAiB;AACpC,mBAAmB,mEAAgB;AACnC;AACA;;AAEA;AACA;;AAEA;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,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,8DAAW;AAC/B;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACe;AACX;;AAEvC,WAAW,WAAW;AACf;AACP;AACA,cAAc,8DAAmB;AACjC;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU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ACA,MAAM,mEAAgB;AACtB;AACA;AACA,UAAU,oEAAiB;AAC3B;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA,EAAE,2CAAM;AACR,EAAE,2CAAM;;AAER,SAAS,qEAAY;AACrB;AACA;AACA,IAAI,uEAAoB;AACxB;AACA;;AAEA,aAAa,OAAO;AACpB;AACA,IAAI,2CAAM;AACV;AACA;AACA,uBAAuB,uEAAoB;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA,EAAE,0CAAM;AACR,EAAE,2CAAM;AACR;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA,EAAE,2CAAM;AACR;AACA;AACA;;AAEA,SAAS,qEAAY;AACrB;AACA;AACA,IAAI,iFAA8B;AAClC;AACA;AACA,QAAQ,oEAAiB;AACzB;;AAEA,aAAa,OAAO;AACpB;AACA;;AAEA,YAAY,uEAAa;AACzB;AACA,uBAAuB,iFAA8B;AACrD;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;ACjTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACiB;AACsB;AACxB;;AAElD,WAAW,WAAW;AACf;AACP;AACA;AACA;AACA;;AAEA,WAAW,UAAU;AACrB;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA,aAAa,oBAAoB;AACjC;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;AACA;AACA;AACA,oCAAoC,gEAAa;AACjD;AACA;AACA;;AAEA,oCAAoC,kEAAe;AACnD;AACA;AACA;AACA;AACA;AACA,oCAAoC,gEAAa;AACjD;AACA;AACA;;AAEA,mDAAmD,mEAAgB;AACnE;AACA;AACA;AACA;;AAEA,EAAE,0CAAM;AACR,EAAE,2CAAM;;AAER;AACA,UAAU,sEAAmB;AAC7B,YAAY,yBAAyB;AACrC,UAAU;AACV;;AAEA;AACA,yBAAyB,0EAAuB;;AAEhD;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,qBAAqB;AACpC;;AAEA,IAAI,2CAAM;AACV,eAAe,6DAAU,aAAa,iEAAc;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,mEAAgB;AACvD,uCAAuC,mEAAgB;AACvD,uCAAuC,gEAAa;AACpD;AACA,mDAAmD,kEAAe;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,0EAAuB;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,kBAAkB,kFAA+B;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,kFAA+B;;AAEhD,WAAW,uEAAa;AACxB,QAAQ,qEAAY,iBAAiB,mEAAgB;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,4DAAS,IAAI,4EAAkB;AAChD,mBAAmB,0EAAuB;AAC1C;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;AC7MA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACiB;AACsB;AACb;;AAE7D,WAAW,WAAW;AACf;AACP;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,kBAAkB,sEAAmB;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,0CAAM;AACV,eAAe,iEAAc;AAC7B,iBAAiB,6DAAU;AAC3B,iBAAiB,mEAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,oBAAoB,8EAA2B;AAC/C;AACA;;AAEA;AACA,cAAc,wFAAqC;AACnD,gBAAgB,4DAAS,IAAI,4EAAkB;AAC/C;AACA,mBAAmB,sEAAmB;AACtC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,8EAA2B;AAC5C,WAAW,uEAAa;AACxB,QAAQ,qEAAY,mBAAmB,mEAAgB;AACvD;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACvHA;AACA,YAAY,2BAA2B;AACvC;;AAMiC;AAC4B;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,WAAW;AACtB;AACA,WAAW,WAAW;AACtB;AACA,WAAW,WAAW;AACtB;AACA,WAAW,WAAW;AACtB;AACA,WAAW,WAAW;AACtB;AACA,WAAW,oBAAoB;AAC/B;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,iEAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,4DAAS;AACxB,eAAe,8DAAW;AAC1B,eAAe,yEAAsB;AACrC,MAAM,sEAAY;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,oEAAiB,GAAG,aAAa,8EAA2B,CAAC;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,oEAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,oEAAiB,GAAG,aAAa,8EAA2B,CAAC;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,iBAAiB,oEAAiB;AAClC,mBAAmB,oEAAiB;AACpC;AACA;AACA;;AAEA;AACA,eAAe,4DAAS;AACxB,eAAe,iEAAc;AAC7B,MAAM,4EAAkB;AACxB;AACA;AACA;;AAEA;AACA,oBAAoB,kEAAe;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,iEAAc;AAC7B,eAAe,oEAAiB;AAChC,eAAe,kEAAe;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,gBAAgB,4DAAS;AACzB,iBAAiB,yEAAsB;AACvC,QAAQ,mFAAyB;AACjC;AACA,mBAAmB,oEAAiB;AACpC;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,wEAAqB;AACzD;AACA;AACA;AACA;;AAEA,iBAAiB,yEAAsB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,4DAAS;AACxB,eAAe,8DAAW;AAC1B,eAAe,wEAAqB;AACpC,MAAM,sEAAY;AAClB;AACA;AACA;;AAEA;AACA,oBAAoB,kEAAe;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,wEAAqB;AACpC,eAAe,yEAAsB;AACrC,eAAe,kEAAe;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AC9PA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACuC;AACb;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,WAAW;AACtB;AACA,WAAW,WAAW;AACtB;AACA,WAAW,WAAW;AACtB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA,aAAa,SAAS;AACtB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,IAAI,2CAAM,UAAU,0EAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,aAAa,iFAA8B;AAC3C,eAAe,4DAAS;AACxB,eAAe,0EAAuB;AACtC,gBAAgB,2EAAwB;AACxC;AACA;AACA;AACA;AACA;AACA,gBAAgB,8DAAW;AAC3B;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,2EAAwB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,4EAAkB;AAC1B,oBAAoB,mEAAgB;AACpC;AACA,mBAAmB,mEAAgB;AACnC;AACA;;AAEA,kBAAkB,oEAAiB,GAAG,aAAa,8EAA2B,CAAC;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,4DAAS;AACxB,eAAe,0EAAuB;AACtC,eAAe,2EAAwB;AACvC,MAAM,4EAAkB;AACxB,eAAe,iFAA8B;AAC7C;AACA,mBAAmB,oEAAiB;AACpC;AACA;;AAEA;AACA,uBAAuB,uEAAa;AACpC,oBAAoB,kEAAe;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,0EAAuB;AACtC,eAAe,kEAAe;AAC9B,eAAe,2EAAwB;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;AC3KA;AACA,YAAY,2BAA2B;AACvC;;AAEsD;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,WAAW;AACtB;AACA,WAAW,oBAAoB;AAC/B;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;;AAEA;;AAEA,aAAa,OAAO;AACpB;AACA,QAAQ,uEAAa;AACrB;AACA;AACA;;AAEA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA,QAAQ,uEAAa;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEoD;AACO;AACE;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,WAAW;AACtB;AACA,WAAW,WAAW;AACtB;AACA,WAAW,WAAW;AACtB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,mBAAmB;AAChC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,eAAe,sEAAmB;AAClC,eAAe,mEAAgB;AAC/B,eAAe,wEAAqB;AACpC;AACA;AACA;AACA;AACA;AACA,wBAAwB,wEAAqB,GAAG,yEAAsB;AACtE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,4DAAS;AAC1B;AACA;;AAEA;AACA,QAAQ,4EAAkB;AAC1B;AACA,oBAAoB,mEAAgB;AACpC;AACA,mBAAmB,mEAAgB;AACnC,aAAa,qEAAY,mBAAmB,mEAAgB;AAC5D;;AAEA,kBAAkB,oEAAiB,GAAG,aAAa,8EAA2B,CAAC;AAC/E;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,oCAAoC,4DAAS,IAAI,4EAAkB;AACnE,mBAAmB,oEAAiB;AACpC;AACA;;AAEA;AACA,oBAAoB,kEAAe;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,oCAAoC,kEAAe;AACnD;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACxKA;AACA,YAAY,gBAAgB;AAC5B;;AAEoD;AACsB;AAC/B;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,SAAS;AACtB;;AAEA;;AAEA,aAAa,OAAO;AACpB;AACA,QAAQ,4EAAkB;AAC1B,oBAAoB,mEAAgB;AACpC;AACA,mBAAmB,mEAAgB;AACnC;AACA;AACA;;AAEA,QAAQ,uEAAa;AACrB,aAAa,qEAAY;AACzB;AACA;AACA,eAAe,mEAAgB,GAAG,mEAAgB;AAClD;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDA;AACA,YAAY,MAAM;AAClB;;AAE2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA,6BAA6B,8DAAW,aAAa,4DAAS;AAC9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,aAAa;AACb;AACA;AACO,gDAAgD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,aAAa;AACb;AACA;AACO;AACP,iCAAiC,sEAAmB;AACpD;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,aAAa;AACb;AACA;AACO;AACP,kCAAkC,4DAAS,aAAa,8DAAW;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA,aAAa,sEAAmB;AAChC,aAAa,qEAAkB;AAC/B,aAAa,8DAAW;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,0CAA0C,EAAE,IAAI,EAAE;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AC3P+C;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA,WAAW,UAAU;AACrB;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA,aAAa,gBAAgB;AAC7B;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA,qBAAqB,+EAA4B;AACjD;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,+EAA4B;AACjD;AACA;AACA;AACA;;AAEA,oBAAoB,+EAA4B;AAChD,eAAe,+EAA4B;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA,WAAW,UAAU;AACrB;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;ACxFA;AACA,YAAY,MAAM;AAClB;;AAMiC;AACqB;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA,aAAa,4DAAS;AACtB,IAAI,mFAAyB;AAC7B,IAAI,2EAAiB;AACrB;AACA,WAAW,qFAAkC;AAC7C;;AAEA,MAAM,4EAAkB;AACxB,WAAW,sFAAmC;AAC9C;AACA;;;;;;;;;;;;;;;;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAE6C;;AAE7C,yBAAyB;;AAEzB;AACA;AACA;AACA,WAAW,0BAA0B;AACrC;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,qBAAqB;AAClC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC;AACA,WAAW,WAAW;AACtB;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;;AAEA;AACA;AACA,eAAe,yBAAyB;AACxC,yCAAyC;AACzC,eAAe,qCAAqC;AACpD;AACA,eAAe,QAAQ;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,gBAAgB;AAC3B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;;AAEA;AACA;AACA,KAAK;AACL;;AAEA,EAAE,8DAAM;AACR;;AAEA;AACA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,eAAe;AAC5B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA,WAAW,eAAe;AAC1B;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa,qBAAqB;AAClC;;AAEA;AACA;AACA,yCAAyC;AACzC;AACA,eAAe,eAAe;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AC9ImD;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACO;AACP;;AAEA;AACA;AACA,WAAW,2DAAQ;AACnB,aAAa,2DAAQ;AACrB,YAAY,2DAAQ,WAAW,8DAAW;AAC1C;AACA,YAAY,8DAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,8EAA2B;AACtC;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;ACzC8E;AACmB;AAC3C;;AAEtD;AACA,iBAAiB,cAAc,IAAI,UAAU,IAAI,UAAU,KAAK,EAAE;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,mEAAgB;AAC/B;AACA,yBAAyB,mEAAgB,aAAa,mEAAgB;AACtE,WAAW,kHAA+B;AAC1C;AACA,YAAY,mFAAgC,GAAG,+EAA4B;AAC3E;AACA;;AAEA,SAAS,+FAA6B;AACtC;;;;;;;;;;;;;;;;ACpDA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACO;AACP;;AAEA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,kCAAkC;AACrD;AACA,QAAQ;AACR;AACA;AACA;;;;;;;;;;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;;;;;;;;;;;;;;;;AC5FqC;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA,8BAA8B,+DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACrCA;AACA,YAAY,kCAAkC;AAC9C;;AAEA;AACA;AACA;AACA,WAAW,eAAe,kCAAkC,GAAG;AAC/D;AACA,WAAW,cAAc;AACzB;AACA,WAAW,iBAAiB;AAC5B;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,iBAAiB;AAC9B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;AC/B0D;AACd;AACO;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,2BAA2B;AACtC;AACA,WAAW,2BAA2B;AACtC;AACA,aAAa;AACb;AACA;AACO;AACP,gBAAgB,6DAAM;;AAEtB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,eAAe;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;;AAEA;AACA;AACA,eAAe,oEAAiB;AAChC,MAAM,2EAAiB;AACvB,MAAM,2EAAiB;AACvB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,8EAA2B;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;AC3HA;AACA,YAAY,qBAAqB;AACjC;;AAEmC;AACU;AACK;AACC;;AAEnD;AACmD;;AAEnD;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA,aAAa;AACb;AACA;AACA;AACO;AACP,aAAa,wBAAwB;AACrC;AACA;AACA,aAAa,OAAO;AACpB;AACA,aAAa,oBAAoB;AACjC;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,OAAO;AACpB;AACA,aAAa,cAAc;AAC3B;AACA,aAAa,cAAc;AAC3B;AACA,aAAa,qBAAqB;AAClC;AACA,qBAAqB,+DAAY;;AAEjC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,kEAAe;AACvC,wCAAwC,uEAAoB;AAC5D;AACA,MAAM,0CAAM;AACZ;AACA;;AAEA;AACA;AACA,0CAA0C,wEAAqB;AAC/D;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,gEAAa;AACvD;AACA;AACA,gDAAgD,gEAAa;AAC7D;AACA;;AAEA,gDAAgD,kEAAe;AAC/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC,mEAAgB;AACjD,iCAAiC,wEAAqB;AACtD;AACA;AACA;AACA,8CAA8C,wEAAqB;AACnE;;AAEA,iCAAiC,mEAAgB;AACjD;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,8DAAM;AACR;AACA;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA,EAAE,2CAAM;AACR;AACA;AACA;AACA,aAAa,yBAAyB;AACtC;AACA,aAAa,wBAAwB;AACrC;AACA,aAAa,cAAc;AAC3B;AACA,aAAa,mBAAmB;AAChC;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,0CAAM;AACV;AACA;AACA;AACA,IAAI,2CAAM;;AAEV;;AAEA;AACA;;AAEA;AACA,oBAAoB,4DAAS;AAC7B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,0CAAM;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2CAAM;AACV,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI,2CAAM;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;AC7Q+C;;AAE/C;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;AACO;AACP;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA,eAAe,UAAU;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,aAAa,2BAA2B;AACxC;AACA,eAAe;AACf;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC;AACA;AACA,aAAa,6BAA6B;AAC1C;AACA,cAAc;AACd;AACA;AACA;AACA,eAAe,QAAQ;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,GAAG;AAChB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,GAAG;AAChB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,WAAW,kBAAkB;AAC7B;AACA,YAAY;AACZ;AACA;AACA;AACA,aAAa,QAAQ;AACrB;;AAEA,qBAAqB,+EAA4B;AACjD;AACA,IAAI;AACJ;AACA;AACA,gDAAgD,+EAA4B;AAC5E;AACA,oBAAoB,+EAA4B;AAChD;AACA;AACA;;;;;;;;;;;;;;;;AC/RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,yBAAyB,OAAO;AACvC;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,sBAAsB;AACtB;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,4BAA4B;AAC5B;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;AC7JD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,6BAA6B,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,yDAAyD;AACzD,2EAA2E;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;AC3CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACO,yBAAyB,OAAO;AACvC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,wCAAwC,WAAW,gBAAgB;AACnE;AACA;AACA;AACA;;AAEA,uCAAuC;AACvC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;ACpcD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,0BAA0B,OAAO;AACxC;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,eAAe;AACf;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,oBAAoB;AACpB;AACA,qBAAqB;AACrB;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5GD;AACA,YAAY,WAAW;AACvB;;AAuBkC;AACS;AACiB;;AAE5D,gBAAgB,uBAAuB;AAChC;AACP,GAAG,iEAAc,GAAG,2DAAI;AACxB,GAAG,iEAAc,GAAG,2DAAI;AACxB,GAAG,6DAAU,GAAG,2DAAI;AACpB,GAAG,+DAAY,GAAG,2DAAI;AACtB,GAAG,+DAAY,GAAG,2DAAI;AACtB,GAAG,+DAAY,GAAG,2DAAI;AACtB,GAAG,+DAAY,GAAG,2DAAI;AACtB,GAAG,+DAAY,GAAG,2DAAI;AACtB,GAAG,+DAAY,GAAG,2DAAI;AACtB,GAAG,+DAAY,GAAG,2DAAI;AACtB,GAAG,+DAAY,GAAG,2DAAI;AACtB,GAAG,+DAAY,GAAG,2DAAI;AACtB,GAAG,+DAAY,GAAG,2DAAI;AACtB,GAAG,oEAAiB,GAAG,iEAAU;AACjC;;AAEA,gBAAgB,6BAA6B;AACtC;AACP,GAAG,0EAAuB,GAAG,iEAAU;AACvC;;AAEA,gBAAgB,0BAA0B;AACnC;AACP,GAAG,sEAAmB,GAAG,mEAAY;AACrC,GAAG,qEAAkB,GAAG,mEAAY;AACpC,GAAG,8DAAW,GAAG,mEAAY;AAC7B;;AAEA,gBAAgB,mBAAmB;AAC5B;AACP,GAAG,mEAAgB,GAAG,iEAAU;AAChC,GAAG,iEAAc,GAAG,oEAAa;AACjC,GAAG,6DAAU,IAAI,sEAAe,EAAE,oEAAa;AAC/C,GAAG,iEAAc,GAAG,+DAAQ;AAC5B,GAAG,iEAAc,GAAG,sEAAe;AACnC,GAAG,mEAAgB,GAAG,oEAAa;AACnC,GAAG,oEAAiB,GAAG,iEAAU;AACjC,GAAG,8DAAW,GAAG,iEAAU;AAC3B;;AAEA,gBAAgB,qBAAqB;AAC9B;AACP,GAAG,kEAAe,GAAG,0EAAkB;AACvC,GAAG,kEAAe,GAAG,uEAAe;AACpC;;AAEA,gBAAgB,mBAAmB;AAC5B;AACP,GAAG,uEAAoB,GAAG,kEAAU;AACpC,GAAG,iEAAc,GAAG,kEAAU;AAC9B,GAAG,+EAA4B,GAAG,kEAAU;AAC5C,GAAG,wEAAqB,GAAG,uEAAe;AAC1C,GAAG,kEAAe,GAAG,0EAAkB;AACvC,GAAG,iEAAc,GAAG,iEAAS;AAC7B,GAAG,iEAAc,IAAI,gEAAQ,EAAE,gEAAQ;AACvC,GAAG,0EAAuB,GAAG,sEAAc;AAC3C,GAAG,kEAAe,IAAI,uEAAe,EAAE,uEAAe;AACtD,GAAG,2EAAwB,GAAG,gEAAQ;AACtC,GAAG,mEAAgB,GAAG,iEAAS;AAC/B,GAAG,oEAAiB,GAAG,gEAAQ;AAC/B;;AAEA,gBAAgB,yBAAyB;AAClC,oBAAoB,OAAO,iEAAS,EAAE,0DAAW;;AAExD,gBAAgB,+BAA+B;AACxC,0BAA0B,OAAO,iEAAc,EAAE,mEAAgB;;AAExE,gBAAgB,sBAAsB;AAC/B,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;ACpGxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,WAAW,MAAM;AACjB;AACA,aAAa;AACb;AACA;;AAE+B;AACI;AACwB;AACR;AACE;AACF;;AAEnD,cAAc,kCAAW;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA,WAAW,kBAAkB;AAC7B;AACA,WAAW,oDAAoD;AAC/D;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,aAAa,kBAAkB;AAC/B;AACA,aAAa,cAAc;AAC3B;AACA,aAAa,cAAc;AAC3B;AACA,aAAa,qBAAqB;AAClC;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gBAAgB;AACpE;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU,4DAAS;AACnB,sBAAsB;AACtB;AACA;AACA;AACA;AACA,cAAc,4DAAS;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,aAAa,0BAA0B;AACvC;AACA,aAAa,4DAAI;;AAEjB;;AAEA;AACA,sCAAsC,4DAAS;AAC/C;AACA;;AAEA;;AAEA;AACA,qBAAqB,sEAAU;;AAE/B;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,mCAAmC;AAChD;AACA;AACA;;AAEA,aAAa,gCAAgC;AAC7C;AACA;AACA;;AAEA,aAAa,wBAAwB;AACrC;AACA,4EAA4E;AAC5E,WAAW,4CAA4C;AACvD,YAAY;AACZ;;AAEA,aAAa,+BAA+B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,eAAe,QAAQ;AACvB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA,eAAe;AACf;AACA;AACA;AACA,IAAI,0CAAM;AACV;AACA;AACA;AACA,IAAI,2CAAM;AACV;AACA;;AAEA,aAAa,oBAAoB;AACjC;AACA,IAAI,0CAAM;;AAEV;;AAEA,IAAI,2CAAM;AACV;AACA;AACA;AACA,IAAI,2CAAM;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,4EAAkB;AAC1B;AACA;AACA,+BAA+B,+EAA4B;AAC3D;AACA;AACA,MAAM,kBAAkB,qEAAkB;AAC1C;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA,IAAI,2CAAM;AACV,IAAI,2CAAM;AACV;;AAEA;;AAEA;;AAEA;AACA;;AAEA,aAAa,iBAAiB;AAC9B;AACA,IAAI,0CAAM;AACV,IAAI,2CAAM;;AAEV;AACA,IAAI,2CAAM;AACV;;AAEA,IAAI,2CAAM;;AAEV,IAAI,2CAAM;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA,cAAc,iCAAiC,aAAa;AAC5D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,gDAAgD;AAC/D;AACA,eAAe,OAAO;AACtB;AACA,eAAe,mBAAmB;AAClC;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA,iBAAiB,QAAQ;AACzB;AACA,iBAAiB,WAAW;AAC5B;AACA,iBAAiB,MAAM;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,+CAA+C,WAAW;AAC1D;;AAEA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,0BAA0B;AAC3C;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,0CAAM;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,UAAU,0CAAM;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA,QAAQ,0CAAM;AACd;AACA;AACA;AACA;;AAEA,iBAAiB,OAAO;AACxB;AACA,QAAQ,0CAAM;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,WAAW;AACxB;AACA,aAAa,QAAQ;AACrB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,8DAAM;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,0CAAM;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;;AAEZ;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,8BAA8B;AACzC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;;AAEA;AACA,IAAI,0CAAM;AACV,IAAI,2CAAM;AACV;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR,QAAQ,0CAAM;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;AACA,aAAa,qBAAqB;AAClC;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;;AAEA;AACA;AACA,MAAM;AACN;AACA,aAAa,uEAAoB;AACjC,kBAAkB,4DAAS;;AAE3B;AACA;;AAEA,aAAa,iEAAc;AAC3B,kBAAkB,4DAAS;;AAE3B;AACA;;AAEA,aAAa,+EAA4B;AACzC,kBAAkB,4DAAS,GAAG,4DAAS;;AAEvC;AACA;;AAEA,aAAa,sEAAmB;AAChC,+BAA+B,+DAAY,GAAG,4DAAS;;AAEvD;AACA;;AAEA,aAAa,qEAAkB;AAC/B;AACA,kBAAkB,+DAAY;;AAE9B;AACA;;AAEA;AACA,UAAU,0CAAM;AAChB;AACA;AACA;AACA;;AAEA,sBAAsB,sEAAmB;AACzC;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;AC3sBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACiB;AACO;AACE;;AAE7D,WAAW,kBAAkB;AACtB,iBAAiB;;AAExB;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;;AAEA,aAAa,OAAO;AACpB;AACA,IAAI,2CAAM;AACV,eAAe,4DAAS,IAAI,4EAAkB;AAC9C;AACA;;AAEA,iBAAiB,4DAAS;AAC1B;AACA;AACA;;AAEA,kBAAkB,mEAAgB;AAClC;AACA,iBAAiB,mEAAgB;AACjC,WAAW,qEAAY,wBAAwB,mEAAgB;AAC/D;;AAEA,aAAa,OAAO;AACpB;AACA,IAAI,0CAAM;AACV,eAAe,4DAAS,KAAK,4EAAkB;AAC/C;AACA;AACA,kBAAkB,kEAAe;AACjC;AACA;;AAEA,aAAa,OAAO;AACpB;AACA,gCAAgC,kEAAe;AAC/C,mBAAmB,4EAAyB;AAC5C;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA,iBAAiB,4DAAS;AAC1B,mBAAmB,kEAAe;AAClC,mBAAmB,kEAAe;AAClC;AACA;AACA;;AAEA,QAAQ,4EAAkB;AAC1B;AACA,mBAAmB,kEAAe;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,aAAa,6BAA6B;AAC1C;AACA;;AAEmC;AACiB;AACO;AACd;AACgB;;AAE7D,WAAW,kBAAkB;AACtB,kBAAkB;;AAEzB,WAAW,WAAW;AACtB,4BAA4B;;AAE5B;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA,aAAa,6BAA6B;AAC1C;AACA,aAAa,mBAAmB;AAChC;AACA,aAAa,QAAQ;AACrB;;AAEA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2CAAM;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA,IAAI,0CAAM;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;AACA;AACA;AACA,mDAAmD,kEAAe;AAClE;AACA;AACA;AACA;AACA;;AAEA,MAAM,0CAAM;;AAEZ;;AAEA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;;AAEA;AACA,MAAM,8DAAM;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA,IAAI,0CAAM;AACV;AACA;AACA;AACA,IAAI,2CAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA,iBAAiB,4DAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,kEAAe;AACjC;AACA,mBAAmB,4EAAyB;AAC5C;AACA,KAAK;;AAEL;AACA;;AAEA,aAAa,OAAO;AACpB;AACA,iBAAiB,4DAAS;AAC1B,gCAAgC,kEAAe;AAC/C;AACA;AACA;AACA;;AAEA,QAAQ,4EAAkB;AAC1B;AACA,gCAAgC,kEAAe;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA,aAAa,qBAAqB;AAClC;AACA,eAAe;AACf;AACA;AACA;AACA,IAAI,0CAAM;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA,iBAAiB,mBAAmB;AACpC;;AAEA;AACA;AACA;AACA;AACA,mDAAmD,kEAAe;AAClE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,MAAM,0CAAM;;AAEZ;;AAEA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;;AAEA;AACA,MAAM,8DAAM;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,2CAAM;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,IAAI,0CAAM;AACV;AACA;AACA;AACA,IAAI,2CAAM;AACV,qBAAqB,4DAAS;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,EAAE,0CAAM;AACR;AACA;AACA;AACA,SAAS,qEAAY;AACrB;AACA;AACA,IAAI,mEAAgB;AACpB;AACA;AACA,QAAQ,oEAAiB;AACzB;AACA;;;;;;;;;;;;;;;;;;;;;;;AC5bA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AACyB;AACR;AACO;AACT;;AAElD,WAAW,kBAAkB;AACtB,cAAc;;AAErB;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gEAAS;AACb;AACA;AACA;AACA;AACA;AACA,MAAM,qEAAY;AAClB;AACA;AACA;AACA;AACA,0BAA0B,8DAAO;AACjC;AACA,QAAQ,mEAAgB;AACxB;AACA;AACA;;AAEA;;AAEA,aAAa,OAAO;AACpB;AACA,IAAI,2CAAM;AACV,eAAe,4DAAS,IAAI,4EAAkB;AAC9C;AACA;;AAEA,iBAAiB,4DAAS;AAC1B;AACA;AACA;;AAEA,kBAAkB,wEAAqB;AACvC;AACA,iBAAiB,wEAAqB;AACtC;AACA;AACA;;AAEA,aAAa,OAAO;AACpB;AACA,IAAI,0CAAM;AACV,eAAe,4DAAS,IAAI,4EAAkB;AAC9C;AACA;;AAEA,iBAAiB,4DAAS;AAC1B;AACA;AACA;;AAEA,kBAAkB,mEAAgB;AAClC;AACA,iBAAiB,mEAAgB;AACjC;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmC;AAC0B;;AAEtD,kBAAkB;AAClB;AACA;;AAEP;AACA,WAAW,mBAAmB;AAC9B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA,mBAAmB,4DAAS;AAC5B;AACA;AACA;;AAEA,oBAAoB,6DAAU;AAC9B;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA,qBAAqB,6DAAU;AAC/B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,eAAe,MAAM;AACrB;AACA,iBAAiB;AACjB;AACA;AACA;AACA,mBAAmB,4DAAS;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ,0CAAM;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,WAAW,sBAAsB;AACjC;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA,aAAa,UAAU;AACvB;AACA;AACA,eAAe,oBAAoB;AACnC;;AAEA;AACA;AACA;AACA;AACA,uDAAuD,6DAAU;AACjE;AACA;AACA;AACA,QAAQ,qDAAqD,6DAAU;AACvE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,mEAAgB;AACvD,yCAAyC,6DAAU;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;;AAEA;AACA;;AAEA;AACA;;AAEA,uDAAuD,8DAAW;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,sEAAmB;AAC9C;AACA;AACA,UAAU,mBAAmB,qEAAkB;AAC/C;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,mFAAgC;AACnD,gBAAgB,mEAAgB;AAChC,gBAAgB,0EAAuB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,gBAAgB;AAChB;;AAEA,oBAAoB;;AAEpB;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;AC9OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEmE;AACpB;AACE;AACR;AACQ;AACG;AACC;;AAErD;AACA,WAAW,iCAAiC;AAC5C;AACA,aAAa;AACb;AACA;AACO;AACP;AACA,gCAAgC,yBAAyB;AACzD,IAAI,oFAAiB,EAAE,2CAAiB;AACxC;;AAEA,aAAa,cAAc;AAC3B;AACA;AACA,oBAAoB,2DAAO;AAC3B;AACA,qBAAqB,6DAAQ;AAC7B,iBAAiB,qDAAI;AACrB,YAAY;AACZ,mBAAmB,uDAAM;AACzB,iBAAiB,qDAAI;AACrB;;AAEA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA,aAAa,qEAAe;AAC5B;AACA;AACA;;;;;;;;;;;;;;;;;ACzDA;AACA,YAAY,OAAO;AACnB;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AACA;AACA,WAAW,mDAAO;AAClB;AACA,cAAc,0DAAc;AAC5B,aAAa,0DAAc;AAC3B,eAAe,mDAAO;AACtB,cAAc,0DAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mDAAO;AACjB,SAAS,kDAAM;AACf;AACA;AACA,eAAe,kDAAM;AACrB;AACA;AACA;AACA,eAAe,kDAAM;AACrB,cAAc,mDAAO;AACrB,WAAW,mDAAO;AAClB;AACA;AACA,cAAc,mDAAO;AACrB,gBAAgB,mDAAO;AACvB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mDAAO;AACjB,aAAa,kDAAM;AACnB;AACA,UAAU,0DAAc;AACxB;AACA,iBAAiB,mDAAO;AACxB;AACA;AACA;AACA;AACA;AACA,cAAc,mDAAO;AACrB;AACA,SAAS,0DAAc;AACvB,cAAc,mDAAO;AACrB,cAAc,mDAAO;AACrB,UAAU,kDAAM;AAChB,aAAa,kDAAM;AACnB,aAAa,0DAAc;AAC3B;AACA,YAAY,mDAAO;AACnB,cAAc,mDAAO;AACrB,cAAc,mDAAO;AACrB,wBAAwB,mDAAO;AAC/B,8BAA8B,mDAAO;AACrC;AACA;AACA,UAAU,kDAAM;AAChB;AACA;AACA,UAAU,kDAAM;AAChB,gBAAgB,sDAAU;AAC1B;AACA;AACA;AACA;AACA,WAAW,kDAAM;AACjB;AACA;AACA,cAAc,kDAAM;AACpB;AACA;AACA;AACA;AACA,mBAAmB,mDAAO;AAC1B;AACA,WAAW,sDAAU;AACrB,WAAW,kDAAM;AACjB;AACA;;AAEA;AACA;AACA;AACA,iDAAiD,MAAM;AACvD,aAAa,0DAAc;AAC3B;AACA;AACA;AACA,YAAY,kDAAM;AAClB;AACA,kBAAkB,kDAAM;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,mDAAO;AACpB,aAAa,mDAAO;AACpB;AACA;AACA;AACA;AACA,YAAY,kDAAM;AAClB,gBAAgB,kDAAM;AACtB,8CAA8C,SAAS;AACvD;AACA;AACA,kBAAkB,kDAAM;AACxB,iBAAiB,kDAAM;AACvB,cAAc,mDAAO;AACrB,YAAY,mDAAO;AACnB,aAAa,mDAAO;AACpB,YAAY,mDAAO;AACnB;AACA;AACA;AACA;AACA,iBAAiB,kDAAM;AACvB;AACA;AACA,eAAe,sDAAU;AACzB;AACA;AACA;AACA,eAAe,kDAAM;AACrB;AACA;AACA;AACA,kDAAkD,MAAM;AACxD,YAAY,kDAAM;;AAElB;AACA;AACA;AACA;AACA,6BAA6B,mDAAO;AACpC,2BAA2B,mDAAO;AAClC;AACA;AACA,aAAa,kDAAM;AACnB;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;ACjUD;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACO;AACP;AACA;;;;;;;;;;;;;;;;;;;ACAwB;AACe;AACkC;;AAElE,YAAY,uDAAM;AACzB;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;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;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,GAAG;AACH,aAAa,qFAAsB;AACnC;AACA,WAAW,iEAAqB;AAChC,kBAAkB,kDAAM;AACxB;AACA;AACA;AACA,gBAAgB,kDAAM;AACtB,eAAe,kDAAM;AACrB;AACA,YAAY,kDAAM;AAClB;AACA;AACA,aAAa,kDAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,kDAAM;AAChB;AACA;AACA,eAAe,kDAAM;AACrB,eAAe,0DAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kDAAM;AACnB,qBAAqB,kDAAM;AAC3B;AACA;AACA;AACA,aAAa,kDAAM;AACnB;AACA,cAAc,mDAAO;AACrB;AACA;AACA;AACA;AACA,eAAe,kDAAM;AACrB;AACA;AACA;AACA,cAAc,kDAAM;AACpB;AACA;AACA,iBAAiB,kDAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,0DAAc;AACtB,QAAQ,0DAAc;AACtB,eAAe,0DAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kDAAM;AACnB;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAM;AACrB,kBAAkB,kDAAM;AACxB,kBAAkB,kDAAM;AACxB;AACA,iBAAiB,kDAAM;AACvB;AACA;AACA;AACA;AACA,eAAe,kDAAM;AACrB,OAAO,kDAAM;AACb,QAAQ,kDAAM;AACd,QAAQ,kDAAM;AACd,QAAQ,kDAAM;AACd,QAAQ,kDAAM;AACd,kBAAkB,iEAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kDAAM;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAM;AACrB;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;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,sBAAsB,kDAAM;AAC5B,uBAAuB,kDAAM;AAC7B;AACA;AACA;AACA,gBAAgB,kDAAM;AACtB;AACA;AACA;AACA;AACA,UAAU,0DAAc;AACxB;AACA;AACA;AACA;AACA,eAAe,kDAAM;AACrB,eAAe,kDAAM;AACrB,eAAe,kDAAM;AACrB;AACA;AACA;AACA;AACA,cAAc,iEAAqB;AACnC;AACA;AACA;AACA;AACA;AACA,SAAS,iEAAqB;AAC9B,SAAS,iEAAqB;AAC9B;AACA;AACA;AACA,wBAAwB,iEAAqB;AAC7C,sBAAsB,iEAAqB;AAC3C,mBAAmB,iEAAqB;AACxC,qBAAqB,iEAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kDAAM;AAC5B,sBAAsB,kDAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kDAAM;AACjC,4BAA4B,kDAAM;AAClC;AACA;AACA,qBAAqB,iEAAqB;AAC1C;AACA;AACA;AACA,sBAAsB,kDAAM;AAC5B,mBAAmB,kDAAM;AACzB;AACA;AACA,kBAAkB,kDAAM;AACxB;AACA;AACA;AACA;AACA;AACA,oBAAoB,iEAAqB;AACzC,cAAc,kDAAM;AACpB;AACA;AACA,aAAa,kDAAM;AACnB,aAAa,kDAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,iEAAqB;AACjC;AACA;AACA;AACA;AACA;AACA,uBAAuB,kDAAM;AAC7B,wBAAwB,kDAAM;AAC9B;AACA;AACA;AACA,gBAAgB,kDAAM;AACtB;AACA,iBAAiB,kDAAM;AACvB,mBAAmB,kDAAM;AACzB;AACA,cAAc,kDAAM;AACpB,kBAAkB,kDAAM;AACxB;AACA,cAAc,kDAAM;AACpB,iBAAiB,kDAAM;AACvB,iBAAiB,kDAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kDAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;ACtjBmE;;AAEpE;AACA,WAAW,wBAAwB;AACnC,WAAW,QAAQ;AACnB,aAAa;AACb;AACO;AACP,SAAS,oFAAsB;AAC/B;;;;;;;;;;;;;;;;ACTA;AACA,WAAW,wBAAwB;AACnC,WAAW,QAAQ;AACnB,aAAa;AACb;AACO;AACP;AACA;;;;;;;;;;;;;;;;;;;ACPA;AACA,aAAa,k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A2B;AACzC;AACA,cAAc,+BAA+B;AAC7C;AACA,cAAc,0CAA0C;AACxD;AACA;AACA,cAAc,kCAAkC;AAChD;AACA,cAAc,kCAAkC;AAChD;AACA,cAAc,kDAAkD;AAChE;AACA,cAAc,4BAA4B;AAC1C;AACA,cAAc,4BAA4B;AAC1C;AACA;AACA;AACA,cAAc,iCAAiC;AAC/C;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,mBAAmB;AAC9B;AACA,aAAa;AACb;AACA;;AAEkC;AACmB;AACJ;AACjD;AACqD;AACf;AACE;AACT;AACO;AACX;;AAE3B;AACA;;AAEA,WAAW,eAAe;AAC1B;AACA,WAAW,+BAA+B;AAC1C,kCAAkC;AAClC;;AAEA;AACA,WAAW,sCAAsC;AACjD;AACA,GAAG,+DAA+D;AAClE,GAAG,uEAAuE;AAC1E;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,GAAG,+DAA+D;AAClE,GAAG,+DAA+D;AAClE;AACA;AACA;AACA,GAAG;AACH,GAAG,4CAA4C;AAC/C,GAAG,4EAA4E;AAC/E,GAAG,iDAAiD;AACpD,GAAG,0EAA0E;AAC7E,GAAG,gEAAgE;AACnE,GAAG,2CAA2C;AAC9C,GAAG,uEAAuE;AAC1E,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA,oBAAoB,gDAAO;AAC3B,SAAS,oDAAW;AACpB;AACA,SAAS,qDAAY;AACrB;;AAEA,mBAAmB,wCAAK;;AAExB;AACA;AACA,IAAI;AACJ,IAAI,mDAAW;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI,mDAAW;AACf;AACA;AACA;;AAEA;AACA;AACA,MAAM,mDAAW;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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Aa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA,WAAW,OAAO;AAClB;AACA,aAAa;AACb;AACA;;AAEyC;;AAEzC;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,sCAAsC;AACjD,aAAa;AACb;AACA;AACA,WAAW,sCAAsC;AACjD,aAAa;AACb;AACA,WAAW,kDAAkD;AAC7D;AACA,WAAW,sCAAsC;AACjD;AACA,aAAa;AACb;AACA;AACe;AACf;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,kCAAkC,UAAU;AAC5C,QAAQ,0DAAM,QAAQ,iBAAiB;AACvC;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC,MAAM,0DAAM,QAAQ,kCAAkC;AACtD;AACA;AACA;;;;;;;;;;;;;;;;;AClKA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;;;;;;;;;;;;;;ACvB4C;;AAE5C;AACA,+DAAe,qDAAqB,IAAI,0CAAa,EAAC;;;;;;;;;;;;;;;;ACHtD;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;ACpEA;AACA;;AAEA;AACA,aAAa,mEAAmE;AAChF;AACA;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA;AACA;AACA,cAAc,KAAK;AACnB;AACA,cAAc,KAAK;AACnB;AACA;AACA,aAAa,gCAAgC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,8BAA8B;AAC3C;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,mBAAmB;AAChC;AACA,aAAa,UAAU;AACvB,oBAAoB;;AAEpB;;AAEA,aAAa,KAAK;AAClB;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC,eAAe,YAAY;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA,aAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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,WAAW,YAAY;AACvB;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACO;AACP,aAAa,SAAS;AACtB;;AAEA;;AAEA;AACA;AACA,YAAY;AACZ,aAAa,YAAY;AACzB,eAAe;AACf;AACA;AACA;AACA,eAAe,KAAK;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN,mCAAmC,OAAO;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,KAAK;AAClB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC7MO;AACP;AACA,YAAY;AACZ;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA,gBAAgB;AAChB,iBAAiB,iBAAiB;AAClC,mBAAmB;AACnB;AACA;AACA;AACA;AACA,iCAAiC,mCAAmC;AACpE;AACA;AACA;AACA;AACA;AACA,mBAAmB,4CAA4C;AAC/D;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;AC3CA;AACA,aAAa,2BAA2B;AACxC;AACA,aAAa,sBAAsB;AACnC;AACA,aAAa,4BAA4B;AACzC,aAAa,uBAAuB;AACpC;AACA,aAAa,wCAAwC;AACrD,aAAa,4BAA4B;AACzC,aAAa,gCAAgC;AAC7C;;AAEA;AACA,aAAa,0CAA0C;AACvD;AACA;AACA;AACA,MAAM,2BAA2B;AACjC;;AAEA;AACA,cAAc,MAAM;AACpB;AACA,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,2BAA2B;AACnC;AACA;AACA,WAAW,MAAM;AACjB;AACA,WAAW,OAAO;AAClB;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA,MAAM,iBAAiB;AACvB;AACA,OAAO,eAAe;AACtB,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,aAAa;AACb;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;;AAEA;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B;AACA,cAAc,2BAA2B;AACzC;AACA;AACA,kCAAkC,sBAAsB;AACxD;AACA,+BAA+B,iBAAiB;AAChD;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA;AACA,kCAAkC,sBAAsB;AACxD;AACA,+BAA+B,iBAAiB;AAChD;AACA,+BAA+B,mBAAmB;AAClD;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B;AACA,cAAc,2BAA2B;AACzC;AACA;AACA,kCAAkC,sBAAsB;AACxD;AACA,+BAA+B,iBAAiB;AAChD;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA;AACA,kCAAkC,sBAAsB;AACxD;AACA,+BAA+B,iBAAiB;AAChD;AACA,+BAA+B,mBAAmB;AAClD;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,2BAA2B;AACzC;AACA,cAAc,sBAAsB;AACpC;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA,WAAW,kBAAkB;AAC7B;AACA,aAAa;AACb;AACA;;AAEA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA,WAAW,kBAAkB;AAC7B;AACA,WAAW,mBAAmB;AAC9B;AACA,aAAa;AACb;AACA;;AAEA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA,WAAW,oBAAoB;AAC/B;AACA,WAAW,mBAAmB;AAC9B;AACA,aAAa;AACb;AACA;;AAEA;AACA,cAAc,MAAM;AACpB;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,2BAA2B;AACtC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAkB;AAChC;AACA,cAAc,kBAAkB;AAChC;AACA,cAAc,kBAAkB;AAChC;AACA,cAAc,kBAAkB;AAChC;AACA,cAAc,4BAA4B;AAC1C;AACA,cAAc,2BAA2B;AACzC;AACA;AACA;AACA,aAAa;AACb;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,MAAM;AACN,wDAAwD,oBAAoB;AAC5E;;AAEA;AACA,cAAc,4BAA4B;AAC1C;AACA,aAAa;AACb;AACA;AACA,gBAAgB;AAChB,QAAQ;AACR,yBAAyB,iBAAiB;AAC1C;AACA;AACA,yCAAyC,gBAAgB;AACzD;;AAEyB;AACE;AACQ;AACE;AACR;AACF;AAC4B;;AAEvD;;AAEA;AACA;AACA;;AAEA,cAAc;;AAEd;AACA,cAAc,kBAAkB;AAChC;AACA,cAAc,kBAAkB;AAChC;AACA,cAAc,kBAAkB;AAChC;AACA,cAAc,kBAAkB;AAChC;AACA,cAAc,4BAA4B;AAC1C;AACA,aAAa;AACb;AACO,wBAAwB,mEAAgB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,wBAAwB,8CAAM;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,kCAAkC,oBAAoB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,sEAAsE;AACvF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB,mCAAM,SAAS;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,uBAAuB,iBAAiB;AACxC;AACA,+BAA+B;AAC/B;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA,eAAe;AACf;AACA;AACA,aAAa,MAAM;AACnB,eAAe;AACf;AACA;AACA,aAAa,KAAK;AAClB,eAAe;AACf;AACA;AACA,aAAa,KAAK;AAClB,aAAa,WAAW;AACxB,eAAe;AACf;AACA,aAAa,YAAY;AACzB;AACA;AACA,aAAa,WAAW;AACxB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,WAAW,eAAe,SAAS;;AAE/D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,iCAAiC,+BAA+B;AAChE;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,aAAa,iDAAiD;AAC9D,eAAe;AACf;AACA;AACA,aAAa,wBAAwB;AACrC,eAAe;AACf;AACA,aAAa,wBAAwB;AACrC,wBAAwB,gCAAgC;AACxD;AACA,aAAa,6DAA6D;AAC1E;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,2BAA2B;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,0EAA0E;AACzF,eAAe,gDAAgD;AAC/D,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,8CAA8C;AACjE,qBAAqB,SAAS;AAC9B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,oDAAoD;AACzE,uBAAuB,SAAS;AAChC;;AAEA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA,mCAAmC,gCAAgC;AACnE,OAAO;;AAEP;AACA,iBAAiB,mBAAmB;AACpC,iBAAiB,4CAA4C;AAC7D,mBAAmB;AACnB;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV,UAAU,0CAAM;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,wBAAwB,+BAA+B;AACvD;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,2BAA2B;AACrC;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA,eAAe,4CAA4C;AAC3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI,2CAAM;;AAEV;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,MAAM,2CAAI;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,8CAA8C;AAC3D,aAAa,2DAA2D;AACxE,eAAe;AACf;AACA;AACA,aAAa,8CAA8C;AAC3D,aAAa,wBAAwB;AACrC,aAAa,2DAA2D;AACxE,eAAe;AACf;AACA;AACA,aAAa,8CAA8C;AAC3D,aAAa,wBAAwB;AACrC,eAAe;AACf;AACA,aAAa,8CAA8C;AAC3D;AACA,aAAa;AACb;AACA;AACA,QAAQ;AACR,+CAA+C;AAC/C;AACA,aAAa,2DAA2D;AACxE;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe;AACf;AACA;AACA,UAAU;AACV,eAAe,oCAAoC;AACnD,iBAAiB;AACjB;AACA;AACA,MAAM,2CAAM;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC,iBAAiB,MAAM;AACvB,iBAAiB,OAAO;AACxB,mBAAmB;AACnB;AACA;AACA;AACA,qBAAqB,8CAA8C;AACnE;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV,UAAU,0CAAM;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,8CAA8C;AAC3D;AACA,aAAa,wBAAwB;AACrC,+CAA+C;AAC/C;AACA,eAAe;AACf;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA,eAAe,4DAA4D;AAC3E;;AAEA;;AAEA;AACA,IAAI,2CAAM;AACV;;AAEA;AACA,cAAc;AACd;AACA;AACA,MAAM,2CAAI;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oDAAoD;AACjE;AACA,aAAa,wBAAwB;AACrC,+CAA+C;AAC/C;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,2BAA2B;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC,qEAAqE,2BAA2B;AAChG,wBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA,oCAAoC;AACpC;AACA,eAAe,+BAA+B,eAAe,iBAAiB;AAC9E;AACA,eAAe,WAAW,iBAAiB;AAC3C;AACA;AACA,gBAAgB,gBAAgB;AAChC,gBAAgB,2BAA2B;AAC3C;AACA;AACA;AACA,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,eAAe;AAC5B,eAAe;AACf;AACA;AACA,aAAa,mCAAmC;AAChD,aAAa,6BAA6B;AAC1C,eAAe;AACf;AACA,aAAa,oDAAoD;AACjE;AACA,aAAa,YAAY;AACzB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;;AAEA;;AAEA;AACA,eAAe,WAAW;AAC1B,iBAAiB;AACjB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,uBAAuB,6BAA6B;AACpD;AACA,UAAU;AACV;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA,eAAe,QAAQ;AACvB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,6BAA6B,mCAAM;AACnC;AACA;;AAEA;AACA,eAAe,kCAAkC;AACjD,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA,eAAe,QAAQ;AACvB,eAAe,gBAAgB;AAC/B,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,wDAAU,oBAAoB,wDAAU;AACpD,oBAAoB,mCAAM;AAC1B;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA,OAAO,wDAAU;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,wBAAwB;AACnC,aAAa;AACb;AACA;AACA,8CAA8C,wCAAK;AACnD;;AAEA;AACA,WAAW,wBAAwB;AACnC,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC1yCe;AACf;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;ACPA;AACA,aAAa,sBAAsB;AACnC,aAAa,wBAAwB;AACrC;;AAEA;AACA;AACA;AACA,aAAa,oEAAoE;AACjF;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,SAAS;AACpB;AACA,WAAW,2BAA2B;AACtC;AACA,WAAW,2BAA2B;AACtC;AACA,aAAa;AACb;AACA;AACA,aAAa,gCAAgC;AAC7C;AACA;AACA;AACA;AACA,aAAa,yFAAyF;AACtG;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,MAAM;AACjB;AACA,WAAW,oBAAoB;AAC/B;AACA,WAAW,oBAAoB;AAC/B;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,MAAM;AACjB;AACA,WAAW,2BAA2B;AACtC;AACA,WAAW,2BAA2B;AACtC;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA,YAAY;AACZ,gLAAgL,gBAAgB;AAChM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,MAAM;AACrB,eAAe,2BAA2B;AAC1C,eAAe,2BAA2B;AAC1C,eAAe,SAAS;AACxB,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA,YAAY;AACZ,oLAAoL,gBAAgB;AACpM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,sCAAsC;AACjD,aAAa;AACb;AACA;AACA,aAAa,cAAc;AAC3B;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA,mCAAmC,yBAAyB;;AAE5D;;AAEA;AACA,aAAa,MAAM;AACnB,eAAe;AACf;AACA;AACA,oCAAoC,yBAAyB;AAC7D,iBAAiB,SAAS;AAC1B;;AAEA,eAAe,QAAQ;AACvB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;;AAEA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa;AACb;AACA;AACA;;AAEA;AACA,YAAY;AACZ,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AClSA;AACA,aAAa,sBAAsB;AACnC,aAAa,uBAAuB;AACpC,aAAa,0BAA0B;AACvC;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,iCAAiC;AAC/C;AACA;AACA,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C;AACA;AACA,cAAc,2BAA2B;AACzC,cAAc,2BAA2B;AACzC,cAAc,2BAA2B;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,eAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;;;;;;;;;;;;;;;AC9FA;AACA,aAAa,sBAAsB;AACnC,aAAa,uBAAuB;AACpC,aAAa,0BAA0B;AACvC;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,iCAAiC;AAC/C;AACA;AACA,cAAc,2BAA2B;AACzC,cAAc,2BAA2B;AACzC,cAAc,2BAA2B;AACzC;AACA;AACA,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C;;AAEA;AACA;AACA;AACA;AACA,WAAW,kFAAkF;AAC7F;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,sCAAsC;AACjD,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,WAAW,4CAA4C;AACvD,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,WAAW,2BAA2B;AACtC,aAAa;AACb;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACnFA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACO;AACP;AACA;;;;;;;;;;;;;;;;;;;;;ACNA;AACA,aAAa,sBAAsB;AACnC,aAAa,wBAAwB;AACrC;;AAEA;AACA,aAAa,8DAA8D;AAC3E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA,sBAAsB,aAAa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;;AAEA;AACA,aAAa,4CAA4C;AACzD,aAAa;AACb;;AAEA;AACA,aAAa,sKAAsK;AACnL;AACA,cAAc,MAAM;AACpB;AACA;;AAEA;AACA,aAAa;AACb;AACA,qBAAqB;AACrB;AACA;AACA;AACA,MAAM;AACN;AACA,cAAc,WAAW;AACzB;AACA,cAAc,WAAW;AACzB;AACA;;AAEA;AACA,aAAa,kDAAkD;AAC/D;AACA,cAAc,WAAW;AACzB;AACA,cAAc,WAAW;AACzB;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,cAAc,WAAW;AACzB;AACA,cAAc,WAAW;AACzB;AACA,cAAc,MAAM;AACpB,UAAU;AACV,cAAc,MAAM;AACpB;AACA;;AAEA;AACA,aAAa,oDAAoD;AACjE;AACA,cAAc,WAAW;AACzB;AACA,cAAc,WAAW;AACzB;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,WAAW;AACzB;AACA,cAAc,MAAM;AACpB,UAAU;AACV,cAAc,MAAM;AACpB;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oEAAoE;AACjF;AACA;AACA,aAAa,wDAAwD;AACrE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,uBAAuB;AAClC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,WAAW;AACzB;AACA,cAAc,aAAa;AAC3B;AACA;;AAEA;AACA,aAAa,+GAA+G;AAC5H;AACA;AACA;AACA,cAAc,WAAW;AACzB;AACA,cAAc,MAAM;AACpB;AACA;;AAEqC;AAC0B;;AAE/D,WAAW,uBAAuB;AAClC;;AAEA;AACA;AACA;AACO;;AAEP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,2BAA2B;AACtC,WAAW,4BAA4B;AACvC,aAAa;AACb;AACA;AACA,WAAW,MAAM;AACjB,WAAW,oBAAoB;AAC/B,WAAW,4BAA4B;AACvC,aAAa;AACb;AACA,WAAW,WAAW;AACtB;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,sCAAsC;AACjD;AACA,WAAW,4BAA4B;AACvC;AACA,aAAa;AACb;AACA;AACA,cAAc,WAAW;AACzB;AACA,cAAc,MAAM;AACpB;AACA;AACO;AACP,aAAa,MAAM;AACnB;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA,aAAa,sDAAO;AACpB;;AAEA;;AAEA;AACA,aAAa,WAAW;AACxB,aAAa,oBAAoB;AACjC,aAAa,oBAAoB;AACjC;AACA;AACA,6BAA6B,yBAAyB;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,gFAAK;AAC1B,OAAO;AACP;;AAEA;;AAEA;AACA,iBAAiB,uBAAuB;AACxC;AACA,iBAAiB,uBAAuB;AACxC;AACA,iBAAiB,QAAQ;AACzB;AACA,iBAAiB,oBAAoB;AACrC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC,aAAa;;AAErD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;AC7YA;AACA,aAAa,sBAAsB;AACnC,aAAa,wBAAwB;AACrC,aAAa,kDAAkD;AAC/D;;AAEA;AACA,aAAa,8DAA8D;AAC3E;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA,sBAAsB,aAAa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;;AAEA;AACA,aAAa,4CAA4C;AACzD,aAAa;AACb;;AAEA;AACA,aAAa,sKAAsK;AACnL;AACA,cAAc,MAAM;AACpB;AACA;;AAEA;AACA,aAAa;AACb;AACA,qBAAqB;AACrB;AACA;AACA;AACA,MAAM;AACN;AACA,cAAc,WAAW;AACzB;AACA,cAAc,WAAW;AACzB;AACA;;AAEA;AACA,aAAa,kDAAkD;AAC/D;AACA,cAAc,WAAW;AACzB;AACA,cAAc,WAAW;AACzB;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,cAAc,WAAW;AACzB;AACA,cAAc,WAAW;AACzB;AACA,cAAc,MAAM;AACpB,UAAU;AACV,cAAc,MAAM;AACpB;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,WAAW;AACzB;AACA,cAAc,MAAM;AACpB,UAAU;AACV,cAAc,MAAM;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,wDAAwD;AACnE;AACA,WAAW,6DAA6D;AACxE;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,WAAW;AACzB;AACA,cAAc,aAAa;AAC3B;AACA;;AAEA;AACA,aAAa,6CAA6C;AAC1D;AACA;AACA;AACA,cAAc,WAAW;AACzB;AACA,cAAc,aAAa;AAC3B;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,cAAc,WAAW;AACzB;AACA,cAAc,MAAM;AACpB;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,cAAc,WAAW;AACzB;AACA,cAAc,MAAM;AACpB;AACA;;AAEqD;;AAEQ;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,2BAA2B;AACtC,WAAW,4BAA4B;AACvC,aAAa;AACb;AACA;AACA,WAAW,MAAM;AACjB,WAAW,oBAAoB;AAC/B,WAAW,4BAA4B;AACvC,aAAa;AACb;AACA,WAAW,WAAW;AACtB;AACA,WAAW,gBAAgB;AAC3B;AACA,WAAW,sCAAsC;AACjD;AACA,WAAW,4BAA4B;AACvC;AACA,aAAa;AACb;AACA;AACA,cAAc,WAAW;AACzB;AACA,cAAc,MAAM;AACpB;AACA;AACO;AACP,aAAa,4BAA4B;AACzC;AACA,aAAa,MAAM;AACnB;AACA,aAAa,SAAS;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE,sEAAY;;AAEd;AACA,aAAa,WAAW;AACxB,aAAa,oBAAoB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACxTA;AACA,aAAa,sBAAsB;AACnC,aAAa,uBAAuB;AACpC,aAAa,0BAA0B;AACvC;;AAEA;AACA,aAAa,UAAU,gDAAgD;AACvE;AACA;AACA;AACA,cAAc,gCAAgC;AAC9C;AACA,cAAc,0BAA0B;AACxC;AACA,cAAc,qCAAqC;AACnD;AACA,cAAc,2BAA2B;AACzC;AACA,cAAc,2BAA2B;AACzC;AACA;;AAE+D;;AAE/D;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,4BAA4B;AACzC;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,oCAAoC;AACjD,aAAa,2BAA2B;AACxC;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,qCAAqC;AAClD,aAAa,2BAA2B;AACxC;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,2BAA2B;AACxC;AACA;AACA;AACA,aAAa,sBAAsB;AACnC,aAAa,oCAAoC;AACjD,aAAa,2BAA2B;AACxC;AACA;AACA;AACA,aAAa,sBAAsB;AACnC,aAAa,qCAAqC;AAClD,aAAa,2BAA2B;AACxC;AACA;AACA;AACA,aAAa,sBAAsB;AACnC,aAAa,2BAA2B;AACxC;AACA;AACA,aAAa,+BAA+B;AAC5C;AACA,aAAa,0EAA0E;AACvF;AACA,aAAa,2BAA2B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,QAAQ;AACvB;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,gFAAiB;;AAEjC;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AC7TA;AACA,YAAY,uBAAuB;AACnC,YAAY,2BAA2B;AACvC,YAAY,uCAAuC;AACnD;;AAEA;AACA,aAAa,UAAU,gDAAgD;AACvE;;AAE0C;AACV;AACA;AACQ;;AAExC;AACA;AACA,KAAK,0BAA0B;AAC/B;AACA;AACA,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,sCAAsC,eAAe;AACrD,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;;AAEA;AACA;AACA,MAAM,SAAS,8CAAK;AACpB,iBAAiB;AACjB,MAAM;AACN,iBAAiB;AACjB,MAAM;AACN;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,uCAAuC,iDAAW;;AAElD;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,QAAQ;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,QAAQ,sDAAgB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,gBAAgB,kDAAY;AAC5B;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,QAAQ,qDAAe;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,gBAAgB,kDAAY;AAC5B;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,QAAQ,qDAAe;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,kDAAY;AAC5B;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA,eAAe;AACf;AACA;AACA;AACA,QAAQ,8CAAK;AACb,aAAa,kDAAS;AACtB;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,QAAQ,sDAAgB;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,gBAAgB,kDAAY;AAC5B;;AAEA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,mCAAmC;AAChD,eAAe;AACf;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,oCAAoC;AACjD,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,qCAAqC;AAClD,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,sBAAsB;AACnC,aAAa,oCAAoC;AACjD,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,sBAAsB;AACnC,aAAa,qCAAqC;AAClD,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,sBAAsB;AACnC,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA,aAAa,+BAA+B;AAC5C;AACA,aAAa,iFAAiF;AAC9F;AACA,aAAa,2BAA2B;AACxC;AACA;AACA,eAAe;AACf;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,mCAAmC;AAChD,eAAe;AACf;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,oCAAoC;AACjD,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,qCAAqC;AAClD,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,sBAAsB;AACnC,aAAa,oCAAoC;AACjD,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,sBAAsB;AACnC,aAAa,qCAAqC;AAClD,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,sBAAsB;AACnC,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA,aAAa,+BAA+B;AAC5C;AACA,aAAa,iFAAiF;AAC9F;AACA,aAAa,2BAA2B;AACxC;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,mCAAmC;AAChD,eAAe;AACf;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,oCAAoC;AACjD,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,qCAAqC;AAClD,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,sBAAsB;AACnC,aAAa,oCAAoC;AACjD,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,sBAAsB;AACnC,aAAa,qCAAqC;AAClD,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA;AACA,aAAa,sBAAsB;AACnC,aAAa,2BAA2B;AACxC,eAAe;AACf;AACA,aAAa,+BAA+B;AAC5C;AACA,aAAa,iFAAiF;AAC9F;AACA,aAAa,2BAA2B;AACxC;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,wBAAwB,uDAAY;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,2BAA2B;AACtC;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA,4BAA4B,iDAAW;AACvC;AACA,4DAA4D,iDAAW;AACvE;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACloBA;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;;AAEO,iBAAiB;;AAExB;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,2BAA2B;AACtC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,qBAAqB;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC;AACA,aAAa,QAAQ;AACrB;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;ACzaA;AACA;AACA;AACO,iBAAiB;;AAExB;AACA;AACA;;;;;;;;;;;;;;;;;;ACPwC;;AAEA;;AAExC;;AAEA;AACA,WAAW,cAAc;AACzB;AACA,aAAa;AACb;AACA;AACO;AACP;AACA;AACA,IAAI,UAAU,wDAAK;AACnB,eAAe,uBAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,uBAAuB;AACtC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,KAAK;AAChB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;UC9BA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA,eAAe,4BAA4B;WAC3C,eAAe;WACf,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA,8CAA8C;;;;;WCA9C;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;ACNwD;AACb;AAC3C;;AAEA,MAAMK,eAAe,GAAGC,QAAQ,CAACC,cAAc,CAAC,0BAA0B,CAAC;AAC3E;;AAEA;AACA,MAAMC,IAAI,GAAGJ,8DAAU,CAACC,eAAe,CAAC;;AAExC;AACA;;AAEA,SAASI,gBAAgBA,CAAA,EAAG;EAC1BD,IAAI,CAACL,MAAM,CAACtN,iEAAA,CAAC7N,2DAAO,OAAG,CAAC;AAC1B;AAEAsb,QAAQ,CAACI,gBAAgB,CAAC,kBAAkB,EAAE,MAAM;EAClD;EACA,IAAIL,eAAe,EAAE;IACnBI,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC,C","sources":["webpack://hivesupportpro/./src/frontend/components/ChatBox.jsx","webpack://hivesupportpro/./src/utils/utils.js","webpack://hivesupportpro/./node_modules/clsx/dist/clsx.m.js","webpack://hivesupportpro/./node_modules/debug/src/browser.js","webpack://hivesupportpro/./node_modules/debug/src/common.js","webpack://hivesupportpro/./node_modules/extend/index.js","webpack://hivesupportpro/./node_modules/inline-style-parser/index.js","webpack://hivesupportpro/./node_modules/moment-timezone/index.js","webpack://hivesupportpro/./node_modules/moment-timezone/moment-timezone.js","webpack://hivesupportpro/./node_modules/ms/index.js","webpack://hivesupportpro/./node_modules/react-icons/hi/index.esm.js","webpack://hivesupportpro/./node_modules/react-icons/lib/esm/iconBase.js","webpack://hivesupportpro/./node_modules/react-icons/lib/esm/iconContext.js","webpack://hivesupportpro/./node_modules/react-icons/lib/esm/iconsManifest.js","webpack://hivesupportpro/./node_modules/react-icons/lib/esm/index.js","webpack://hivesupportpro/./node_modules/react/cjs/react-jsx-runtime.development.js","webpack://hivesupportpro/./node_modules/react/jsx-runtime.js","webpack://hivesupportpro/./node_modules/style-to-object/cjs/index.js","webpack://hivesupportpro/external window \"React\"","webpack://hivesupportpro/external window \"moment\"","webpack://hivesupportpro/external window [\"wp\",\"element\"]","webpack://hivesupportpro/external window [\"wp\",\"i18n\"]","webpack://hivesupportpro/./node_modules/@ungap/structured-clone/esm/deserialize.js","webpack://hivesupportpro/./node_modules/@ungap/structured-clone/esm/index.js","webpack://hivesupportpro/./node_modules/@ungap/structured-clone/esm/serialize.js","webpack://hivesupportpro/./node_modules/@ungap/structured-clone/esm/types.js","webpack://hivesupportpro/./node_modules/bail/index.js","webpack://hivesupportpro/./node_modules/comma-separated-tokens/index.js","webpack://hivesupportpro/./node_modules/decode-named-character-reference/index.dom.js","webpack://hivesupportpro/./node_modules/dequal/dist/index.mjs","webpack://hivesupportpro/./node_modules/devlop/lib/development.js","webpack://hivesupportpro/./node_modules/estree-util-is-identifier-name/lib/index.js","webpack://hivesupportpro/./node_modules/hast-util-to-jsx-runtime/lib/index.js","webpack://hivesupportpro/./node_modules/hast-util-whitespace/lib/index.js","webpack://hivesupportpro/./node_modules/html-url-attributes/lib/index.js","webpack://hivesupportpro/./node_modules/mdast-util-from-markdown/dev/lib/index.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/footer.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/break.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/code.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/delete.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/heading.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/html.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/image.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/index.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/link.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/list-item.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/list.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/root.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/strong.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/table-cell.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/table-row.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/table.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/text.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/index.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/revert.js","webpack://hivesupportpro/./node_modules/mdast-util-to-hast/lib/state.js","webpack://hivesupportpro/./node_modules/mdast-util-to-string/lib/index.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/attention.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/autolink.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/blank-line.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/block-quote.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/character-escape.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/character-reference.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/code-fenced.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/code-indented.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/code-text.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/content.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/definition.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/heading-atx.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/html-flow.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/html-text.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/label-end.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/label-start-image.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/label-start-link.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/line-ending.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/list.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/setext-underline.js","webpack://hivesupportpro/./node_modules/micromark-core-commonmark/dev/lib/thematic-break.js","webpack://hivesupportpro/./node_modules/micromark-factory-destination/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-factory-label/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-factory-space/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-factory-title/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-factory-whitespace/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-util-character/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-util-chunked/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-util-classify-character/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-util-combine-extensions/index.js","webpack://hivesupportpro/./node_modules/micromark-util-decode-numeric-character-reference/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-util-decode-string/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-util-encode/index.js","webpack://hivesupportpro/./node_modules/micromark-util-html-tag-name/index.js","webpack://hivesupportpro/./node_modules/micromark-util-normalize-identifier/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-util-resolve-all/index.js","webpack://hivesupportpro/./node_modules/micromark-util-sanitize-uri/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-util-subtokenize/dev/index.js","webpack://hivesupportpro/./node_modules/micromark-util-subtokenize/dev/lib/splice-buffer.js","webpack://hivesupportpro/./node_modules/micromark-util-symbol/lib/codes.js","webpack://hivesupportpro/./node_modules/micromark-util-symbol/lib/constants.js","webpack://hivesupportpro/./node_modules/micromark-util-symbol/lib/types.js","webpack://hivesupportpro/./node_modules/micromark-util-symbol/lib/values.js","webpack://hivesupportpro/./node_modules/micromark/dev/lib/constructs.js","webpack://hivesupportpro/./node_modules/micromark/dev/lib/create-tokenizer.js","webpack://hivesupportpro/./node_modules/micromark/dev/lib/initialize/content.js","webpack://hivesupportpro/./node_modules/micromark/dev/lib/initialize/document.js","webpack://hivesupportpro/./node_modules/micromark/dev/lib/initialize/flow.js","webpack://hivesupportpro/./node_modules/micromark/dev/lib/initialize/text.js","webpack://hivesupportpro/./node_modules/micromark/dev/lib/parse.js","webpack://hivesupportpro/./node_modules/micromark/dev/lib/postprocess.js","webpack://hivesupportpro/./node_modules/micromark/dev/lib/preprocess.js","webpack://hivesupportpro/./node_modules/property-information/index.js","webpack://hivesupportpro/./node_modules/property-information/lib/aria.js","webpack://hivesupportpro/./node_modules/property-information/lib/find.js","webpack://hivesupportpro/./node_modules/property-information/lib/hast-to-react.js","webpack://hivesupportpro/./node_modules/property-information/lib/html.js","webpack://hivesupportpro/./node_modules/property-information/lib/normalize.js","webpack://hivesupportpro/./node_modules/property-information/lib/svg.js","webpack://hivesupportpro/./node_modules/property-information/lib/util/case-insensitive-transform.js","webpack://hivesupportpro/./node_modules/property-information/lib/util/case-sensitive-transform.js","webpack://hivesupportpro/./node_modules/property-information/lib/util/create.js","webpack://hivesupportpro/./node_modules/property-information/lib/util/defined-info.js","webpack://hivesupportpro/./node_modules/property-information/lib/util/info.js","webpack://hivesupportpro/./node_modules/property-information/lib/util/merge.js","webpack://hivesupportpro/./node_modules/property-information/lib/util/schema.js","webpack://hivesupportpro/./node_modules/property-information/lib/util/types.js","webpack://hivesupportpro/./node_modules/property-information/lib/xlink.js","webpack://hivesupportpro/./node_modules/property-information/lib/xml.js","webpack://hivesupportpro/./node_modules/property-information/lib/xmlns.js","webpack://hivesupportpro/./node_modules/react-markdown/lib/index.js","webpack://hivesupportpro/./node_modules/react-toastify/dist/react-toastify.esm.mjs","webpack://hivesupportpro/./node_modules/remark-parse/lib/index.js","webpack://hivesupportpro/./node_modules/remark-rehype/lib/index.js","webpack://hivesupportpro/./node_modules/space-separated-tokens/index.js","webpack://hivesupportpro/./node_modules/style-to-object/esm/index.mjs","webpack://hivesupportpro/./node_modules/trim-lines/index.js","webpack://hivesupportpro/./node_modules/trough/lib/index.js","webpack://hivesupportpro/./node_modules/unified/lib/callable-instance.js","webpack://hivesupportpro/./node_modules/unified/lib/index.js","webpack://hivesupportpro/./node_modules/unified/node_modules/is-plain-obj/index.js","webpack://hivesupportpro/./node_modules/unist-util-is/lib/index.js","webpack://hivesupportpro/./node_modules/unist-util-position/lib/index.js","webpack://hivesupportpro/./node_modules/unist-util-stringify-position/lib/index.js","webpack://hivesupportpro/./node_modules/unist-util-visit-parents/lib/color.js","webpack://hivesupportpro/./node_modules/unist-util-visit-parents/lib/index.js","webpack://hivesupportpro/./node_modules/unist-util-visit/lib/index.js","webpack://hivesupportpro/./node_modules/vfile-message/lib/index.js","webpack://hivesupportpro/./node_modules/vfile/lib/index.js","webpack://hivesupportpro/./node_modules/vfile/lib/minpath.browser.js","webpack://hivesupportpro/./node_modules/vfile/lib/minproc.browser.js","webpack://hivesupportpro/./node_modules/vfile/lib/minurl.browser.js","webpack://hivesupportpro/./node_modules/vfile/lib/minurl.shared.js","webpack://hivesupportpro/webpack/bootstrap","webpack://hivesupportpro/webpack/runtime/compat get default export","webpack://hivesupportpro/webpack/runtime/define property getters","webpack://hivesupportpro/webpack/runtime/hasOwnProperty shorthand","webpack://hivesupportpro/webpack/runtime/make namespace object","webpack://hivesupportpro/./src/frontend/chat.js"],"sourcesContent":["import moment from \"moment-timezone\";\r\nimport React, { useRef, useEffect, useState } from \"react\";\r\nimport ReactMarkdown from \"react-markdown\";\r\nimport { fireNotify } from \"../../utils/utils\";\r\nimport { __ } from '@wordpress/i18n';\r\n\r\nlet hsSyncingTimer = 4 * 500;\r\n// hsSyncingTimer =500;\r\nlet hiveMessageCount = 0;\r\n\r\nlet GetAiInit = 1;\r\n\r\nconst ChatBox = () => {\r\n\r\n let homeTabSettings = {};\r\n if (hive_front.home_tab) {\r\n const cleanedString = hive_front.home_tab.replace(/\\\\+/g, \"\");\r\n const settingsObject = JSON.parse(cleanedString);\r\n homeTabSettings = settingsObject;\r\n }\r\n \r\n if (homeTabSettings && homeTabSettings.enable_chat_widget == false) return;\r\n\r\n let enableAiChat = true;\r\n let enableMessaging = true;\r\n let enableHelp = true;\r\n\r\n let messagingTabSettings = {};\r\n if (hive_front.messaging_tab) {\r\n const cleanedString = hive_front.messaging_tab.replace(/\\\\+/g, \"\");\r\n const settingsObject = JSON.parse(cleanedString);\r\n messagingTabSettings = settingsObject;\r\n if (messagingTabSettings.enable_live_messaging == false)\r\n enableMessaging = false;\r\n }\r\n\r\n let helpTabSettings = {};\r\n if (hive_front.help_tab) {\r\n const cleanedString = hive_front.help_tab.replace(/\\\\+/g, \"\");\r\n const settingsObject = JSON.parse(cleanedString);\r\n helpTabSettings = settingsObject;\r\n if (helpTabSettings.enable_help_tab == false) enableHelp = false;\r\n }\r\n\r\n let aiTabSettings = {};\r\n if (hive_front.ai_tab) {\r\n aiTabSettings = hive_front.ai_tab;\r\n if (aiTabSettings.enable_ai_chat == false) enableAiChat = false;\r\n }\r\n\r\n // Disable chat window for admins and agents\r\n // if (hive_front.hive_agent == \"yes\") return;\r\n const $faqs = [\r\n {\r\n question: \"How to purchase Hive Support Plugin?\",\r\n answer: \"Please, Buy from our official site\",\r\n },\r\n {\r\n question: \"I want to talk with a real person.\",\r\n answer: \"An active agent will connect to you soon.\",\r\n },\r\n {\r\n question: \"I need help with this Guidant Plugin.\",\r\n answer:\r\n \"Please, see the documentation and tutorials from the links below.\",\r\n },\r\n {\r\n question: \"Send me link to help library.\",\r\n answer: \"Sure, please navigate to this link.\",\r\n },\r\n ];\r\n\r\n let w = hive_front.widget_appearance ? JSON.parse( hive_front.widget_appearance ) : {};\r\n\r\n const defaultAvatar = hive_front.agent_avatar;\r\n\r\n\r\n const tabBtnColor = \"#1A1A1A\";\r\n const tabBtnColorActive = w.main_color ?? '#0080ff';\r\n\r\n let defaultState = {\r\n guest_message_form_display: false,\r\n user_message_form_display: false,\r\n add_message_btn: false,\r\n enable_help_articles_on_home: hive_front.home_tab\r\n ? JSON.parse(hive_front.home_tab).enable_article_list\r\n : \"\",\r\n is_guest_chat:\r\n hive_front.messaging_tab &&\r\n JSON.parse(hive_front.messaging_tab.replace(/\\\\+/g, \"\"))\r\n .enable_guest_chat &&\r\n hive_front.current_user == 0,\r\n };\r\n\r\n let active_user_id = 0;\r\n if (hive_front.current_user != \"0\" || hive_front.current_user != 0) {\r\n // Handle logged in user\r\n active_user_id = hive_front.current_user;\r\n if (homeTabSettings.enable_users_chat_section) {\r\n defaultState = { ...defaultState, user_message_form_display: false };\r\n defaultState = { ...defaultState, add_message_btn: true };\r\n if (homeTabSettings.users_section_type == \"user_chat_form\") {\r\n defaultState = {\r\n ...defaultState,\r\n user_message_form_display: true,\r\n add_message_btn: false,\r\n };\r\n }\r\n }\r\n } else {\r\n //Handle Guest\r\n if (hive_front.hs_guest != \"\") {\r\n active_user_id = `-${hive_front.hs_guest}`;\r\n }\r\n if (homeTabSettings.enable_guest_chat) {\r\n defaultState = { ...defaultState, guest_message_form_display: true };\r\n }\r\n }\r\n if (homeTabSettings.enable_guest_chat) {\r\n if (\r\n !homeTabSettings.enable_guest_chat &&\r\n homeTabSettings.enable_users_chat_section\r\n ) {\r\n defaultState = { ...defaultState, guest_message_form_display: false };\r\n }\r\n if (homeTabSettings.guest_section_type == \"guest_chat_button\") {\r\n defaultState = {\r\n ...defaultState,\r\n guest_message_form_display: false,\r\n add_message_btn: true,\r\n };\r\n }\r\n }\r\n\r\n let defaultFormStatus = active_user_id == 0 ? true : false;\r\n defaultFormStatus = false;\r\n\r\n let defaultAddMessageBtnStatus = active_user_id == 0 ? false : true;\r\n defaultAddMessageBtnStatus = true;\r\n\r\n const hiveBotLocalKey = \"hive_bot_chats\";\r\n\r\n // localStorage.removeItem(hiveBotLocalKey);\r\n\r\n // #region Preview States\r\n const [preview, setPreview] = useState(false);\r\n\r\n // home, messages, help, news\r\n const [tab, setTab] = useState(\"home\"); // home, messages, help, news, ai\r\n const [intro, setIntro] = useState(true);\r\n const [form, setForm] = useState(defaultState.guest_message_form_display);\r\n const [guestForm, setGuestForm] = useState(\r\n defaultState.guest_message_form_display\r\n );\r\n // User Message Form\r\n const [messageForm, setMessageForm] = useState(\r\n defaultState.user_message_form_display\r\n ); // User Message Form\r\n const [addMessageBtn, setAddMessageBtn] = useState(\r\n defaultState.add_message_btn\r\n );\r\n const [helpDisplay, setHelpDisplay] = useState(\r\n defaultState.enable_help_articles_on_home\r\n );\r\n\r\n const [faq, setFaq] = useState(false);\r\n const [team, setTeam] = useState(true);\r\n const [conversation, setConversation] = useState(false);\r\n\r\n const [aiMessageForm, setAiMessageForm] = useState(false);\r\n const [backBtn, setBackBtn] = useState(false);\r\n const [messageList, setMessageList] = useState(false);\r\n const [singleChat, setSingleChat] = useState(false);\r\n const [activeMessage, setActiveMessage] = useState(0);\r\n\r\n const [articleSearchForm, setArticleSearchForm] = useState(\r\n defaultState.enable_help_articles_on_home\r\n );\r\n const [articleList, setArticleList] = useState(false);\r\n const [headTitleDisplay, setHeadTitleDisplay] = useState(true);\r\n const [usersChat, setUsersChat] = useState([]);\r\n const [chat, setChat] = useState([]);\r\n const [activeCustomer, setActiveCustomer] = useState(0); // [customer, setActiveCustomer]\r\n //const [message, setMessage] = useState(\"\");\r\n const [totalUnread, setTotalUnread] = useState(9);\r\n\r\n let defaultFilter = {\r\n status: \"\",\r\n agent_id: \"\",\r\n customer_id: active_user_id,\r\n secret_content: hive_front.hs_guest,\r\n count: \"10\",\r\n current_page: \"1\",\r\n };\r\n\r\n let chat_API_URL = `${hive_front.site_url}/wp-json/hivesupport/v1/chat`;\r\n const AiChatBotName = \"Hive Bot\";\r\n\r\n const [filter, setFilter] = useState(defaultFilter);\r\n\r\n // handle in later release\r\n const [chatCloseBtn, setChatCloseBtn] = useState(false);\r\n const [newsTab, setNewsTab] = useState(false);\r\n // #endregion Preview States\r\n\r\n // Data states\r\n\r\n const replyCount = useRef(hive_front.total_reply_count);\r\n const lasActiveId = useRef(0);\r\n const lastArticles = useRef([]);\r\n\r\n const isGuest = hive_front.current_user == 0 ? true : false;\r\n const [guest, setGuest] = useState(isGuest);\r\n\r\n const [activeMessageID, setActiveMessageID] = useState(0);\r\n const [currentUserId, setCurrentUserId] = useState(active_user_id);\r\n const [faqs, setFaqs] = useState([$faqs]);\r\n\r\n const [conversations, setConversations] = useState([]); //$conversations\r\n const [aiconversations, setAiConversations] = useState([]);\r\n\r\n const [headTitle, setHeadTitle] = useState(\"\");\r\n const [messageCount, setMessageCount] = useState(0);\r\n // const hasNewMessage = useRef(false);\r\n const [hasNewMessage, setHasNewMessage] = useState(false);\r\n\r\n /**\r\n * first state: intro, form\r\n * second state: intro, faq, message form\r\n * third form: team, conversation, message form\r\n * @returns\r\n */\r\n /***\r\n * Home: intro, form\r\n */\r\n // #region Event Handlers\r\n\r\n const handleGoToHome = () => {\r\n setTab(\"home\");\r\n setHeadTitle(\"\");\r\n // setPreview(true);\r\n setIntro(true);\r\n\r\n // homeTabSettings\r\n\r\n // Handle Guest\r\n if (currentUserId == 0) {\r\n setForm(true);\r\n setAddMessageBtn(false);\r\n } else {\r\n // Handle Logged in user\r\n setAddMessageBtn(true);\r\n setForm(false);\r\n }\r\n\r\n setAiMessageForm(false);\r\n // setForm(true);\r\n\r\n setMessageForm(false);\r\n setBackBtn(false);\r\n // setChatCloseBtn(false);\r\n setMessageList(false);\r\n setActiveMessage(0);\r\n // setAddMessageBtn(true);\r\n setArticleSearchForm(defaultState.enable_help_articles_on_home);\r\n\r\n setFaq(false);\r\n setTeam(true);\r\n setConversation(false);\r\n };\r\n const handleGoToMessages = () => {\r\n setTab(\"messages\");\r\n setHeadTitle(\r\n messagingTabSettings.message_top_bar_title\r\n ? messagingTabSettings.message_top_bar_title\r\n : \"Messaging\"\r\n );\r\n setPreview(true);\r\n setIntro(false);\r\n setGuestForm(false);\r\n setForm(false);\r\n\r\n setFaq(false);\r\n setTeam(false);\r\n setConversation(false);\r\n setMessageForm(false);\r\n setBackBtn(false);\r\n setChatCloseBtn(false);\r\n setMessageList(true);\r\n setActiveMessage(0);\r\n setArticleSearchForm(false);\r\n setArticleList(false);\r\n setAddMessageBtn(true);\r\n setAiMessageForm(false);\r\n };\r\n // handleGoToMessages();\r\n\r\n const handleGoToHelp = () => {\r\n setTab(\"help\");\r\n setHeadTitle(\r\n helpTabSettings.help_top_bar_title\r\n ? helpTabSettings.help_top_bar_title\r\n : \"Help\"\r\n );\r\n\r\n // Get the help Articles\r\n // getTheArticles();\r\n\r\n setPreview(true);\r\n setIntro(false);\r\n setGuestForm(false);\r\n setForm(false);\r\n setFaq(false);\r\n setTeam(false);\r\n setConversation(false);\r\n setMessageForm(false);\r\n setBackBtn(false);\r\n setChatCloseBtn(false);\r\n setMessageList(false);\r\n setActiveMessage(0);\r\n setArticleSearchForm(true);\r\n setArticleList(true);\r\n setAiMessageForm(false);\r\n };\r\n const handleGoToAi = () => {\r\n setTab(\"ai\");\r\n setHeadTitle(\r\n aiTabSettings.ai_top_bar_title\r\n ? aiTabSettings.ai_top_bar_title\r\n : \"AI Chat\"\r\n );\r\n setPreview(true);\r\n setConversation(true);\r\n setIntro(false);\r\n setGuestForm(false);\r\n setForm(false);\r\n setFaq(false);\r\n setTeam(false);\r\n setMessageForm(false);\r\n setBackBtn(false);\r\n setChatCloseBtn(false);\r\n setMessageList(false);\r\n setActiveMessage(0);\r\n setArticleSearchForm(false);\r\n setArticleList(false);\r\n // setAddMessageBtn(true);\r\n setAddMessageBtn(false);\r\n setAiMessageForm(true);\r\n };\r\n\r\n function hsAddArgInAPI_URL(filterState, ticket_API_URL) {\r\n let newApiUrl = ticket_API_URL;\r\n let params = filterState;\r\n let queryParams = [];\r\n for (let key in params) {\r\n if (params[key] !== \"\") {\r\n queryParams.push(`${key}=${encodeURIComponent(params[key])}`);\r\n }\r\n }\r\n if (queryParams.length > 0) {\r\n newApiUrl += \"?\" + queryParams.join(\"&\");\r\n }\r\n return newApiUrl;\r\n }\r\n\r\n const fetchChatsAsync = async () => {\r\n const newAPIUrl = hsAddArgInAPI_URL(filter, chat_API_URL);\r\n\r\n try {\r\n const request = await fetch(newAPIUrl);\r\n const response = await request.json();\r\n if (response.success) {\r\n setChat(response.data.chats);\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n const getUsersChats = () => {\r\n fetchChatsAsync();\r\n };\r\n\r\n const handlePreview = () => {\r\n setPreview(false);\r\n };\r\n const handleOpenPreview = () => {\r\n setPreview(!preview);\r\n };\r\n const handleTabChange = (tab) => {\r\n setTab(tab);\r\n if (tab == \"home\") {\r\n handleGoToHome();\r\n }\r\n if (tab == \"messages\") {\r\n handleGoToMessages();\r\n }\r\n if (tab == \"help\") {\r\n handleGoToHelp();\r\n }\r\n if (tab == \"ai\") {\r\n handleGoToAi();\r\n }\r\n };\r\n\r\n const handleAddNewMessage = () => {\r\n setMessageForm(true);\r\n // setFaq(true);\r\n setMessageList(false);\r\n setBackBtn(true);\r\n setAddMessageBtn(false);\r\n setArticleSearchForm(false);\r\n };\r\n\r\n const handleSyncingMessageList = () => {\r\n fetchChatsAsync();\r\n };\r\n\r\n const handleBackToTopLevel = () => {\r\n // setTab('home');\r\n setConversations([]);\r\n setActiveMessageID(0);\r\n setPreview(true);\r\n setIntro(false);\r\n setForm(false);\r\n setFaq(false);\r\n setTeam(false);\r\n setConversation(false);\r\n setMessageForm(false);\r\n setBackBtn(false);\r\n setChatCloseBtn(false);\r\n setMessageList(true);\r\n setActiveMessage(0);\r\n setAddMessageBtn(true);\r\n };\r\n\r\n const isHiveStaffAgent = (id, staffs) => {\r\n let isAgent = false;\r\n for (let key in staffs) {\r\n if (staffs.hasOwnProperty(key) && key == id) {\r\n isAgent = true;\r\n return isAgent;\r\n }\r\n }\r\n return isAgent;\r\n };\r\n\r\n function customDateFormat(inputDate) {\r\n return moment.tz(inputDate, hive_front.time_zone).fromNow();\r\n }\r\n\r\n const fetchSingleChatDataUpdateWrapper = () => {\r\n fetchSingleChatDataUpdate();\r\n };\r\n\r\n const handleUpdateConversationUpdate = (getConversation, staffs) => {\r\n\r\n let newConversations = [];\r\n getConversation.map((conversation, index) => {\r\n let newConv = conversation;\r\n let isStaff = true;\r\n isStaff = isHiveStaffAgent(conversation.person_id, staffs);\r\n if (isStaff) {\r\n newConv.person_type = \"agent\";\r\n } else {\r\n newConv.person_type = \"customer\";\r\n }\r\n let thisTime = customDateFormat(conversation.created_at);\r\n newConv.time = thisTime;\r\n newConversations.push(newConv);\r\n });\r\n\r\n setHasNewMessage(true);\r\n setConversations(newConversations);\r\n };\r\n\r\n // Main function to fetch single chat -- single_chat\r\n const fetchSingleChatDataUpdate = async () => {\r\n let theActiveId;\r\n\r\n if (activeMessageID == 0) {\r\n theActiveId = lasActiveId.current;\r\n // setConversations([]);\r\n // return;\r\n } else {\r\n theActiveId = activeMessageID;\r\n }\r\n\r\n const request = await fetch(\r\n `${hive_front.site_url}/wp-json/hivesupport/v1/chat/${theActiveId}`\r\n );\r\n const response = await request.json();\r\n if (response.success) {\r\n\r\n handleUpdateConversationUpdate(\r\n response.data.message_replies,\r\n response.data.agents_admins\r\n );\r\n }\r\n };\r\n\r\n const handleUpdateConversation = (getConversation, staffs) => {\r\n\r\n let newConversations = [];\r\n getConversation.map((conversation, index) => {\r\n let newConv = conversation;\r\n\r\n let isStaff = true;\r\n\r\n isStaff = isHiveStaffAgent(conversation.person_id, staffs);\r\n\r\n if (isStaff) {\r\n newConv.person_type = \"agent\";\r\n } else {\r\n newConv.person_type = \"customer\";\r\n }\r\n\r\n let thisTime = customDateFormat(conversation.created_at);\r\n newConv.time = thisTime;\r\n\r\n newConversations.push(newConv);\r\n });\r\n\r\n hiveMessageCount = newConversations.length;\r\n\r\n setConversations(newConversations);\r\n };\r\n\r\n // Main function to fetch single chat -- single_chat\r\n const fetchSingleChatData = async () => {\r\n\r\n if (activeMessageID == 0) {\r\n return;\r\n }\r\n\r\n const request = await fetch(\r\n `${hive_front.site_url}/wp-json/hivesupport/v1/chat/${activeMessageID}`\r\n );\r\n const response = await request.json();\r\n if (response.success) {\r\n\r\n handleUpdateConversation(\r\n response.data.message_replies,\r\n response.data.agents_admins\r\n );\r\n }\r\n\r\n };\r\n\r\n const getSingleChat = () => {\r\n fetchSingleChatData();\r\n };\r\n\r\n const handleViewConversation = () => {\r\n getSingleChat();\r\n };\r\n\r\n const handleViewSingleMessage = (message) => {\r\n setActiveMessageID(message.id);\r\n lasActiveId.current = message.id;\r\n\r\n setHasNewMessage(false);\r\n\r\n setConversation(true);\r\n setMessageForm(true);\r\n setFaq(false);\r\n setMessageList(false);\r\n setBackBtn(true);\r\n setAddMessageBtn(false);\r\n\r\n //\r\n const formdata = new FormData();\r\n formdata.append( \"action\", 'hs_add_seen_status' );\r\n formdata.append(\"chat_id\", message.id );\r\n formdata.append(\"chat_user_key\", 'customer_seen_status' );\r\n\r\n const request = fetch(hive_front.ajaxurl, {\r\n method: \"POST\",\r\n body: formdata,\r\n });\r\n\r\n\r\n };\r\n\r\n const handleViewSingleArticle = () => {\r\n // setArticleSearchForm(false);\r\n // setTab('home');\r\n // setPreview(true);\r\n // setIntro(false);\r\n // setForm(false);\r\n // setFaq(false);\r\n // setTeam(false);\r\n // setConversation(false);\r\n // setMessageForm(false);\r\n // setBackBtn(false);\r\n // setChatCloseBtn(false);\r\n // setMessageList(true);\r\n // setActiveMessage(0);\r\n };\r\n\r\n // #region Component\r\n const Intro = () => {\r\n let title = __( \"Hi'there\", \"hive-support\" );\r\n if (homeTabSettings.chat_window_home_title != \"\") {\r\n title = homeTabSettings.chat_window_home_title;\r\n }\r\n let subTitle = __( \"How can we help?\", \"hive-support\" );\r\n if (homeTabSettings.chat_window_home_subtitle != \"\") {\r\n subTitle = homeTabSettings.chat_window_home_subtitle;\r\n }\r\n\r\n let w = hive_front.widget_appearance ? JSON.parse( hive_front.widget_appearance ) : {};\r\n\r\n let style = {\r\n backgroundColor: w.main_color,\r\n color: w.main_text_color,\r\n }\r\n\r\n let colorStyle = {\r\n color: w.main_text_color,\r\n }\r\n\r\n return (\r\n \r\n \r\n {/* \"\" */}\r\n
\r\n {title}\r\n
\r\n

\r\n {subTitle}\r\n

\r\n \r\n );\r\n };\r\n const Team = () => {\r\n let w = hive_front.widget_appearance ? JSON.parse( hive_front.widget_appearance ) : {};\r\n\r\n let style = {\r\n backgroundColor: w.main_color,\r\n color: w.main_text_color ?? \"#ffffff\",\r\n }\r\n let colorStyle = {\r\n color: w.main_text_color ?? \"#ffffff\",\r\n }\r\n return (\r\n \r\n
\r\n
\r\n {homeTabSettings.agent_media?.map((item) => (\r\n \r\n \r\n \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n {homeTabSettings.position_title != \"\"\r\n ? homeTabSettings.position_title\r\n : \"\"}\r\n \r\n
\r\n {/*

Active recently

*/}\r\n
\r\n
\r\n \r\n );\r\n };\r\n \r\n const ChatBoxHeader = () => {\r\n\r\n let w = hive_front.widget_appearance ? JSON.parse( hive_front.widget_appearance ) : {};\r\n\r\n let style = {\r\n backgroundColor: w.main_color,\r\n color: w.main_text_color ?? '#ffffff',\r\n }\r\n\r\n let colorStyle = {\r\n color: w.main_text_color ?? \"#ffffff\",\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {backBtn && (\r\n \r\n \r\n
\r\n )}\r\n
\r\n {headTitleDisplay && (\r\n
\r\n {headTitle}\r\n
\r\n )}\r\n
\r\n \r\n {__( \"remove\", \"hive-support\" )}\r\n

\r\n {chatCloseBtn && (\r\n

\r\n {__( \"close\", \"hive-support\" )}\r\n

\r\n )}\r\n
\r\n
\r\n \r\n );\r\n };\r\n const ChatBoxForm = () => {\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n const ChatBoxFaq = () => {\r\n if (!faq) return;\r\n\r\n if (!(Array.isArray(faqs) && faqs.length > 0)) return;\r\n\r\n return (\r\n \r\n
\r\n {faqs.map((faq, i) => {\r\n return (\r\n \r\n {faq.question}\r\n

\r\n );\r\n })}\r\n
\r\n \r\n );\r\n };\r\n\r\n function hsFormatDate(inputDate) {\r\n const date = new Date(inputDate);\r\n\r\n // Check if the date is valid\r\n if (isNaN(date.getDate())) {\r\n return inputDate; // Return empty string if not a valid date\r\n }\r\n\r\n // Get month, day, and year\r\n const month = date.toLocaleString(\"default\", { month: \"short\" });\r\n const day = date.getDate();\r\n const year = date.getFullYear();\r\n\r\n // Format the date as desired\r\n const formattedDate = `${month} ${day} ${year}`;\r\n\r\n return formattedDate;\r\n }\r\n const OwnChat = ({ singleMessage }) => {\r\n const messageContent = singleMessage.content;\r\n const time = hsFormatDate(singleMessage.time);\r\n\r\n return (\r\n \r\n
\r\n
\r\n {\" \"}\r\n {messageContent}\r\n
\r\n {time && (\r\n

\r\n {\" \"}\r\n {time && `${time}`}\r\n

\r\n )}\r\n
\r\n \r\n );\r\n };\r\n const OthersChat = ({ singleMessage, image = defaultAvatar }) => {\r\n const name = singleMessage.person_name;\r\n const time = hsFormatDate(singleMessage.time);\r\n const messageContent = singleMessage.content;\r\n\r\n return (\r\n \r\n \r\n \"chat\"\r\n \r\n
\r\n
\r\n {\" \"}\r\n {\r\n messageContent == 'thinking' ? : {messageContent}\r\n }\r\n
\r\n

\r\n {\" \"}\r\n {name} {time && `(${time})`}\r\n

\r\n
\r\n \r\n );\r\n };\r\n\r\n const IntroAIChat = ({ image = defaultAvatar }) => {\r\n\r\n const name = 'Hive Bot';\r\n let time = '';\r\n \r\n const messageContent = aiTabSettings.ai_intro_msg ? aiTabSettings.ai_intro_msg: \"Hi👋 How We could Help You?\";\r\n const preSetQuestions = aiTabSettings.pre_set_questions ? aiTabSettings.pre_set_questions : \"\";\r\n\r\n\r\n\r\n let w = hive_front.widget_appearance ? JSON.parse( hive_front.widget_appearance ) : {};\r\n\r\n let style = {\r\n backgroundColor: w.agent_message_color,\r\n color: w.agent_text_color,\r\n }\r\n\r\n \r\n let currTime = new Date();\r\n time = currTime.getHours() + \":\" + currTime.getMinutes();\r\n let localChats = localStorage.getItem(hiveBotLocalKey);\r\n const AiSettingsErrorMessage = __( \"Ai chat error! Please try again later\", \"hive-support\" );\r\n\r\n let prevAiChat;\r\n if (localChats) {\r\n prevAiChat = JSON.parse(localChats);\r\n // setConversations(prevAiChat);\r\n } else {\r\n localStorage.setItem(hiveBotLocalKey, JSON.stringify([]));\r\n prevAiChat = [];\r\n }\r\n\r\n\r\n const addNewChat = async (e, query) => {\r\n e.preventDefault();\r\n\r\n // const currTime = new Date();\r\n const formdata = new FormData();\r\n formdata.append(\"action\", \"hs_ai_chat_send_message\");\r\n formdata.append(\"chat_title\", query);\r\n formdata.append(\"my_text\", \"Hye, Cute pie!\");\r\n\r\n // Add the user Message to the list first\r\n\r\n const chatItem = {\r\n id: 0,\r\n message_id: 0,\r\n person_id: 0,\r\n content: query,\r\n media_urls: \"\",\r\n created_at: time,\r\n person_name: \"Me\",\r\n person_type: \"customer\",\r\n time: time,\r\n };\r\n prevAiChat = [...prevAiChat, chatItem];\r\n setAiConversations(prevAiChat);\r\n\r\n if (hive_front.open_ai_ok == \"no\") {\r\n const AiChatItemError = {\r\n id: 0,\r\n message_id: 0,\r\n person_id: 0,\r\n content: AiSettingsErrorMessage,\r\n media_urls: \"\",\r\n created_at: time,\r\n person_name: AiChatBotName,\r\n person_type: \"agent\",\r\n time: time,\r\n };\r\n prevAiChat = [...prevAiChat, AiChatItemError];\r\n setAiConversations(prevAiChat);\r\n return;\r\n }\r\n\r\n const AiChatItem = {\r\n id: 0,\r\n message_id: 0,\r\n person_id: 0,\r\n content: \"thinking\",\r\n media_urls: \"\",\r\n created_at: time,\r\n person_name: AiChatBotName,\r\n person_type: \"agent\",\r\n time: time,\r\n };\r\n prevAiChat = [...prevAiChat, AiChatItem];\r\n setAiConversations(prevAiChat);\r\n\r\n try {\r\n const request = await fetch(hive_front.ajaxurl, {\r\n method: \"POST\",\r\n body: formdata,\r\n });\r\n\r\n const response = await request.json();\r\n\r\n if (response.success) {\r\n \r\n const aiResponse = JSON.parse(response.data.response);\r\n const AiMessage = aiResponse.message?.content;\r\n\r\n const AiChatItem = {\r\n id: 0,\r\n message_id: 0,\r\n person_id: 0,\r\n content: AiMessage,\r\n media_urls: \"\",\r\n created_at: time,\r\n person_name: AiChatBotName,\r\n person_type: \"agent\",\r\n time: time,\r\n };\r\n const updatedPrevAiChat = prevAiChat.slice(0, -1);\r\n prevAiChat = [...updatedPrevAiChat, AiChatItem];\r\n setAiConversations(prevAiChat);\r\n\r\n localStorage.setItem(hiveBotLocalKey, JSON.stringify(prevAiChat));\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n const submitFaqQuestion = (e, query) => {\r\n addNewChat(e, query); \r\n };\r\n\r\n\r\n\r\n return (\r\n <>\r\n \r\n \r\n \"chat\"\r\n \r\n
\r\n

\r\n {\" \"}\r\n {\r\n messageContent == 'thinking' ? : messageContent\r\n }\r\n

\r\n

\r\n {\" \"}\r\n {name} {time && `(${time})`}\r\n

\r\n
\r\n {\r\n preSetQuestions && preSetQuestions.map((item, index) => {\r\n return(\r\n item.value && submitFaqQuestion(e, item.value ) } key={index}>{item.value}\r\n )\r\n })\r\n }\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n\r\n );\r\n };\r\n\r\n const Conversations = () => {\r\n if (!conversation) return;\r\n if (!(Array.isArray(conversations) && conversations.length > 0)) return;\r\n\r\n // Make chat to display from bottom in recent conversations\r\n const chatContainerRef = useRef(null); // useRef\r\n\r\n useEffect(() => {\r\n // Scroll to the bottom when messages change\r\n if (chatContainerRef.current) {\r\n chatContainerRef.current.scrollTop =\r\n chatContainerRef.current.scrollHeight;\r\n }\r\n }, [conversations]);\r\n\r\n return (\r\n \r\n \r\n {conversations.map((singleMessage, index) => (\r\n \r\n {singleMessage.person_type === \"customer\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ))}\r\n\r\n \r\n \r\n );\r\n };\r\n const ConversationsAi = () => {\r\n //if (!conversation) return;\r\n //if (!(Array.isArray(aiconversations) && aiconversations.length > 0)) return;\r\n\r\n // Make chat to display from bottom in recent conversations\r\n const chatContainerRef = useRef(null); // useRef\r\n\r\n useEffect(() => {\r\n\r\n // Scroll to the bottom when messages change\r\n if (chatContainerRef.current) {\r\n chatContainerRef.current.scrollTop = chatContainerRef.current.scrollHeight;\r\n }\r\n }, [aiconversations]);\r\n\r\n let w = hive_front.widget_appearance ? JSON.parse( hive_front.widget_appearance ) : {};\r\n let avImage = w.aichat_media && w.aichat_media.length > 0 ? w.aichat_media[0].filepath : hive_front.agent_avatar;\r\n\r\n let singleMessage = {\r\n content: 'How we can help you?',\r\n time: '',\r\n person_name: ''\r\n }\r\n return (\r\n \r\n \r\n \r\n { !aiconversations.length && }\r\n \r\n {aiconversations.map((singleMessage, index) => (\r\n \r\n {singleMessage.person_type === \"customer\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ))}\r\n \r\n\r\n \r\n );\r\n };\r\n const ChatBoxContent = () => {\r\n if (!(conversation || faq)) return;\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const ChatBoxAiContent = () => {\r\n if (!(conversation || faq)) return;\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n };\r\n // #endregion Component\r\n\r\n // #region Icons\r\n const HomeIcon = () => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const ChatIcon = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const ChatIcon2 = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const HelpIcon = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const NewsIcon = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const BackIcon = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n const BackIconTop = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n const ChatBotIcon = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n // #endregion Icons\r\n\r\n const MessageForm = () => {\r\n \r\n const [message, setMessage] = useState(\"\");\r\n const handleSetMessage = (message) => {\r\n setMessage(message);\r\n };\r\n\r\n const handleViewNewSingleMessage = (id) => {\r\n handleGoToMessages();\r\n\r\n setActiveMessageID(id);\r\n \r\n setActiveMessage(message.id);\r\n \r\n setConversation(true);\r\n setMessageForm(true);\r\n setFaq(false);\r\n setMessageList(false);\r\n setBackBtn(true);\r\n setAddMessageBtn(false);\r\n };\r\n\r\n const addNewChat = async (e) => {\r\n e.preventDefault();\r\n\r\n const formdata = new FormData();\r\n formdata.append(\"action\", \"hs_add_new_chat\");\r\n formdata.append(\"chat_title\", message);\r\n formdata.append(\"customer_id\", hive_front.current_user);\r\n\r\n try {\r\n const request = await fetch(hive_front.ajaxurl, {\r\n method: \"POST\",\r\n body: formdata,\r\n });\r\n const response = await request.json();\r\n if (response.success) {\r\n \r\n // For logged in users\r\n const newChatId = response.data?.is_success;\r\n setMessage(\"\");\r\n handleViewNewSingleMessage(newChatId);\r\n handleSyncingMessageList();\r\n // fireNotify(`New chat #${newChatId} added successfully`, \"success\");\r\n }\r\n } catch (err) {\r\n fireNotify(err, \"error\");\r\n }\r\n };\r\n\r\n const addReplyToChat = async (e) => {\r\n e.preventDefault();\r\n if (!message) return;\r\n \r\n const formdata = new FormData();\r\n formdata.append(\"action\", \"hs_add_chat_reply\");\r\n formdata.append(\"chat_reply\", message);\r\n formdata.append(\"chat_id\", activeMessageID);\r\n formdata.append(\"person_id\", hive_front.current_user);\r\n\r\n // formdata.append(\"response_answer\", resanswere);\r\n try {\r\n const request = await fetch(hive_front.ajaxurl, {\r\n method: \"POST\",\r\n body: formdata,\r\n });\r\n const response = await request.json();\r\n if (response.success) {\r\n \r\n setMessage(\"\");\r\n fireNotify(\"Response added successfully\", \"success\");\r\n fetchSingleChatData();\r\n }\r\n } catch (err) {\r\n fireNotify(err, \"error\");\r\n }\r\n };\r\n\r\n const sendMessage = async (e) => {\r\n if (activeMessageID == 0 || !activeMessageID) {\r\n addNewChat(e);\r\n } else {\r\n addReplyToChat(e);\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n handleSetMessage(e.target.value)}\r\n >\r\n
\r\n
\r\n
\r\n {/* */}\r\n {/* mood */}\r\n
\r\n
\r\n sendMessage(e)}\r\n >\r\n {__( \"send\", \"hive-support\" )}\r\n \r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n const AIMessageForm = () => {\r\n const [message, setMessage] = useState(\"\");\r\n const handleSetMessage = (message) => {\r\n setMessage(message);\r\n };\r\n let currTime = new Date();\r\n let time = currTime.getHours() + \":\" + currTime.getMinutes();\r\n let localChats = localStorage.getItem(hiveBotLocalKey);\r\n const AiSettingsErrorMessage = __( \"Ai chat error! Please try again later\", \"hive-support\" );\r\n\r\n let prevAiChat;\r\n if (localChats) {\r\n prevAiChat = JSON.parse(localChats);\r\n // setConversations(prevAiChat);\r\n } else {\r\n localStorage.setItem(hiveBotLocalKey, JSON.stringify([]));\r\n prevAiChat = [];\r\n }\r\n\r\n \r\n const addNewChat = async (e) => {\r\n e.preventDefault();\r\n // const currTime = new Date();\r\n const formdata = new FormData();\r\n formdata.append(\"action\", \"hs_ai_chat_send_message\");\r\n formdata.append(\"chat_title\", message);\r\n formdata.append(\"my_text\", \"Hye, Cute pie!\");\r\n\r\n // Add the user Message to the list first\r\n\r\n const chatItem = {\r\n id: 0,\r\n message_id: 0,\r\n person_id: 0,\r\n content: message,\r\n media_urls: \"\",\r\n created_at: time,\r\n person_name: \"Me\",\r\n person_type: \"customer\",\r\n time: time,\r\n };\r\n prevAiChat = [...prevAiChat, chatItem];\r\n setAiConversations(prevAiChat);\r\n\r\n if (hive_front.open_ai_ok == \"no\") {\r\n const AiChatItemError = {\r\n id: 0,\r\n message_id: 0,\r\n person_id: 0,\r\n content: AiSettingsErrorMessage,\r\n media_urls: \"\",\r\n created_at: time,\r\n person_name: AiChatBotName,\r\n person_type: \"agent\",\r\n time: time,\r\n };\r\n prevAiChat = [...prevAiChat, AiChatItemError];\r\n setAiConversations(prevAiChat);\r\n return;\r\n }\r\n\r\n const AiChatItem = {\r\n id: 0,\r\n message_id: 0,\r\n person_id: 0,\r\n content: \"thinking\",\r\n media_urls: \"\",\r\n created_at: time,\r\n person_name: AiChatBotName,\r\n person_type: \"agent\",\r\n time: time,\r\n };\r\n prevAiChat = [...prevAiChat, AiChatItem];\r\n setAiConversations(prevAiChat);\r\n\r\n try {\r\n const request = await fetch(hive_front.ajaxurl, {\r\n method: \"POST\",\r\n body: formdata,\r\n });\r\n\r\n const response = await request.json();\r\n\r\n if (response.success) {\r\n \r\n const aiResponse = JSON.parse(response.data.response);\r\n const AiMessage = aiResponse.message?.content;\r\n\r\n const AiChatItem = {\r\n id: 0,\r\n message_id: 0,\r\n person_id: 0,\r\n content: AiMessage,\r\n media_urls: \"\",\r\n created_at: time,\r\n person_name: AiChatBotName,\r\n person_type: \"agent\",\r\n time: time,\r\n };\r\n const updatedPrevAiChat = prevAiChat.slice(0, -1);\r\n prevAiChat = [...updatedPrevAiChat, AiChatItem];\r\n setMessage(\"\");\r\n setAiConversations(prevAiChat);\r\n\r\n localStorage.setItem(hiveBotLocalKey, JSON.stringify(prevAiChat));\r\n }\r\n\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n const handleKeyDown = (e) => {\r\n if (e.key === \"Enter\" && !e.shiftKey) {\r\n e.preventDefault(); // Prevents a new line in a textarea\r\n addNewChat(e);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (prevAiChat.length > 0 && GetAiInit == 1) {\r\n //setConversations(prevAiChat);\r\n setAiConversations(prevAiChat);\r\n GetAiInit++;\r\n }\r\n }, []); \r\n\r\n return (\r\n \r\n
\r\n handleSetMessage(e.target.value)}\r\n onKeyDown={handleKeyDown}\r\n >\r\n
\r\n
\r\n
\r\n
\r\n addNewChat(e)}\r\n >\r\n {__( \"send\", \"hive-support\" )}\r\n \r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n const NavTab = () => {\r\n const isMsg =\r\n (enableMessaging && hive_front.current_user > 0) ||\r\n (enableMessaging && defaultState.is_guest_chat);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n handleTabChange(\"home\")}\r\n >\r\n \r\n
\r\n
\r\n\r\n {isMsg && (\r\n
\r\n handleTabChange(\"messages\")}\r\n >\r\n {hasNewMessage && (\r\n
\r\n )}\r\n \r\n
\r\n
\r\n )}\r\n {enableAiChat && (\r\n
\r\n handleTabChange(\"ai\")}\r\n >\r\n \r\n
\r\n
\r\n )}\r\n {enableHelp && (\r\n
\r\n handleTabChange(\"help\")}\r\n >\r\n \r\n
\r\n \r\n )}\r\n {newsTab && (\r\n
\r\n handleTabChange(\"news\")}\r\n >\r\n \r\n
\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const MessageListItem = ({ message }) => {\r\n const updated_time = customDateFormat(message.updated_at);\r\n\r\n return (\r\n
\r\n handleViewSingleMessage(message)}\r\n >\r\n \r\n
\r\n {message.customer_seen_status == 'no' ? : ''}\r\n \"Chat\r\n
\r\n
\r\n \r\n {message.title}\r\n
\r\n\r\n
\r\n
{updated_time}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n };\r\n\r\n const [totalReplyCount, setTotalReplyCount] = useState(0);\r\n\r\n const get_current_user_total_reply_count = async () => {\r\n const formData = new FormData();\r\n\r\n formData.append(\"action\", \"get_current_user_total_reply_count\");\r\n formData.append(\"user_id\", hive_front.current_user);\r\n formData.append(\"test_data\", \"prio_test\");\r\n\r\n try {\r\n const request = await fetch(hive_front.ajaxurl, {\r\n method: \"POST\",\r\n body: formData,\r\n });\r\n const response = await request.json();\r\n if (response.success) {\r\n\r\n if (replyCount.current != response.data.total_reply_count) {\r\n replyCount.current = response.data.total_reply_count;\r\n\r\n fetchSingleChatDataUpdateWrapper();\r\n\r\n }\r\n\r\n // setTotalReplyCount(response.data);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const isMsg =\r\n (enableMessaging && hive_front.current_user > 0) ||\r\n (enableMessaging && defaultState.is_guest_chat);\r\n\r\n let hsReplyCountSync = isMsg;\r\n\r\n if (hsReplyCountSync) {\r\n useEffect(() => {\r\n const intervalId = setInterval(() => {\r\n get_current_user_total_reply_count();\r\n }, hsSyncingTimer);\r\n return () => clearInterval(intervalId);\r\n }, []);\r\n }\r\n\r\n const MessageList = () => {\r\n if (!messageList) return;\r\n\r\n const [totalReplyCount, setTotalReplyCount] = useState(0);\r\n const replyCount = useRef(0);\r\n const searchRest = 1 * 500;\r\n let hsReplyCountSync = true;\r\n\r\n return (\r\n
\r\n \r\n {Array.isArray(chat) &&\r\n chat.map((message, index) => (\r\n \r\n ))}\r\n {chat.length == 0 && (\r\n
\r\n {messagingTabSettings.empty_message_title\r\n ? messagingTabSettings.empty_message_title\r\n : __( \"Your messages will appear here.\", \"hive-support\" )}\r\n
\r\n )}\r\n
\r\n );\r\n };\r\n const ArticleListItem = ({ article }) => {\r\n\r\n let w = hive_front.widget_appearance ? JSON.parse( hive_front.widget_appearance ) : {};\r\n\r\n let linkStyleColor = {\r\n color: w.link_color\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const Articles = ({ articles }) => {\r\n return (\r\n
\r\n {Array.isArray(articles) &&\r\n articles.map((article, index) => {\r\n return ;\r\n })}\r\n {articles.length == 0 && (\r\n
\r\n {helpTabSettings.empty_title\r\n ? helpTabSettings.empty_title\r\n : __( \"No articles found.\", \"hive-support\" )}\r\n
\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const SearchForm = ({ onSearch, iconClass, setIconClass }) => {\r\n const [searchString, setSearchString] = useState(\"\");\r\n const searchRest = 1000;\r\n\r\n const handleChange = (e) => {\r\n e.preventDefault();\r\n const input = e.target.value;\r\n setSearchString(input);\r\n setIconClass(\"fa-solid fa-spinner fa-spin\");\r\n\r\n // Debounce search by waiting 1 second before triggering search\r\n const timeoutId = setTimeout(() => {\r\n onSearch(input);\r\n }, searchRest);\r\n\r\n // Clear previous timeout to prevent multiple searches\r\n return () => clearTimeout(timeoutId);\r\n };\r\n\r\n const searchResults = localStorage.getItem(\r\n \"hive_support_pro_search_results\"\r\n );\r\n\r\n if (!searchResults) {\r\n useEffect(() => {\r\n onSearch(searchString);\r\n }, []);\r\n }\r\n\r\n\r\n let w = hive_front.widget_appearance ? JSON.parse( hive_front.widget_appearance ) : {};\r\n\r\n let style = {\r\n backgroundColor: w.main_color,\r\n color: w.main_text_color,\r\n }\r\n\r\n let searchBtnstyle = {\r\n backgroundColor: w.search_btn_color,\r\n color: w.main_text_color,\r\n }\r\n let searchBtnIconstyle = {\r\n color: w.search_btn_icon_color\r\n }\r\n\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
\r\n
\r\n handleChange(e)}\r\n />\r\n
\r\n
\r\n handleChange(e)}\r\n style={searchBtnstyle}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n };\r\n const SearchResults = ({ results }) => {\r\n return ;\r\n };\r\n const HelpTab = () => {\r\n let defaultSearchResults = [];\r\n if (lastArticles.current.length > 0) {\r\n defaultSearchResults = lastArticles.current;\r\n }\r\n\r\n // Get the previous search string\r\n const searchString = localStorage.getItem(\r\n \"hive_support_pro_search_results\"\r\n );\r\n if (searchString) {\r\n defaultSearchResults = JSON.parse(searchString);\r\n }\r\n\r\n const [searchResults, setSearchResults] = useState(defaultSearchResults);\r\n const [iconClass, setIconClass] = useState(\"fa-solid fa-magnifying-glass\"); // 'fas fa-spinner fa-spin'\r\n\r\n const articleSearchHelper = async (formData) => {\r\n try {\r\n const response = await fetch(hive_front.ajaxurl, {\r\n method: \"POST\",\r\n body: formData,\r\n });\r\n const result = await response.json();\r\n if (result.success) {\r\n \r\n if (result.data.is_success == \"yes\") {\r\n \r\n setSearchResults(result.data.articles);\r\n lastArticles.current = result.data.articles;\r\n setIconClass(\"fa-solid fa-magnifying-glass\");\r\n\r\n }\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n };\r\n\r\n const handleSearchSubmit = (searchData) => {\r\n \r\n const formData = new FormData();\r\n formData.append(\"action\", \"get_the_articles\");\r\n formData.append(\"post_types\", \"post,page\");\r\n formData.append(\"per_page\", \"7\");\r\n formData.append(\"search_string\", searchData);\r\n articleSearchHelper(formData);\r\n\r\n };\r\n\r\n const handleSearch = (searchString) => {\r\n handleSearchSubmit(searchString);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const ChatWindow = () => {\r\n const [messageCount, setMessageCount] = useState(0);\r\n\r\n return (\r\n \r\n
\r\n \r\n {team && }\r\n\r\n {intro && }\r\n
\r\n {/* {team && } */}\r\n {/* {guestForm && } */}\r\n {tab != \"ai\" && }\r\n {tab == \"ai\" && }\r\n {messageForm && }\r\n \r\n \r\n {aiMessageForm && }\r\n {articleSearchForm && }\r\n {/* {helpDisplay && } */}\r\n {addMessageBtn && }\r\n \r\n \r\n );\r\n };\r\n\r\n const ChatBtn = () => {\r\n const ChatIcon = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n const CloseIcon = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n let w = hive_front.widget_appearance ? JSON.parse( hive_front.widget_appearance ) : {};\r\n\r\n let style = {\r\n backgroundColor: w.main_color,\r\n color: w.main_text_color,\r\n }\r\n return (\r\n \r\n
\r\n \r\n {\" \"}\r\n {preview ? : }{\" \"}\r\n
\r\n \r\n );\r\n };\r\n const ChatBtnX = () => {\r\n if (preview) return;\r\n return (\r\n
\r\n
\r\n {__( \"comment\", \"hive-support\" )}{__( \"Chat with us\", \"hive-support\" )}{\" \"}\r\n
\r\n
\r\n );\r\n };\r\n const AddMessageBtn = () => {\r\n\r\n let w = hive_front.widget_appearance ? JSON.parse( hive_front.widget_appearance ) : {};\r\n\r\n let style = {\r\n backgroundColor: w.main_color,\r\n color: w.main_text_color,\r\n }\r\n\r\n\r\n return (\r\n
\r\n
\r\n {__( \"comment\", \"hive-support\" )}\r\n {messagingTabSettings.send_btn_title\r\n ? messagingTabSettings.send_btn_title\r\n : __( \"Send Message\", \"hive-support\" )}\r\n
\r\n
\r\n );\r\n };\r\n\r\n const HomeAddMessageBtn = () => {\r\n return (\r\n
\r\n
\r\n {__( \"comment\", \"hive-support\" )}{__( \"Send Message\", \"hive-support\" )}\r\n
\r\n
\r\n );\r\n };\r\n\r\n // Actions after setting active single chat\r\n useEffect(() => {\r\n handleViewConversation();\r\n }, [activeMessageID]);\r\n\r\n // Actions after getting users chat\r\n useEffect(() => {\r\n getUsersChats();\r\n // getTheArticles();\r\n }, []);\r\n\r\n // setDefaultState();\r\n return (\r\n <>\r\n
\r\n {preview ? : \"\"}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ChatBox;\r\n","import { toast } from \"react-toastify\";\r\nimport {\r\n HiCheckCircle,\r\n HiInformationCircle,\r\n HiExclamation,\r\n HiXCircle,\r\n} from \"react-icons/hi\";\r\nimport { __ } from '@wordpress/i18n';\r\n\r\nexport const fireNotify = (message, type = \"\", position = \"bottom-right\") => {\r\n switch (type) {\r\n case \"error\":\r\n return toast.error(\r\n
\r\n
\r\n \r\n \r\n \r\n {__( \"Error\", \"hive-support\" )}\r\n
\r\n

{message}

\r\n
,\r\n {\r\n position,\r\n hideProgressBar: true,\r\n }\r\n );\r\n case \"info\":\r\n return toast.info(\r\n
\r\n
\r\n \r\n \r\n \r\n {__( \"Info\", \"hive-support\" )}\r\n
\r\n

{message}

\r\n
,\r\n {\r\n position,\r\n\r\n hideProgressBar: true,\r\n }\r\n );\r\n case \"warning\":\r\n return toast.warning(\r\n
\r\n
\r\n \r\n \r\n \r\n {__( \"Warning\", \"hive-support\" )}\r\n
\r\n

{message}

\r\n
,\r\n {\r\n position,\r\n hideProgressBar: true,\r\n }\r\n );\r\n default:\r\n return toast.success(\r\n
\r\n
\r\n \r\n \r\n \r\n {__( \"Success\", \"hive-support\" )}\r\n
\r\n

{message}

\r\n
,\r\n {\r\n position,\r\n hideProgressBar: true,\r\n }\r\n );\r\n }\r\n};\r\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","//! moment-timezone.js\n//! version : 0.5.45\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Resolves es6 module loading issue\n\tif (moment.version === undefined && moment.default) {\n\t\tmoment = moment.default;\n\t}\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.45\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tcountries = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tfunction closest (num, arr) {\n\t\tvar len = arr.length;\n\t\tif (num < arr[0]) {\n\t\t\treturn 0;\n\t\t} else if (len > 1 && arr[len - 1] === Infinity && num >= arr[len - 2]) {\n\t\t\treturn len - 1;\n\t\t} else if (num >= arr[len - 1]) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tvar mid;\n\t\tvar lo = 0;\n\t\tvar hi = len - 1;\n\t\twhile (hi - lo > 1) {\n\t\t\tmid = Math.floor((lo + hi) / 2);\n\t\t\tif (arr[mid] <= num) {\n\t\t\t\tlo = mid;\n\t\t\t} else {\n\t\t\t\thi = mid;\n\t\t\t}\n\t\t}\n\t\treturn hi;\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\ti = closest(target, untils);\n\t\t\tif (i >= 0) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t},\n\n\t\tcountries : function () {\n\t\t\tvar zone_name = this.name;\n\t\t\treturn Object.keys(countries).filter(function (country_code) {\n\t\t\t\treturn countries[country_code].zones.indexOf(zone_name) !== -1;\n\t\t\t});\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCountry object\n\t************************************/\n\n\tfunction Country (country_name, zone_names) {\n\t\tthis.name = country_name;\n\t\tthis.zones = zone_names;\n\t}\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\tlastOffset = last.offset,\n\t\t\toffsets = [last],\n\t\t\tchange, next, nextOffset, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnextOffset = new Date(startYear, i, 1).getTimezoneOffset();\n\t\t\tif (nextOffset !== lastOffset) {\n\t\t\t\t// Create OffsetAt here to avoid unnecessary abbr parsing before checking offsets\n\t\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t\tlast = next;\n\t\t\t\tlastOffset = nextOffset;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\tif (a.zone.population !== b.zone.population) {\n\t\t\treturn b.zone.population - a.zone.population;\n\t\t}\n\t\treturn b.zone.name.localeCompare(a.zone.name);\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\tcheckedOffsets = {},\n\t\t\ti, j, offset, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\toffset = offsets[i].offset;\n\t\t\tif (checkedOffsets.hasOwnProperty(offset)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tguessesOffset = guesses[offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tcheckedOffsets[offset] = true;\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction getCountryNames () {\n\t\treturn Object.keys(countries);\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction addCountries (data) {\n\t\tvar i, country_code, country_zones, split;\n\t\tif (!data || !data.length) return;\n\t\tfor (i = 0; i < data.length; i++) {\n\t\t\tsplit = data[i].split('|');\n\t\t\tcountry_code = split[0].toUpperCase();\n\t\t\tcountry_zones = split[1].split(' ');\n\t\t\tcountries[country_code] = new Country(\n\t\t\t\tcountry_code,\n\t\t\t\tcountry_zones\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction getCountry (name) {\n\t\tname = name.toUpperCase();\n\t\treturn countries[name] || null;\n\t}\n\n\tfunction zonesForCountry(country, with_offset) {\n\t\tcountry = getCountry(country);\n\n\t\tif (!country) return null;\n\n\t\tvar zones = country.zones.sort();\n\n\t\tif (with_offset) {\n\t\t\treturn zones.map(function (zone_name) {\n\t\t\t\tvar zone = getZone(zone_name);\n\t\t\t\treturn {\n\t\t\t\t\tname: zone_name,\n\t\t\t\t\toffset: zone.utcOffset(new Date())\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\treturn zones;\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\taddCountries(data.countries);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tout = moment.utc.apply(null, args),\n\t\t\tzone;\n\n\t\tif (!moment.isMoment(input) && needsOffset(out) && (zone = getZone(name))) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz._countries\t= countries;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\ttz.countries = getCountryNames;\n\ttz.zonesForCountry = zonesForCountry;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC && mom.isValid()) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tvar z = mom._z;\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t\tmom._z = z;\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap2 (old) {\n\t\treturn function () {\n\t\t\tif (arguments.length > 0) this._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\tfn.local = resetZoneWrap(fn.local);\n\tfn.utcOffset = resetZoneWrap2(fn.utcOffset);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib';\nexport function HiAcademicCap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.394 2.08a1 1 0 00-.788 0l-7 3a1 1 0 000 1.84L5.25 8.051a.999.999 0 01.356-.257l4-1.714a1 1 0 11.788 1.838L7.667 9.088l1.94.831a1 1 0 00.787 0l7-3a1 1 0 000-1.838l-7-3zM3.31 9.397L5 10.12v4.102a8.969 8.969 0 00-1.05-.174 1 1 0 01-.89-.89 11.115 11.115 0 01.25-3.762zM9.3 16.573A9.026 9.026 0 007 14.935v-3.957l1.818.78a3 3 0 002.364 0l5.508-2.361a11.026 11.026 0 01.25 3.762 1 1 0 01-.89.89 8.968 8.968 0 00-5.35 2.524 1 1 0 01-1.4 0zM6 18a1 1 0 001-1v-2.065a8.935 8.935 0 00-2-.712V17a1 1 0 001 1z\"}}]})(props);\n};\nexport function HiAdjustments (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4a1 1 0 00-2 0v7.268a2 2 0 000 3.464V16a1 1 0 102 0v-1.268a2 2 0 000-3.464V4zM11 4a1 1 0 10-2 0v1.268a2 2 0 000 3.464V16a1 1 0 102 0V8.732a2 2 0 000-3.464V4zM16 3a1 1 0 011 1v7.268a2 2 0 010 3.464V16a1 1 0 11-2 0v-1.268a2 2 0 010-3.464V4a1 1 0 011-1z\"}}]})(props);\n};\nexport function HiAnnotation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 13V5a2 2 0 00-2-2H4a2 2 0 00-2 2v8a2 2 0 002 2h3l3 3 3-3h3a2 2 0 002-2zM5 7a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1zm1 3a1 1 0 100 2h3a1 1 0 100-2H6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3a2 2 0 100 4h12a2 2 0 100-4H4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 8h14v7a2 2 0 01-2 2H5a2 2 0 01-2-2V8zm5 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowCircleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-11a1 1 0 10-2 0v3.586L7.707 9.293a1 1 0 00-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L11 10.586V7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowCircleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm.707-10.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L9.414 11H13a1 1 0 100-2H9.414l1.293-1.293z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowCircleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-8.707l-3-3a1 1 0 00-1.414 1.414L10.586 9H7a1 1 0 100 2h3.586l-1.293 1.293a1 1 0 101.414 1.414l3-3a1 1 0 000-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowCircleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-8.707l-3-3a1 1 0 00-1.414 0l-3 3a1 1 0 001.414 1.414L9 9.414V13a1 1 0 102 0V9.414l1.293 1.293a1 1 0 001.414-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.707 16.707a1 1 0 01-1.414 0l-6-6a1 1 0 010-1.414l6-6a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l4.293 4.293a1 1 0 010 1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowNarrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.707 12.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l2.293-2.293a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowNarrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.707 14.707a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l2.293 2.293a1 1 0 010 1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowNarrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-2.293-2.293a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowNarrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L6.707 7.707a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowSmDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.707 10.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 12.586V5a1 1 0 012 0v7.586l2.293-2.293a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowSmLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.707 14.707a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 1.414L7.414 9H15a1 1 0 110 2H7.414l2.293 2.293a1 1 0 010 1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowSmRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L12.586 11H5a1 1 0 110-2h7.586l-2.293-2.293a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowSmUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.293 9.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 7.414V15a1 1 0 11-2 0V7.414L6.707 9.707a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.293 9.707a1 1 0 010-1.414l6-6a1 1 0 011.414 0l6 6a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L4.707 9.707a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowsExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 4a1 1 0 011-1h4a1 1 0 010 2H6.414l2.293 2.293a1 1 0 01-1.414 1.414L5 6.414V8a1 1 0 01-2 0V4zm9 1a1 1 0 110-2h4a1 1 0 011 1v4a1 1 0 11-2 0V6.414l-2.293 2.293a1 1 0 11-1.414-1.414L13.586 5H12zm-9 7a1 1 0 112 0v1.586l2.293-2.293a1 1 0 011.414 1.414L6.414 15H8a1 1 0 110 2H4a1 1 0 01-1-1v-4zm13-1a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 110-2h1.586l-2.293-2.293a1 1 0 011.414-1.414L15 13.586V12a1 1 0 011-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiAtSymbol (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.243 5.757a6 6 0 10-.986 9.284 1 1 0 111.087 1.678A8 8 0 1118 10a3 3 0 01-4.8 2.401A4 4 0 1114 10a1 1 0 102 0c0-1.537-.586-3.07-1.757-4.243zM12 10a2 2 0 10-4 0 2 2 0 004 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiBackspace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.707 4.879A3 3 0 018.828 4H15a3 3 0 013 3v6a3 3 0 01-3 3H8.828a3 3 0 01-2.12-.879l-4.415-4.414a1 1 0 010-1.414l4.414-4.414zm4 2.414a1 1 0 00-1.414 1.414L10.586 10l-1.293 1.293a1 1 0 101.414 1.414L12 11.414l1.293 1.293a1 1 0 001.414-1.414L13.414 10l1.293-1.293a1 1 0 00-1.414-1.414L12 8.586l-1.293-1.293z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiBadgeCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.267 3.455a3.066 3.066 0 001.745-.723 3.066 3.066 0 013.976 0 3.066 3.066 0 001.745.723 3.066 3.066 0 012.812 2.812c.051.643.304 1.254.723 1.745a3.066 3.066 0 010 3.976 3.066 3.066 0 00-.723 1.745 3.066 3.066 0 01-2.812 2.812 3.066 3.066 0 00-1.745.723 3.066 3.066 0 01-3.976 0 3.066 3.066 0 00-1.745-.723 3.066 3.066 0 01-2.812-2.812 3.066 3.066 0 00-.723-1.745 3.066 3.066 0 010-3.976 3.066 3.066 0 00.723-1.745 3.066 3.066 0 012.812-2.812zm7.44 5.252a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiBan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13.477 14.89A6 6 0 015.11 6.524l8.367 8.368zm1.414-1.414L6.524 5.11a6 6 0 018.367 8.367zM18 10a8 8 0 11-16 0 8 8 0 0116 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiBeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7 2a1 1 0 00-.707 1.707L7 4.414v3.758a1 1 0 01-.293.707l-4 4C.817 14.769 2.156 18 4.828 18h10.343c2.673 0 4.012-3.231 2.122-5.121l-4-4A1 1 0 0113 8.172V4.414l.707-.707A1 1 0 0013 2H7zm2 6.172V4h2v4.172a3 3 0 00.879 2.12l1.027 1.028a4 4 0 00-2.171.102l-.47.156a4 4 0 01-2.53 0l-.563-.187a1.993 1.993 0 00-.114-.035l1.063-1.063A3 3 0 009 8.172z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2a6 6 0 00-6 6v3.586l-.707.707A1 1 0 004 14h12a1 1 0 00.707-1.707L16 11.586V8a6 6 0 00-6-6zM10 18a3 3 0 01-3-3h6a3 3 0 01-3 3z\"}}]})(props);\n};\nexport function HiBookOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4.804A7.968 7.968 0 005.5 4c-1.255 0-2.443.29-3.5.804v10A7.969 7.969 0 015.5 14c1.669 0 3.218.51 4.5 1.385A7.962 7.962 0 0114.5 14c1.255 0 2.443.29 3.5.804v-10A7.968 7.968 0 0014.5 4c-1.255 0-2.443.29-3.5.804V12a1 1 0 11-2 0V4.804z\"}}]})(props);\n};\nexport function HiBookmarkAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 5a2 2 0 012-2h10a2 2 0 012 2v10a2 2 0 01-2 2H5a2 2 0 01-2-2V5zm11 1H6v8l4-2 4 2V6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4a2 2 0 012-2h6a2 2 0 012 2v14l-5-2.5L5 18V4z\"}}]})(props);\n};\nexport function HiBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 6V5a3 3 0 013-3h2a3 3 0 013 3v1h2a2 2 0 012 2v3.57A22.952 22.952 0 0110 13a22.95 22.95 0 01-8-1.43V8a2 2 0 012-2h2zm2-1a1 1 0 011-1h2a1 1 0 011 1v1H8V5zm1 5a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13.692V16a2 2 0 002 2h12a2 2 0 002-2v-2.308A24.974 24.974 0 0110 15c-2.796 0-5.487-.46-8-1.308z\"}}]})(props);\n};\nexport function HiCake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3a1 1 0 011-1h.01a1 1 0 010 2H7a1 1 0 01-1-1zm2 3a1 1 0 00-2 0v1a2 2 0 00-2 2v1a2 2 0 00-2 2v.683a3.7 3.7 0 011.055.485 1.704 1.704 0 001.89 0 3.704 3.704 0 014.11 0 1.704 1.704 0 001.89 0 3.704 3.704 0 014.11 0 1.704 1.704 0 001.89 0A3.7 3.7 0 0118 12.683V12a2 2 0 00-2-2V9a2 2 0 00-2-2V6a1 1 0 10-2 0v1h-1V6a1 1 0 10-2 0v1H8V6zm10 8.868a3.704 3.704 0 01-4.055-.036 1.704 1.704 0 00-1.89 0 3.704 3.704 0 01-4.11 0 1.704 1.704 0 00-1.89 0A3.704 3.704 0 012 14.868V17a1 1 0 001 1h14a1 1 0 001-1v-2.132zM9 3a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1zm3 0a1 1 0 011-1h.01a1 1 0 110 2H13a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V4a2 2 0 00-2-2H6zm1 2a1 1 0 000 2h6a1 1 0 100-2H7zm6 7a1 1 0 011 1v3a1 1 0 11-2 0v-3a1 1 0 011-1zm-3 3a1 1 0 100 2h.01a1 1 0 100-2H10zm-4 1a1 1 0 011-1h.01a1 1 0 110 2H7a1 1 0 01-1-1zm1-4a1 1 0 100 2h.01a1 1 0 100-2H7zm2 1a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1zm4-4a1 1 0 100 2h.01a1 1 0 100-2H13zM9 9a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1zM7 8a1 1 0 000 2h.01a1 1 0 000-2H7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 5a2 2 0 00-2 2v8a2 2 0 002 2h12a2 2 0 002-2V7a2 2 0 00-2-2h-1.586a1 1 0 01-.707-.293l-1.121-1.121A2 2 0 0011.172 3H8.828a2 2 0 00-1.414.586L6.293 4.707A1 1 0 015.586 5H4zm6 9a3 3 0 100-6 3 3 0 000 6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a2 2 0 00-2 2v4a2 2 0 002 2V6h10a2 2 0 00-2-2H4zm2 6a2 2 0 012-2h8a2 2 0 012 2v4a2 2 0 01-2 2H8a2 2 0 01-2-2v-4zm6 4a2 2 0 100-4 2 2 0 000 4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChartBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11a1 1 0 011-1h2a1 1 0 011 1v5a1 1 0 01-1 1H3a1 1 0 01-1-1v-5zM8 7a1 1 0 011-1h2a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 01-1-1V7zM14 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1h-2a1 1 0 01-1-1V4z\"}}]})(props);\n};\nexport function HiChartPie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10a8 8 0 018-8v8h8a8 8 0 11-16 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2.252A8.014 8.014 0 0117.748 8H12V2.252z\"}}]})(props);\n};\nexport function HiChartSquareBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 3a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V5a2 2 0 00-2-2H5zm9 4a1 1 0 10-2 0v6a1 1 0 102 0V7zm-3 2a1 1 0 10-2 0v4a1 1 0 102 0V9zm-3 3a1 1 0 10-2 0v1a1 1 0 102 0v-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChatAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5a2 2 0 012-2h7a2 2 0 012 2v4a2 2 0 01-2 2H9l-3 3v-3H4a2 2 0 01-2-2V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7v2a4 4 0 01-4 4H9.828l-1.766 1.767c.28.149.599.233.938.233h2l3 3v-3h2a2 2 0 002-2V9a2 2 0 00-2-2h-1z\"}}]})(props);\n};\nexport function HiChatAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 5v8a2 2 0 01-2 2h-5l-5 4v-4H4a2 2 0 01-2-2V5a2 2 0 012-2h12a2 2 0 012 2zM7 8H5v2h2V8zm2 0h2v2H9V8zm6 0h-2v2h2V8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10c0 3.866-3.582 7-8 7a8.841 8.841 0 01-4.083-.98L2 17l1.338-3.123C2.493 12.767 2 11.434 2 10c0-3.866 3.582-7 8-7s8 3.134 8 7zM7 9H5v2h2V9zm8 0h-2v2h2V9zM9 9h2v2H9V9z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronDoubleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.707 4.293a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-5-5a1 1 0 011.414-1.414L10 8.586l4.293-4.293a1 1 0 011.414 0zm0 6a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-5-5a1 1 0 111.414-1.414L10 14.586l4.293-4.293a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronDoubleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.707 15.707a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414l5-5a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 010 1.414zm-6 0a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414l5-5a1 1 0 011.414 1.414L5.414 10l4.293 4.293a1 1 0 010 1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronDoubleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.293 15.707a1 1 0 010-1.414L14.586 10l-4.293-4.293a1 1 0 111.414-1.414l5 5a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.293 15.707a1 1 0 010-1.414L8.586 10 4.293 5.707a1 1 0 011.414-1.414l5 5a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronDoubleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.293 15.707a1 1 0 010-1.414l5-5a1 1 0 011.414 0l5 5a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414 0zm0-6a1 1 0 010-1.414l5-5a1 1 0 011.414 0l5 5a1 1 0 01-1.414 1.414L10 5.414 5.707 9.707a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.707 12.707a1 1 0 01-1.414 0L10 9.414l-3.293 3.293a1 1 0 01-1.414-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 010 1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7H7v6h6V7z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7 2a1 1 0 012 0v1h2V2a1 1 0 112 0v1h2a2 2 0 012 2v2h1a1 1 0 110 2h-1v2h1a1 1 0 110 2h-1v2a2 2 0 01-2 2h-2v1a1 1 0 11-2 0v-1H9v1a1 1 0 11-2 0v-1H5a2 2 0 01-2-2v-2H2a1 1 0 110-2h1V9H2a1 1 0 010-2h1V5a2 2 0 012-2h2V2zM5 5h10v10H5V5z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiClipboardCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2a1 1 0 000 2h2a1 1 0 100-2H9z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm9.707 5.707a1 1 0 00-1.414-1.414L9 12.586l-1.293-1.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiClipboardCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a1 1 0 000 2h2a1 1 0 100-2H8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z\"}}]})(props);\n};\nexport function HiClipboardList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2a1 1 0 000 2h2a1 1 0 100-2H9z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm3 4a1 1 0 000 2h.01a1 1 0 100-2H7zm3 0a1 1 0 000 2h3a1 1 0 100-2h-3zm-3 4a1 1 0 100 2h.01a1 1 0 100-2H7zm3 0a1 1 0 100 2h3a1 1 0 100-2h-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2V5a2 2 0 00-2-2 3 3 0 01-3 3H9a3 3 0 01-3-3z\"}}]})(props);\n};\nexport function HiClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCloudDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 9.5A3.5 3.5 0 005.5 13H9v2.586l-1.293-1.293a1 1 0 00-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L11 15.586V13h2.5a4.5 4.5 0 10-.616-8.958 4.002 4.002 0 10-7.753 1.977A3.5 3.5 0 002 9.5zm9 3.5H9V8a1 1 0 012 0v5z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCloudUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 13a3.5 3.5 0 01-.369-6.98 4 4 0 117.753-1.977A4.5 4.5 0 1113.5 13H11V9.413l1.293 1.293a1 1 0 001.414-1.414l-3-3a1 1 0 00-1.414 0l-3 3a1 1 0 001.414 1.414L9 9.414V13H5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13h2v5a1 1 0 11-2 0v-5z\"}}]})(props);\n};\nexport function HiCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 16a3.5 3.5 0 01-.369-6.98 4 4 0 117.753-1.977A4.5 4.5 0 1113.5 16h-8z\"}}]})(props);\n};\nexport function HiCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.316 3.051a1 1 0 01.633 1.265l-4 12a1 1 0 11-1.898-.632l4-12a1 1 0 011.265-.633zM5.707 6.293a1 1 0 010 1.414L3.414 10l2.293 2.293a1 1 0 11-1.414 1.414l-3-3a1 1 0 010-1.414l3-3a1 1 0 011.414 0zm8.586 0a1 1 0 011.414 0l3 3a1 1 0 010 1.414l-3 3a1 1 0 11-1.414-1.414L16.586 10l-2.293-2.293a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCollection (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 3a1 1 0 000 2h6a1 1 0 100-2H7zM4 7a1 1 0 011-1h10a1 1 0 110 2H5a1 1 0 01-1-1zM2 11a2 2 0 012-2h12a2 2 0 012 2v4a2 2 0 01-2 2H4a2 2 0 01-2-2v-4z\"}}]})(props);\n};\nexport function HiColorSwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 2a2 2 0 00-2 2v11a3 3 0 106 0V4a2 2 0 00-2-2H4zm1 14a1 1 0 100-2 1 1 0 000 2zm5-1.757l4.9-4.9a2 2 0 000-2.828L13.485 5.1a2 2 0 00-2.828 0L10 5.757v8.486zM16 18H9.071l6-6H16a2 2 0 012 2v2a2 2 0 01-2 2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a2 2 0 00-2 2v1h16V6a2 2 0 00-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 9H2v5a2 2 0 002 2h12a2 2 0 002-2V9zM4 13a1 1 0 011-1h1a1 1 0 110 2H5a1 1 0 01-1-1zm5-1a1 1 0 100 2h1a1 1 0 100-2H9z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCubeTransparent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.504 1.132a1 1 0 01.992 0l1.75 1a1 1 0 11-.992 1.736L10 3.152l-1.254.716a1 1 0 11-.992-1.736l1.75-1zM5.618 4.504a1 1 0 01-.372 1.364L5.016 6l.23.132a1 1 0 11-.992 1.736L4 7.723V8a1 1 0 01-2 0V6a.996.996 0 01.52-.878l1.734-.99a1 1 0 011.364.372zm8.764 0a1 1 0 011.364-.372l1.733.99A1.002 1.002 0 0118 6v2a1 1 0 11-2 0v-.277l-.254.145a1 1 0 11-.992-1.736l.23-.132-.23-.132a1 1 0 01-.372-1.364zm-7 4a1 1 0 011.364-.372L10 8.848l1.254-.716a1 1 0 11.992 1.736L11 10.58V12a1 1 0 11-2 0v-1.42l-1.246-.712a1 1 0 01-.372-1.364zM3 11a1 1 0 011 1v1.42l1.246.712a1 1 0 11-.992 1.736l-1.75-1A1 1 0 012 14v-2a1 1 0 011-1zm14 0a1 1 0 011 1v2a1 1 0 01-.504.868l-1.75 1a1 1 0 11-.992-1.736L16 13.42V12a1 1 0 011-1zm-9.618 5.504a1 1 0 011.364-.372l.254.145V16a1 1 0 112 0v.277l.254-.145a1 1 0 11.992 1.736l-1.735.992a.995.995 0 01-1.022 0l-1.735-.992a1 1 0 01-.372-1.364z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 17a1 1 0 001.447.894l4-2A1 1 0 0017 15V9.236a1 1 0 00-1.447-.894l-4 2a1 1 0 00-.553.894V17zM15.211 6.276a1 1 0 000-1.788l-4.764-2.382a1 1 0 00-.894 0L4.789 4.488a1 1 0 000 1.788l4.764 2.382a1 1 0 00.894 0l4.764-2.382zM4.447 8.342A1 1 0 003 9.236V15a1 1 0 00.553.894l4 2A1 1 0 009 17v-5.764a1 1 0 00-.553-.894l-4-2z\"}}]})(props);\n};\nexport function HiCurrencyBangladeshi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7 4a1 1 0 000 2 1 1 0 011 1v1H7a1 1 0 000 2h1v3a3 3 0 106 0v-1a1 1 0 10-2 0v1a1 1 0 11-2 0v-3h3a1 1 0 100-2h-3V7a3 3 0 00-3-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCurrencyDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.433 7.418c.155-.103.346-.196.567-.267v1.698a2.305 2.305 0 01-.567-.267C8.07 8.34 8 8.114 8 8c0-.114.07-.34.433-.582zM11 12.849v-1.698c.22.071.412.164.567.267.364.243.433.468.433.582 0 .114-.07.34-.433.582a2.305 2.305 0 01-.567.267z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-13a1 1 0 10-2 0v.092a4.535 4.535 0 00-1.676.662C6.602 6.234 6 7.009 6 8c0 .99.602 1.765 1.324 2.246.48.32 1.054.545 1.676.662v1.941c-.391-.127-.68-.317-.843-.504a1 1 0 10-1.51 1.31c.562.649 1.413 1.076 2.353 1.253V15a1 1 0 102 0v-.092a4.535 4.535 0 001.676-.662C13.398 13.766 14 12.991 14 12c0-.99-.602-1.765-1.324-2.246A4.535 4.535 0 0011 9.092V7.151c.391.127.68.317.843.504a1 1 0 101.511-1.31c-.563-.649-1.413-1.076-2.354-1.253V5z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCurrencyEuro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.736 6.979C9.208 6.193 9.696 6 10 6c.304 0 .792.193 1.264.979a1 1 0 001.715-1.029C12.279 4.784 11.232 4 10 4s-2.279.784-2.979 1.95c-.285.475-.507 1-.67 1.55H6a1 1 0 000 2h.013a9.358 9.358 0 000 1H6a1 1 0 100 2h.351c.163.55.385 1.075.67 1.55C7.721 15.216 8.768 16 10 16s2.279-.784 2.979-1.95a1 1 0 10-1.715-1.029c-.472.786-.96.979-1.264.979-.304 0-.792-.193-1.264-.979a4.265 4.265 0 01-.264-.521H10a1 1 0 100-2H8.017a7.36 7.36 0 010-1H10a1 1 0 100-2H8.472c.08-.185.167-.36.264-.521z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCurrencyPound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-14a3 3 0 00-3 3v2H7a1 1 0 000 2h1v1a1 1 0 01-1 1 1 1 0 100 2h6a1 1 0 100-2H9.83c.11-.313.17-.65.17-1v-1h1a1 1 0 100-2h-1V7a1 1 0 112 0 1 1 0 102 0 3 3 0 00-3-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCurrencyRupee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7 5a1 1 0 100 2h1a2 2 0 011.732 1H7a1 1 0 100 2h2.732A2 2 0 018 11H7a1 1 0 00-.707 1.707l3 3a1 1 0 001.414-1.414l-1.483-1.484A4.008 4.008 0 0011.874 10H13a1 1 0 100-2h-1.126a3.976 3.976 0 00-.41-1H13a1 1 0 100-2H7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCurrencyYen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7.858 5.485a1 1 0 00-1.715 1.03L7.633 9H7a1 1 0 100 2h1.834l.166.277V12H7a1 1 0 100 2h2v1a1 1 0 102 0v-1h2a1 1 0 100-2h-2v-.723l.166-.277H13a1 1 0 100-2h-.634l1.492-2.486a1 1 0 10-1.716-1.029L10.034 9h-.068L7.858 5.485z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCursorClick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.672 1.911a1 1 0 10-1.932.518l.259.966a1 1 0 001.932-.518l-.26-.966zM2.429 4.74a1 1 0 10-.517 1.932l.966.259a1 1 0 00.517-1.932l-.966-.26zm8.814-.569a1 1 0 00-1.415-1.414l-.707.707a1 1 0 101.415 1.415l.707-.708zm-7.071 7.072l.707-.707A1 1 0 003.465 9.12l-.708.707a1 1 0 001.415 1.415zm3.2-5.171a1 1 0 00-1.3 1.3l4 10a1 1 0 001.823.075l1.38-2.759 3.018 3.02a1 1 0 001.414-1.415l-3.019-3.02 2.76-1.379a1 1 0 00-.076-1.822l-10-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12v3c0 1.657 3.134 3 7 3s7-1.343 7-3v-3c0 1.657-3.134 3-7 3s-7-1.343-7-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7v3c0 1.657 3.134 3 7 3s7-1.343 7-3V7c0 1.657-3.134 3-7 3S3 8.657 3 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 5c0 1.657-3.134 3-7 3S3 6.657 3 5s3.134-3 7-3 7 1.343 7 3z\"}}]})(props);\n};\nexport function HiDesktopComputer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 5a2 2 0 012-2h10a2 2 0 012 2v8a2 2 0 01-2 2h-2.22l.123.489.804.804A1 1 0 0113 18H7a1 1 0 01-.707-1.707l.804-.804L7.22 15H5a2 2 0 01-2-2V5zm5.771 7H5V5h10v7H8.771z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDeviceMobile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7 2a2 2 0 00-2 2v12a2 2 0 002 2h6a2 2 0 002-2V4a2 2 0 00-2-2H7zm3 14a1 1 0 100-2 1 1 0 000 2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDeviceTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V4a2 2 0 00-2-2H6zm4 14a1 1 0 100-2 1 1 0 000 2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocumentAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V7.414A2 2 0 0015.414 6L12 2.586A2 2 0 0010.586 2H6zm5 6a1 1 0 10-2 0v2H7a1 1 0 100 2h2v2a1 1 0 102 0v-2h2a1 1 0 100-2h-2V8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocumentDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V7.414A2 2 0 0015.414 6L12 2.586A2 2 0 0010.586 2H6zm5 6a1 1 0 10-2 0v3.586l-1.293-1.293a1 1 0 10-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L11 11.586V8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocumentDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2a2 2 0 00-2 2v8a2 2 0 002 2h6a2 2 0 002-2V6.414A2 2 0 0016.414 5L14 2.586A2 2 0 0012.586 2H9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8a2 2 0 012-2v10h8a2 2 0 01-2 2H5a2 2 0 01-2-2V8z\"}}]})(props);\n};\nexport function HiDocumentRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V7.414A2 2 0 0015.414 6L12 2.586A2 2 0 0010.586 2H6zm1 8a1 1 0 100 2h6a1 1 0 100-2H7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocumentReport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V7.414A2 2 0 0015.414 6L12 2.586A2 2 0 0010.586 2H6zm2 10a1 1 0 10-2 0v3a1 1 0 102 0v-3zm2-3a1 1 0 011 1v5a1 1 0 11-2 0v-5a1 1 0 011-1zm4-1a1 1 0 10-2 0v7a1 1 0 102 0V8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocumentSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2h-1.528A6 6 0 004 9.528V4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 10a4 4 0 00-3.446 6.032l-1.261 1.26a1 1 0 101.414 1.415l1.261-1.261A4 4 0 108 10zm-2 4a2 2 0 114 0 2 2 0 01-4 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocumentText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2H6a2 2 0 01-2-2V4zm2 6a1 1 0 011-1h6a1 1 0 110 2H7a1 1 0 01-1-1zm1 3a1 1 0 100 2h6a1 1 0 100-2H7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocument (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2H6a2 2 0 01-2-2V4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDotsCircleHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7 9H5v2h2V9zm8 0h-2v2h2V9zM9 9h2v2H9V9z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDotsHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10a2 2 0 11-4 0 2 2 0 014 0zM12 10a2 2 0 11-4 0 2 2 0 014 0zM16 12a2 2 0 100-4 2 2 0 000 4z\"}}]})(props);\n};\nexport function HiDotsVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z\"}}]})(props);\n};\nexport function HiDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9a2 2 0 012-2h6a2 2 0 012 2v6a2 2 0 01-2 2H9a2 2 0 01-2-2V9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a2 2 0 00-2 2v6a2 2 0 002 2V5h8a2 2 0 00-2-2H5z\"}}]})(props);\n};\nexport function HiEmojiHappy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7 9a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zm-.464 5.535a1 1 0 10-1.415-1.414 3 3 0 01-4.242 0 1 1 0 00-1.415 1.414 5 5 0 007.072 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiEmojiSad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7 9a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zm-7.536 5.879a1 1 0 001.415 0 3 3 0 014.242 0 1 1 0 001.415-1.415 5 5 0 00-7.072 0 1 1 0 000 1.415z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiExclamationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiExternalLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 3a1 1 0 100 2h2.586l-6.293 6.293a1 1 0 101.414 1.414L15 6.414V9a1 1 0 102 0V4a1 1 0 00-1-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5a2 2 0 00-2 2v8a2 2 0 002 2h8a2 2 0 002-2v-3a1 1 0 10-2 0v3H5V7h3a1 1 0 000-2H5z\"}}]})(props);\n};\nexport function HiEyeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.707 2.293a1 1 0 00-1.414 1.414l14 14a1 1 0 001.414-1.414l-1.473-1.473A10.014 10.014 0 0019.542 10C18.268 5.943 14.478 3 10 3a9.958 9.958 0 00-4.512 1.074l-1.78-1.781zm4.261 4.26l1.514 1.515a2.003 2.003 0 012.45 2.45l1.514 1.514a4 4 0 00-5.478-5.478z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.454 16.697L9.75 13.992a4 4 0 01-3.742-3.741L2.335 6.578A9.98 9.98 0 00.458 10c1.274 4.057 5.065 7 9.542 7 .847 0 1.669-.105 2.454-.303z\"}}]})(props);\n};\nexport function HiEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12a2 2 0 100-4 2 2 0 000 4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiFastForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.555 5.168A1 1 0 003 6v8a1 1 0 001.555.832L10 11.202V14a1 1 0 001.555.832l6-4a1 1 0 000-1.664l-6-4A1 1 0 0010 6v2.798l-5.445-3.63z\"}}]})(props);\n};\nexport function HiFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4zm3 2h6v4H7V5zm8 8v2h1v-2h-1zm-2-2H7v4h6v-4zm2 0h1V9h-1v2zm1-4V5h-1v2h1zM5 5v2H4V5h1zm0 4H4v2h1V9zm-1 4h1v2H4v-2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 3a1 1 0 011-1h12a1 1 0 011 1v3a1 1 0 01-.293.707L12 11.414V15a1 1 0 01-.293.707l-2 2A1 1 0 018 17v-5.586L3.293 6.707A1 1 0 013 6V3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiFingerPrint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.625 2.655A9 9 0 0119 11a1 1 0 11-2 0 7 7 0 00-9.625-6.492 1 1 0 11-.75-1.853zM4.662 4.959A1 1 0 014.75 6.37 6.97 6.97 0 003 11a1 1 0 11-2 0 8.97 8.97 0 012.25-5.953 1 1 0 011.412-.088z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11a5 5 0 1110 0 1 1 0 11-2 0 3 3 0 10-6 0c0 1.677-.345 3.276-.968 4.729a1 1 0 11-1.838-.789A9.964 9.964 0 005 11zm8.921 2.012a1 1 0 01.831 1.145 19.86 19.86 0 01-.545 2.436 1 1 0 11-1.92-.558c.207-.713.371-1.445.49-2.192a1 1 0 011.144-.83z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 10a1 1 0 011 1c0 2.236-.46 4.368-1.29 6.304a1 1 0 01-1.838-.789A13.952 13.952 0 009 11a1 1 0 011-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiFire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.395 2.553a1 1 0 00-1.45-.385c-.345.23-.614.558-.822.88-.214.33-.403.713-.57 1.116-.334.804-.614 1.768-.84 2.734a31.365 31.365 0 00-.613 3.58 2.64 2.64 0 01-.945-1.067c-.328-.68-.398-1.534-.398-2.654A1 1 0 005.05 6.05 6.981 6.981 0 003 11a7 7 0 1011.95-4.95c-.592-.591-.98-.985-1.348-1.467-.363-.476-.724-1.063-1.207-2.03zM12.12 15.12A3 3 0 017 13s.879.5 2.5.5c0-1 .5-4 1.25-4.5.5 1 .786 1.293 1.371 1.879A2.99 2.99 0 0113 13a2.99 2.99 0 01-.879 2.121z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 6a3 3 0 013-3h10a1 1 0 01.8 1.6L14.25 8l2.55 3.4A1 1 0 0116 13H6a1 1 0 00-1 1v3a1 1 0 11-2 0V6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiFolderAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a2 2 0 00-2 2v8a2 2 0 002 2h12a2 2 0 002-2V8a2 2 0 00-2-2h-5L9 4H4zm7 5a1 1 0 10-2 0v1H8a1 1 0 100 2h1v1a1 1 0 102 0v-1h1a1 1 0 100-2h-1V9z\"}}]})(props);\n};\nexport function HiFolderDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a2 2 0 00-2 2v8a2 2 0 002 2h12a2 2 0 002-2V8a2 2 0 00-2-2h-5L9 4H4zm7 5a1 1 0 10-2 0v1.586l-.293-.293a1 1 0 10-1.414 1.414l2 2 .002.002a.997.997 0 001.41 0l.002-.002 2-2a1 1 0 00-1.414-1.414l-.293.293V9z\"}}]})(props);\n};\nexport function HiFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 6a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1H8a3 3 0 00-3 3v1.5a1.5 1.5 0 01-3 0V6z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z\"}}]})(props);\n};\nexport function HiFolderRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a2 2 0 00-2 2v8a2 2 0 002 2h12a2 2 0 002-2V8a2 2 0 00-2-2h-5L9 4H4zm4 6a1 1 0 100 2h4a1 1 0 100-2H8z\"}}]})(props);\n};\nexport function HiFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a2 2 0 012-2h5l2 2h5a2 2 0 012 2v6a2 2 0 01-2 2H4a2 2 0 01-2-2V6z\"}}]})(props);\n};\nexport function HiGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 5a3 3 0 015-2.236A3 3 0 0114.83 6H16a2 2 0 110 4h-5V9a1 1 0 10-2 0v1H4a2 2 0 110-4h1.17C5.06 5.687 5 5.35 5 5zm4 1V5a1 1 0 10-1 1h1zm3 0a1 1 0 10-1-1v1h1z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 11H3v5a2 2 0 002 2h4v-7zM11 18h4a2 2 0 002-2v-5h-6v7z\"}}]})(props);\n};\nexport function HiGlobeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.083 9h1.946c.089-1.546.383-2.97.837-4.118A6.004 6.004 0 004.083 9zM10 2a8 8 0 100 16 8 8 0 000-16zm0 2c-.076 0-.232.032-.465.262-.238.234-.497.623-.737 1.182-.389.907-.673 2.142-.766 3.556h3.936c-.093-1.414-.377-2.649-.766-3.556-.24-.56-.5-.948-.737-1.182C10.232 4.032 10.076 4 10 4zm3.971 5c-.089-1.546-.383-2.97-.837-4.118A6.004 6.004 0 0115.917 9h-1.946zm-2.003 2H8.032c.093 1.414.377 2.649.766 3.556.24.56.5.948.737 1.182.233.23.389.262.465.262.076 0 .232-.032.465-.262.238-.234.498-.623.737-1.182.389-.907.673-2.142.766-3.556zm1.166 4.118c.454-1.147.748-2.572.837-4.118h1.946a6.004 6.004 0 01-2.783 4.118zm-6.268 0C6.412 13.97 6.118 12.546 6.03 11H4.083a6.004 6.004 0 002.783 4.118z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM4.332 8.027a6.012 6.012 0 011.912-2.706C6.512 5.73 6.974 6 7.5 6A1.5 1.5 0 019 7.5V8a2 2 0 004 0 2 2 0 011.523-1.943A5.977 5.977 0 0116 10c0 .34-.028.675-.083 1H15a2 2 0 00-2 2v2.197A5.973 5.973 0 0110 16v-2a2 2 0 00-2-2 2 2 0 01-2-2 2 2 0 00-1.668-1.973z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiHand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9 3a1 1 0 012 0v5.5a.5.5 0 001 0V4a1 1 0 112 0v4.5a.5.5 0 001 0V6a1 1 0 112 0v5a7 7 0 11-14 0V9a1 1 0 012 0v2.5a.5.5 0 001 0V4a1 1 0 012 0v4.5a.5.5 0 001 0V3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiHashtag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.243 3.03a1 1 0 01.727 1.213L9.53 6h2.94l.56-2.243a1 1 0 111.94.486L14.53 6H17a1 1 0 110 2h-2.97l-1 4H15a1 1 0 110 2h-2.47l-.56 2.242a1 1 0 11-1.94-.485L10.47 14H7.53l-.56 2.242a1 1 0 11-1.94-.485L5.47 14H3a1 1 0 110-2h2.97l1-4H5a1 1 0 110-2h2.47l.56-2.243a1 1 0 011.213-.727zM9.03 8l-1 4h2.938l1-4H9.031z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z\"}}]})(props);\n};\nexport function HiIdentification (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 2a1 1 0 00-1 1v1a1 1 0 002 0V3a1 1 0 00-1-1zM4 4h3a3 3 0 006 0h3a2 2 0 012 2v9a2 2 0 01-2 2H4a2 2 0 01-2-2V6a2 2 0 012-2zm2.5 7a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm2.45 4a2.5 2.5 0 10-4.9 0h4.9zM12 9a1 1 0 100 2h3a1 1 0 100-2h-3zm-1 4a1 1 0 011-1h2a1 1 0 110 2h-2a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiInboxIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 7.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l2-2a1 1 0 00-1.414-1.414L11 7.586V3a1 1 0 10-2 0v4.586l-.293-.293z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a2 2 0 012-2h1a1 1 0 010 2H5v7h2l1 2h4l1-2h2V5h-1a1 1 0 110-2h1a2 2 0 012 2v10a2 2 0 01-2 2H5a2 2 0 01-2-2V5z\"}}]})(props);\n};\nexport function HiInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 3a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V5a2 2 0 00-2-2H5zm0 2h10v7h-2l-1 2H8l-1-2H5V5z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiInformationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 8a6 6 0 01-7.743 5.743L10 14l-1 1-1 1H6v2H2v-4l4.257-4.257A6 6 0 1118 8zm-6-4a1 1 0 100 2 2 2 0 012 2 1 1 0 102 0 4 4 0 00-4-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLibrary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.496 2.132a1 1 0 00-.992 0l-7 4A1 1 0 003 8v7a1 1 0 100 2h14a1 1 0 100-2V8a1 1 0 00.496-1.868l-7-4zM6 9a1 1 0 00-1 1v3a1 1 0 102 0v-3a1 1 0 00-1-1zm3 1a1 1 0 012 0v3a1 1 0 11-2 0v-3zm5-1a1 1 0 00-1 1v3a1 1 0 102 0v-3a1 1 0 00-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLightBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 3a1 1 0 10-2 0v1a1 1 0 102 0V3zM15.657 5.757a1 1 0 00-1.414-1.414l-.707.707a1 1 0 001.414 1.414l.707-.707zM18 10a1 1 0 01-1 1h-1a1 1 0 110-2h1a1 1 0 011 1zM5.05 6.464A1 1 0 106.464 5.05l-.707-.707a1 1 0 00-1.414 1.414l.707.707zM5 10a1 1 0 01-1 1H3a1 1 0 110-2h1a1 1 0 011 1zM8 16v-1h4v1a2 2 0 11-4 0zM12 14c.015-.34.208-.646.477-.859a4 4 0 10-4.954 0c.27.213.462.519.476.859h4.002z\"}}]})(props);\n};\nexport function HiLightningBolt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.3 1.046A1 1 0 0112 2v5h4a1 1 0 01.82 1.573l-7 10A1 1 0 018 18v-5H4a1 1 0 01-.82-1.573l7-10a1 1 0 011.12-.38z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.586 4.586a2 2 0 112.828 2.828l-3 3a2 2 0 01-2.828 0 1 1 0 00-1.414 1.414 4 4 0 005.656 0l3-3a4 4 0 00-5.656-5.656l-1.5 1.5a1 1 0 101.414 1.414l1.5-1.5zm-5 5a2 2 0 012.828 0 1 1 0 101.414-1.414 4 4 0 00-5.656 0l-3 3a4 4 0 105.656 5.656l1.5-1.5a1 1 0 10-1.414-1.414l-1.5 1.5a2 2 0 11-2.828-2.828l3-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLocationMarker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLockClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLockOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2a5 5 0 00-5 5v2a2 2 0 00-2 2v5a2 2 0 002 2h10a2 2 0 002-2v-5a2 2 0 00-2-2H7V7a3 3 0 015.905-.75 1 1 0 001.937-.5A5.002 5.002 0 0010 2z\"}}]})(props);\n};\nexport function HiLogin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 3a1 1 0 011 1v12a1 1 0 11-2 0V4a1 1 0 011-1zm7.707 3.293a1 1 0 010 1.414L9.414 9H17a1 1 0 110 2H9.414l1.293 1.293a1 1 0 01-1.414 1.414l-3-3a1 1 0 010-1.414l3-3a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLogout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 3a1 1 0 00-1 1v12a1 1 0 102 0V4a1 1 0 00-1-1zm10.293 9.293a1 1 0 001.414 1.414l3-3a1 1 0 000-1.414l-3-3a1 1 0 10-1.414 1.414L14.586 9H7a1 1 0 100 2h7.586l-1.293 1.293z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMailOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.94 6.412A2 2 0 002 8.108V16a2 2 0 002 2h12a2 2 0 002-2V8.108a2 2 0 00-.94-1.696l-6-3.75a2 2 0 00-2.12 0l-6 3.75zm2.615 2.423a1 1 0 10-1.11 1.664l5 3.333a1 1 0 001.11 0l5-3.333a1 1 0 00-1.11-1.664L10 11.798 5.555 8.835z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z\"}}]})(props);\n};\nexport function HiMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12 1.586l-4 4v12.828l4-4V1.586zM3.707 3.293A1 1 0 002 4v10a1 1 0 00.293.707L6 18.414V5.586L3.707 3.293zM17.707 5.293L14 1.586v12.828l2.293 2.293A1 1 0 0018 16V6a1 1 0 00-.293-.707z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMenuAlt1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h6a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMenuAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h6a1 1 0 110 2H4a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMenuAlt3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM9 15a1 1 0 011-1h6a1 1 0 110 2h-6a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMenuAlt4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 7a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 13a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMenu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMicrophone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7 4a3 3 0 016 0v4a3 3 0 11-6 0V4zm4 10.93A7.001 7.001 0 0017 8a1 1 0 10-2 0A5 5 0 015 8a1 1 0 00-2 0 7.001 7.001 0 006 6.93V17H6a1 1 0 100 2h8a1 1 0 100-2h-3v-2.07z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMinusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7 9a1 1 0 000 2h6a1 1 0 100-2H7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMinusSm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z\"}}]})(props);\n};\nexport function HiMusicNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 3a1 1 0 00-1.196-.98l-10 2A1 1 0 006 5v9.114A4.369 4.369 0 005 14c-1.657 0-3 .895-3 2s1.343 2 3 2 3-.895 3-2V7.82l8-1.6v5.894A4.37 4.37 0 0015 12c-1.657 0-3 .895-3 2s1.343 2 3 2 3-.895 3-2V3z\"}}]})(props);\n};\nexport function HiNewspaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 5a2 2 0 012-2h8a2 2 0 012 2v10a2 2 0 002 2H4a2 2 0 01-2-2V5zm3 1h6v4H5V6zm6 6H5v2h6v-2z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7h1a2 2 0 012 2v5.5a1.5 1.5 0 01-3 0V7z\"}}]})(props);\n};\nexport function HiOfficeBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a2 2 0 012-2h8a2 2 0 012 2v12a1 1 0 110 2h-3a1 1 0 01-1-1v-2a1 1 0 00-1-1H9a1 1 0 00-1 1v2a1 1 0 01-1 1H4a1 1 0 110-2V4zm3 1h2v2H7V5zm2 4H7v2h2V9zm2-4h2v2h-2V5zm2 4h-2v2h2V9z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPaperAirplane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.894 2.553a1 1 0 00-1.788 0l-7 14a1 1 0 001.169 1.409l5-1.429A1 1 0 009 15.571V11a1 1 0 112 0v4.571a1 1 0 00.725.962l5 1.428a1 1 0 001.17-1.408l-7-14z\"}}]})(props);\n};\nexport function HiPaperClip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4a3 3 0 00-3 3v4a5 5 0 0010 0V7a1 1 0 112 0v4a7 7 0 11-14 0V7a5 5 0 0110 0v4a3 3 0 11-6 0V7a1 1 0 012 0v4a1 1 0 102 0V7a3 3 0 00-3-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM7 8a1 1 0 012 0v4a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v4a1 1 0 102 0V8a1 1 0 00-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPencilAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.414 2.586a2 2 0 00-2.828 0L7 10.172V13h2.828l7.586-7.586a2 2 0 000-2.828z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 6a2 2 0 012-2h4a1 1 0 010 2H4v10h10v-4a1 1 0 112 0v4a2 2 0 01-2 2H4a2 2 0 01-2-2V6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zM11.379 5.793L3 14.172V17h2.828l8.38-8.379-2.83-2.828z\"}}]})(props);\n};\nexport function HiPhoneIncoming (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.414 7l3.293-3.293a1 1 0 00-1.414-1.414L13 5.586V4a1 1 0 10-2 0v4.003a.996.996 0 00.617.921A.997.997 0 0012 9h4a1 1 0 100-2h-1.586z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z\"}}]})(props);\n};\nexport function HiPhoneMissedCall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.707 3.293a1 1 0 010 1.414L15.414 6l1.293 1.293a1 1 0 01-1.414 1.414L14 7.414l-1.293 1.293a1 1 0 11-1.414-1.414L12.586 6l-1.293-1.293a1 1 0 011.414-1.414L14 4.586l1.293-1.293a1 1 0 011.414 0z\"}}]})(props);\n};\nexport function HiPhoneOutgoing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.924 2.617a.997.997 0 00-.215-.322l-.004-.004A.997.997 0 0017 2h-4a1 1 0 100 2h1.586l-3.293 3.293a1 1 0 001.414 1.414L16 5.414V7a1 1 0 102 0V3a.997.997 0 00-.076-.383z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z\"}}]})(props);\n};\nexport function HiPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z\"}}]})(props);\n};\nexport function HiPhotograph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4zm12 12H4l4-8 3 6 2-4 3 6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-11a1 1 0 10-2 0v2H7a1 1 0 100 2h2v2a1 1 0 102 0v-2h2a1 1 0 100-2h-2V7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPlusSm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPresentationChartBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 3a1 1 0 000 2v8a2 2 0 002 2h2.586l-1.293 1.293a1 1 0 101.414 1.414L10 15.414l2.293 2.293a1 1 0 001.414-1.414L12.414 15H15a2 2 0 002-2V5a1 1 0 100-2H3zm11 4a1 1 0 10-2 0v4a1 1 0 102 0V7zm-3 1a1 1 0 10-2 0v3a1 1 0 102 0V8zM8 9a1 1 0 00-2 0v2a1 1 0 102 0V9z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPresentationChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 3a1 1 0 000 2v8a2 2 0 002 2h2.586l-1.293 1.293a1 1 0 101.414 1.414L10 15.414l2.293 2.293a1 1 0 001.414-1.414L12.414 15H15a2 2 0 002-2V5a1 1 0 100-2H3zm11.707 4.707a1 1 0 00-1.414-1.414L10 9.586 8.707 8.293a1 1 0 00-1.414 0l-2 2a1 1 0 101.414 1.414L8 10.414l1.293 1.293a1 1 0 001.414 0l4-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 4v3H4a2 2 0 00-2 2v3a2 2 0 002 2h1v2a2 2 0 002 2h6a2 2 0 002-2v-2h1a2 2 0 002-2V9a2 2 0 00-2-2h-1V4a2 2 0 00-2-2H7a2 2 0 00-2 2zm8 0H7v3h6V4zm0 8H7v4h6v-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPuzzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3.5a1.5 1.5 0 013 0V4a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-.5a1.5 1.5 0 000 3h.5a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-.5a1.5 1.5 0 00-3 0v.5a1 1 0 01-1 1H6a1 1 0 01-1-1v-3a1 1 0 00-1-1h-.5a1.5 1.5 0 010-3H4a1 1 0 001-1V6a1 1 0 011-1h3a1 1 0 001-1v-.5z\"}}]})(props);\n};\nexport function HiQrcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 4a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1V4zm2 2V5h1v1H5zM3 13a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1v-3zm2 2v-1h1v1H5zM13 3a1 1 0 00-1 1v3a1 1 0 001 1h3a1 1 0 001-1V4a1 1 0 00-1-1h-3zm1 2v1h1V5h-1z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4a1 1 0 10-2 0v1a1 1 0 002 0V4zM10 7a1 1 0 011 1v1h2a1 1 0 110 2h-3a1 1 0 01-1-1V8a1 1 0 011-1zM16 9a1 1 0 100 2 1 1 0 000-2zM9 13a1 1 0 011-1h1a1 1 0 110 2v2a1 1 0 11-2 0v-3zM7 11a1 1 0 100-2H4a1 1 0 100 2h3zM17 13a1 1 0 01-1 1h-2a1 1 0 110-2h2a1 1 0 011 1zM16 17a1 1 0 100-2h-3a1 1 0 100 2h3z\"}}]})(props);\n};\nexport function HiQuestionMarkCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiReceiptRefund (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 2a2 2 0 00-2 2v14l3.5-2 3.5 2 3.5-2 3.5 2V4a2 2 0 00-2-2H5zm4.707 3.707a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L8.414 9H10a3 3 0 013 3v1a1 1 0 102 0v-1a5 5 0 00-5-5H8.414l1.293-1.293z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiReceiptTax (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 2a2 2 0 00-2 2v14l3.5-2 3.5 2 3.5-2 3.5 2V4a2 2 0 00-2-2H5zm2.5 3a1.5 1.5 0 100 3 1.5 1.5 0 000-3zm6.207.293a1 1 0 00-1.414 0l-6 6a1 1 0 101.414 1.414l6-6a1 1 0 000-1.414zM12.5 10a1.5 1.5 0 100 3 1.5 1.5 0 000-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiRefresh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiReply (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.707 3.293a1 1 0 010 1.414L5.414 7H11a7 7 0 017 7v2a1 1 0 11-2 0v-2a5 5 0 00-5-5H5.414l2.293 2.293a1 1 0 11-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiRewind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.445 14.832A1 1 0 0010 14v-2.798l5.445 3.63A1 1 0 0017 14V6a1 1 0 00-1.555-.832L10 8.798V6a1 1 0 00-1.555-.832l-6 4a1 1 0 000 1.664l6 4z\"}}]})(props);\n};\nexport function HiRss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a1 1 0 000 2c5.523 0 10 4.477 10 10a1 1 0 102 0C17 8.373 11.627 3 5 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9a1 1 0 011-1 7 7 0 017 7 1 1 0 11-2 0 5 5 0 00-5-5 1 1 0 01-1-1zM3 15a2 2 0 114 0 2 2 0 01-4 0z\"}}]})(props);\n};\nexport function HiSaveAs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.707 7.293a1 1 0 00-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L13 8.586V5h3a2 2 0 012 2v5a2 2 0 01-2 2H8a2 2 0 01-2-2V7a2 2 0 012-2h3v3.586L9.707 7.293zM11 3a1 1 0 112 0v2h-2V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9a2 2 0 00-2 2v5a2 2 0 002 2h8a2 2 0 002-2H4V9z\"}}]})(props);\n};\nexport function HiSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.707 10.293a1 1 0 10-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L11 11.586V6h5a2 2 0 012 2v7a2 2 0 01-2 2H4a2 2 0 01-2-2V8a2 2 0 012-2h5v5.586l-1.293-1.293zM9 4a1 1 0 012 0v2H9V4z\"}}]})(props);\n};\nexport function HiScale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 2a1 1 0 011 1v1.323l3.954 1.582 1.599-.8a1 1 0 01.894 1.79l-1.233.616 1.738 5.42a1 1 0 01-.285 1.05A3.989 3.989 0 0115 15a3.989 3.989 0 01-2.667-1.019 1 1 0 01-.285-1.05l1.715-5.349L11 6.477V16h2a1 1 0 110 2H7a1 1 0 110-2h2V6.477L6.237 7.582l1.715 5.349a1 1 0 01-.285 1.05A3.989 3.989 0 015 15a3.989 3.989 0 01-2.667-1.019 1 1 0 01-.285-1.05l1.738-5.42-1.233-.617a1 1 0 01.894-1.788l1.599.799L9 4.323V3a1 1 0 011-1zm-5 8.274l-.818 2.552c.25.112.526.174.818.174.292 0 .569-.062.818-.174L5 10.274zm10 0l-.818 2.552c.25.112.526.174.818.174.292 0 .569-.062.818-.174L15 10.274z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiScissors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 2a3.5 3.5 0 101.665 6.58L8.585 10l-1.42 1.42a3.5 3.5 0 101.414 1.414l8.128-8.127a1 1 0 00-1.414-1.414L10 8.586l-1.42-1.42A3.5 3.5 0 005.5 2zM4 5.5a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0zm0 9a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.828 11.414a1 1 0 00-1.414 1.414l3.879 3.88a1 1 0 001.414-1.415l-3.879-3.879z\"}}]})(props);\n};\nexport function HiSearchCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9a2 2 0 114 0 2 2 0 01-4 0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-13a4 4 0 00-3.446 6.032l-2.261 2.26a1 1 0 101.414 1.415l2.261-2.261A4 4 0 1011 5z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiSelector (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 5a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2V5zm14 1a1 1 0 11-2 0 1 1 0 012 0zM2 13a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2v-2zm14 1a1 1 0 11-2 0 1 1 0 012 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 8a3 3 0 10-2.977-2.63l-4.94 2.47a3 3 0 100 4.319l4.94 2.47a3 3 0 10.895-1.789l-4.94-2.47a3.027 3.027 0 000-.74l4.94-2.47C13.456 7.68 14.19 8 15 8z\"}}]})(props);\n};\nexport function HiShieldCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiShieldExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 1.944A11.954 11.954 0 012.166 5C2.056 5.649 2 6.319 2 7c0 5.225 3.34 9.67 8 11.317C14.66 16.67 18 12.225 18 7c0-.682-.057-1.35-.166-2.001A11.954 11.954 0 0110 1.944zM11 14a1 1 0 11-2 0 1 1 0 012 0zm0-7a1 1 0 10-2 0v3a1 1 0 102 0V7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiShoppingBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 2a4 4 0 00-4 4v1H5a1 1 0 00-.994.89l-1 9A1 1 0 004 18h12a1 1 0 00.994-1.11l-1-9A1 1 0 0015 7h-1V6a4 4 0 00-4-4zm2 5V6a2 2 0 10-4 0v1h4zm-6 3a1 1 0 112 0 1 1 0 01-2 0zm7-1a1 1 0 100 2 1 1 0 000-2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiShoppingCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 1a1 1 0 000 2h1.22l.305 1.222a.997.997 0 00.01.042l1.358 5.43-.893.892C3.74 11.846 4.632 14 6.414 14H15a1 1 0 000-2H6.414l1-1H14a1 1 0 00.894-.553l3-6A1 1 0 0017 3H6.28l-.31-1.243A1 1 0 005 1H3zM16 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM6.5 18a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\"}}]})(props);\n};\nexport function HiSortAscending (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3a1 1 0 000 2h11a1 1 0 100-2H3zM3 7a1 1 0 000 2h5a1 1 0 000-2H3zM3 11a1 1 0 100 2h4a1 1 0 100-2H3zM13 16a1 1 0 102 0v-5.586l1.293 1.293a1 1 0 001.414-1.414l-3-3a1 1 0 00-1.414 0l-3 3a1 1 0 101.414 1.414L13 10.414V16z\"}}]})(props);\n};\nexport function HiSortDescending (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3a1 1 0 000 2h11a1 1 0 100-2H3zM3 7a1 1 0 000 2h7a1 1 0 100-2H3zM3 11a1 1 0 100 2h4a1 1 0 100-2H3zM15 8a1 1 0 10-2 0v5.586l-1.293-1.293a1 1 0 00-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L15 13.586V8z\"}}]})(props);\n};\nexport function HiSparkles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 2a1 1 0 011 1v1h1a1 1 0 010 2H6v1a1 1 0 01-2 0V6H3a1 1 0 010-2h1V3a1 1 0 011-1zm0 10a1 1 0 011 1v1h1a1 1 0 110 2H6v1a1 1 0 11-2 0v-1H3a1 1 0 110-2h1v-1a1 1 0 011-1zM12 2a1 1 0 01.967.744L14.146 7.2 17.5 9.134a1 1 0 010 1.732l-3.354 1.935-1.18 4.455a1 1 0 01-1.933 0L9.854 12.8 6.5 10.866a1 1 0 010-1.732l3.354-1.935 1.18-4.455A1 1 0 0112 2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiSpeakerphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 3a1 1 0 00-1.447-.894L8.763 6H5a3 3 0 000 6h.28l1.771 5.316A1 1 0 008 18h1a1 1 0 001-1v-4.382l6.553 3.276A1 1 0 0018 15V3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z\"}}]})(props);\n};\nexport function HiStatusOffline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.707 2.293a1 1 0 00-1.414 1.414l6.921 6.922c.05.062.105.118.168.167l6.91 6.911a1 1 0 001.415-1.414l-.675-.675a9.001 9.001 0 00-.668-11.982A1 1 0 1014.95 5.05a7.002 7.002 0 01.657 9.143l-1.435-1.435a5.002 5.002 0 00-.636-6.294A1 1 0 0012.12 7.88c.924.923 1.12 2.3.587 3.415l-1.992-1.992a.922.922 0 00-.018-.018l-6.99-6.991zM3.238 8.187a1 1 0 00-1.933-.516c-.8 3-.025 6.336 2.331 8.693a1 1 0 001.414-1.415 6.997 6.997 0 01-1.812-6.762zM7.4 11.5a1 1 0 10-1.73 1c.214.371.48.72.795 1.035a1 1 0 001.414-1.414c-.191-.191-.35-.4-.478-.622z\"}}]})(props);\n};\nexport function HiStatusOnline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.05 3.636a1 1 0 010 1.414 7 7 0 000 9.9 1 1 0 11-1.414 1.414 9 9 0 010-12.728 1 1 0 011.414 0zm9.9 0a1 1 0 011.414 0 9 9 0 010 12.728 1 1 0 11-1.414-1.414 7 7 0 000-9.9 1 1 0 010-1.414zM7.879 6.464a1 1 0 010 1.414 3 3 0 000 4.243 1 1 0 11-1.415 1.414 5 5 0 010-7.07 1 1 0 011.415 0zm4.242 0a1 1 0 011.415 0 5 5 0 010 7.072 1 1 0 01-1.415-1.415 3 3 0 000-4.242 1 1 0 010-1.415zM10 9a1 1 0 011 1v.01a1 1 0 11-2 0V10a1 1 0 011-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM8 7a1 1 0 00-1 1v4a1 1 0 001 1h4a1 1 0 001-1V8a1 1 0 00-1-1H8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiSupport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-2 0c0 .993-.241 1.929-.668 2.754l-1.524-1.525a3.997 3.997 0 00.078-2.183l1.562-1.562C15.802 8.249 16 9.1 16 10zm-5.165 3.913l1.58 1.58A5.98 5.98 0 0110 16a5.976 5.976 0 01-2.516-.552l1.562-1.562a4.006 4.006 0 001.789.027zm-4.677-2.796a4.002 4.002 0 01-.041-2.08l-.08.08-1.53-1.533A5.98 5.98 0 004 10c0 .954.223 1.856.619 2.657l1.54-1.54zm1.088-6.45A5.974 5.974 0 0110 4c.954 0 1.856.223 2.657.619l-1.54 1.54a4.002 4.002 0 00-2.346.033L7.246 4.668zM12 10a2 2 0 11-4 0 2 2 0 014 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiSwitchHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1 1 0 100 2h5.586l-1.293 1.293a1 1 0 001.414 1.414l3-3a1 1 0 000-1.414l-3-3a1 1 0 10-1.414 1.414L13.586 5H8zM12 15a1 1 0 100-2H6.414l1.293-1.293a1 1 0 10-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L6.414 15H12z\"}}]})(props);\n};\nexport function HiSwitchVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12a1 1 0 102 0V6.414l1.293 1.293a1 1 0 001.414-1.414l-3-3a1 1 0 00-1.414 0l-3 3a1 1 0 001.414 1.414L5 6.414V12zM15 8a1 1 0 10-2 0v5.586l-1.293-1.293a1 1 0 00-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L15 13.586V8z\"}}]})(props);\n};\nexport function HiTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 4a3 3 0 00-3 3v6a3 3 0 003 3h10a3 3 0 003-3V7a3 3 0 00-3-3H5zm-1 9v-1h5v2H5a1 1 0 01-1-1zm7 1h4a1 1 0 001-1v-1h-5v2zm0-4h5V8h-5v2zM9 8H4v2h5V8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M17.707 9.293a1 1 0 010 1.414l-7 7a1 1 0 01-1.414 0l-7-7A.997.997 0 012 10V5a3 3 0 013-3h5c.256 0 .512.098.707.293l7 7zM5 6a1 1 0 100-2 1 1 0 000 2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiTemplate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4a1 1 0 011-1h12a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1V4zM3 10a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H4a1 1 0 01-1-1v-6zM14 9a1 1 0 00-1 1v6a1 1 0 001 1h2a1 1 0 001-1v-6a1 1 0 00-1-1h-2z\"}}]})(props);\n};\nexport function HiTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 5a2 2 0 012-2h12a2 2 0 012 2v10a2 2 0 01-2 2H4a2 2 0 01-2-2V5zm3.293 1.293a1 1 0 011.414 0l3 3a1 1 0 010 1.414l-3 3a1 1 0 01-1.414-1.414L7.586 10 5.293 7.707a1 1 0 010-1.414zM11 12a1 1 0 100 2h3a1 1 0 100-2h-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiThumbDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9.5a1.5 1.5 0 11-3 0v-6a1.5 1.5 0 013 0v6zM14 9.667v-5.43a2 2 0 00-1.105-1.79l-.05-.025A4 4 0 0011.055 2H5.64a2 2 0 00-1.962 1.608l-1.2 6A2 2 0 004.44 12H8v4a2 2 0 002 2 1 1 0 001-1v-.667a4 4 0 01.8-2.4l1.4-1.866a4 4 0 00.8-2.4z\"}}]})(props);\n};\nexport function HiThumbUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10.5a1.5 1.5 0 113 0v6a1.5 1.5 0 01-3 0v-6zM6 10.333v5.43a2 2 0 001.106 1.79l.05.025A4 4 0 008.943 18h5.416a2 2 0 001.962-1.608l1.2-6A2 2 0 0015.56 8H12V4a2 2 0 00-2-2 1 1 0 00-1 1v.667a4 4 0 01-.8 2.4L6.8 7.933a4 4 0 00-.8 2.4z\"}}]})(props);\n};\nexport function HiTicket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 100 4v2a2 2 0 01-2 2H4a2 2 0 01-2-2v-2a2 2 0 100-4V6z\"}}]})(props);\n};\nexport function HiTranslate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7 2a1 1 0 011 1v1h3a1 1 0 110 2H9.578a18.87 18.87 0 01-1.724 4.78c.29.354.596.696.914 1.026a1 1 0 11-1.44 1.389c-.188-.196-.373-.396-.554-.6a19.098 19.098 0 01-3.107 3.567 1 1 0 01-1.334-1.49 17.087 17.087 0 003.13-3.733 18.992 18.992 0 01-1.487-2.494 1 1 0 111.79-.89c.234.47.489.928.764 1.372.417-.934.752-1.913.997-2.927H3a1 1 0 110-2h3V3a1 1 0 011-1zm6 6a1 1 0 01.894.553l2.991 5.982a.869.869 0 01.02.037l.99 1.98a1 1 0 11-1.79.895L15.383 16h-4.764l-.724 1.447a1 1 0 11-1.788-.894l.99-1.98.019-.038 2.99-5.982A1 1 0 0113 8zm-1.382 6h2.764L13 11.236 11.618 14z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9 2a1 1 0 00-.894.553L7.382 4H4a1 1 0 000 2v10a2 2 0 002 2h8a2 2 0 002-2V6a1 1 0 100-2h-3.382l-.724-1.447A1 1 0 0011 2H9zM7 8a1 1 0 012 0v6a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v6a1 1 0 102 0V8a1 1 0 00-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiTrendingDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12 13a1 1 0 100 2h5a1 1 0 001-1V9a1 1 0 10-2 0v2.586l-4.293-4.293a1 1 0 00-1.414 0L8 9.586 3.707 5.293a1 1 0 00-1.414 1.414l5 5a1 1 0 001.414 0L11 9.414 14.586 13H12z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiTrendingUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12 7a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0V8.414l-4.293 4.293a1 1 0 01-1.414 0L8 10.414l-4.293 4.293a1 1 0 01-1.414-1.414l5-5a1 1 0 011.414 0L11 10.586 14.586 7H12z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiTruck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM15 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4a1 1 0 00-1 1v10a1 1 0 001 1h1.05a2.5 2.5 0 014.9 0H10a1 1 0 001-1V5a1 1 0 00-1-1H3zM14 7a1 1 0 00-1 1v6.05A2.5 2.5 0 0115.95 16H17a1 1 0 001-1v-5a1 1 0 00-.293-.707l-2-2A1 1 0 0015 7h-1z\"}}]})(props);\n};\nexport function HiUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM6.293 6.707a1 1 0 010-1.414l3-3a1 1 0 011.414 0l3 3a1 1 0 01-1.414 1.414L11 5.414V13a1 1 0 11-2 0V5.414L7.707 6.707a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiUserAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9a3 3 0 100-6 3 3 0 000 6zM8 11a6 6 0 016 6H2a6 6 0 016-6zM16 7a1 1 0 10-2 0v1h-1a1 1 0 100 2h1v1a1 1 0 102 0v-1h1a1 1 0 100-2h-1V7z\"}}]})(props);\n};\nexport function HiUserCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-6-3a2 2 0 11-4 0 2 2 0 014 0zm-2 4a5 5 0 00-4.546 2.916A5.986 5.986 0 0010 16a5.986 5.986 0 004.546-2.084A5 5 0 0010 11z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiUserGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3zM6 8a2 2 0 11-4 0 2 2 0 014 0zM16 18v-3a5.972 5.972 0 00-.75-2.906A3.005 3.005 0 0119 15v3h-3zM4.75 12.094A5.973 5.973 0 004 15v3H1v-3a3 3 0 013.75-2.906z\"}}]})(props);\n};\nexport function HiUserRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6a3 3 0 11-6 0 3 3 0 016 0zM14 17a6 6 0 00-12 0h12zM13 8a1 1 0 100 2h4a1 1 0 100-2h-4z\"}}]})(props);\n};\nexport function HiUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiUsers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6a3 3 0 11-6 0 3 3 0 016 0zM17 6a3 3 0 11-6 0 3 3 0 016 0zM12.93 17c.046-.327.07-.66.07-1a6.97 6.97 0 00-1.5-4.33A5 5 0 0119 16v1h-6.07zM6 11a5 5 0 015 5v1H1v-1a5 5 0 015-5z\"}}]})(props);\n};\nexport function HiVariable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.649 3.084A1 1 0 015.163 4.4 13.95 13.95 0 004 10c0 1.993.416 3.886 1.164 5.6a1 1 0 01-1.832.8A15.95 15.95 0 012 10c0-2.274.475-4.44 1.332-6.4a1 1 0 011.317-.516zM12.96 7a3 3 0 00-2.342 1.126l-.328.41-.111-.279A2 2 0 008.323 7H8a1 1 0 000 2h.323l.532 1.33-1.035 1.295a1 1 0 01-.781.375H7a1 1 0 100 2h.039a3 3 0 002.342-1.126l.328-.41.111.279A2 2 0 0011.677 14H12a1 1 0 100-2h-.323l-.532-1.33 1.035-1.295A1 1 0 0112.961 9H13a1 1 0 100-2h-.039zm1.874-2.6a1 1 0 011.833-.8A15.95 15.95 0 0118 10c0 2.274-.475 4.44-1.332 6.4a1 1 0 11-1.832-.8A13.949 13.949 0 0016 10c0-1.993-.416-3.886-1.165-5.6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiVideoCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a2 2 0 012-2h6a2 2 0 012 2v8a2 2 0 01-2 2H4a2 2 0 01-2-2V6zM14.553 7.106A1 1 0 0014 8v4a1 1 0 00.553.894l2 1A1 1 0 0018 13V7a1 1 0 00-1.447-.894l-2 1z\"}}]})(props);\n};\nexport function HiViewBoards (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1H3a1 1 0 01-1-1V4zM8 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1H9a1 1 0 01-1-1V4zM15 3a1 1 0 00-1 1v12a1 1 0 001 1h2a1 1 0 001-1V4a1 1 0 00-1-1h-2z\"}}]})(props);\n};\nexport function HiViewGridAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2V5a2 2 0 00-2-2H5zM5 11a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2v-2a2 2 0 00-2-2H5zM11 5a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V5zM14 11a1 1 0 011 1v1h1a1 1 0 110 2h-1v1a1 1 0 11-2 0v-1h-1a1 1 0 110-2h1v-1a1 1 0 011-1z\"}}]})(props);\n};\nexport function HiViewGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2V5a2 2 0 00-2-2H5zM5 11a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2v-2a2 2 0 00-2-2H5zM11 5a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V5zM11 13a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z\"}}]})(props);\n};\nexport function HiViewList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiVolumeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.383 3.076A1 1 0 0110 4v12a1 1 0 01-1.707.707L4.586 13H2a1 1 0 01-1-1V8a1 1 0 011-1h2.586l3.707-3.707a1 1 0 011.09-.217zM12.293 7.293a1 1 0 011.414 0L15 8.586l1.293-1.293a1 1 0 111.414 1.414L16.414 10l1.293 1.293a1 1 0 01-1.414 1.414L15 11.414l-1.293 1.293a1 1 0 01-1.414-1.414L13.586 10l-1.293-1.293a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiVolumeUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.383 3.076A1 1 0 0110 4v12a1 1 0 01-1.707.707L4.586 13H2a1 1 0 01-1-1V8a1 1 0 011-1h2.586l3.707-3.707a1 1 0 011.09-.217zM14.657 2.929a1 1 0 011.414 0A9.972 9.972 0 0119 10a9.972 9.972 0 01-2.929 7.071 1 1 0 01-1.414-1.414A7.971 7.971 0 0017 10c0-2.21-.894-4.208-2.343-5.657a1 1 0 010-1.414zm-2.829 2.828a1 1 0 011.415 0A5.983 5.983 0 0115 10a5.984 5.984 0 01-1.757 4.243 1 1 0 01-1.415-1.415A3.984 3.984 0 0013 10a3.983 3.983 0 00-1.172-2.828 1 1 0 010-1.415z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiWifi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M17.778 8.222c-4.296-4.296-11.26-4.296-15.556 0A1 1 0 01.808 6.808c5.076-5.077 13.308-5.077 18.384 0a1 1 0 01-1.414 1.414zM14.95 11.05a7 7 0 00-9.9 0 1 1 0 01-1.414-1.414 9 9 0 0112.728 0 1 1 0 01-1.414 1.414zM12.12 13.88a3 3 0 00-4.242 0 1 1 0 01-1.415-1.415 5 5 0 017.072 0 1 1 0 01-1.415 1.415zM9 16a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiXCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiZoomIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8a1 1 0 011-1h1V6a1 1 0 012 0v1h1a1 1 0 110 2H9v1a1 1 0 11-2 0V9H6a1 1 0 01-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8zm6-4a4 4 0 100 8 4 4 0 000-8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiZoomOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 8a1 1 0 011-1h4a1 1 0 110 2H6a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiOutlineAcademicCap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14l9-5-9-5-9 5 9 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 14l9-5-9-5-9 5 9 5zm0 0l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14zm-4 6v-7.5l4-2.222\"}}]})(props);\n};\nexport function HiOutlineAdjustments (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4\"}}]})(props);\n};\nexport function HiOutlineAnnotation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z\"}}]})(props);\n};\nexport function HiOutlineArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4\"}}]})(props);\n};\nexport function HiOutlineArrowCircleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 13l-3 3m0 0l-3-3m3 3V8m0 13a9 9 0 110-18 9 9 0 010 18z\"}}]})(props);\n};\nexport function HiOutlineArrowCircleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M11 15l-3-3m0 0l3-3m-3 3h8M3 12a9 9 0 1118 0 9 9 0 01-18 0z\"}}]})(props);\n};\nexport function HiOutlineArrowCircleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M13 9l3 3m0 0l-3 3m3-3H8m13 0a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineArrowCircleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 11l3-3m0 0l3 3m-3-3v8m0-13a9 9 0 110 18 9 9 0 010-18z\"}}]})(props);\n};\nexport function HiOutlineArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M19 14l-7 7m0 0l-7-7m7 7V3\"}}]})(props);\n};\nexport function HiOutlineArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M10 19l-7-7m0 0l7-7m-7 7h18\"}}]})(props);\n};\nexport function HiOutlineArrowNarrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M16 17l-4 4m0 0l-4-4m4 4V3\"}}]})(props);\n};\nexport function HiOutlineArrowNarrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 16l-4-4m0 0l4-4m-4 4h18\"}}]})(props);\n};\nexport function HiOutlineArrowNarrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M17 8l4 4m0 0l-4 4m4-4H3\"}}]})(props);\n};\nexport function HiOutlineArrowNarrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 7l4-4m0 0l4 4m-4-4v18\"}}]})(props);\n};\nexport function HiOutlineArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M14 5l7 7m0 0l-7 7m7-7H3\"}}]})(props);\n};\nexport function HiOutlineArrowSmDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M17 13l-5 5m0 0l-5-5m5 5V6\"}}]})(props);\n};\nexport function HiOutlineArrowSmLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M11 17l-5-5m0 0l5-5m-5 5h12\"}}]})(props);\n};\nexport function HiOutlineArrowSmRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M13 7l5 5m0 0l-5 5m5-5H6\"}}]})(props);\n};\nexport function HiOutlineArrowSmUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 11l5-5m0 0l5 5m-5-5v12\"}}]})(props);\n};\nexport function HiOutlineArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5 10l7-7m0 0l7 7m-7-7v18\"}}]})(props);\n};\nexport function HiOutlineArrowsExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4\"}}]})(props);\n};\nexport function HiOutlineAtSymbol (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M16 12a4 4 0 10-8 0 4 4 0 008 0zm0 0v1.5a2.5 2.5 0 005 0V12a9 9 0 10-9 9m4.5-1.206a8.959 8.959 0 01-4.5 1.207\"}}]})(props);\n};\nexport function HiOutlineBackspace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2M3 12l6.414 6.414a2 2 0 001.414.586H19a2 2 0 002-2V7a2 2 0 00-2-2h-8.172a2 2 0 00-1.414.586L3 12z\"}}]})(props);\n};\nexport function HiOutlineBadgeCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z\"}}]})(props);\n};\nexport function HiOutlineBan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636\"}}]})(props);\n};\nexport function HiOutlineBeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z\"}}]})(props);\n};\nexport function HiOutlineBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\"}}]})(props);\n};\nexport function HiOutlineBookOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253\"}}]})(props);\n};\nexport function HiOutlineBookmarkAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M16 4v12l-4-2-4 2V4M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z\"}}]})(props);\n};\nexport function HiOutlineBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineCake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M21 15.546c-.523 0-1.046.151-1.5.454a2.704 2.704 0 01-3 0 2.704 2.704 0 00-3 0 2.704 2.704 0 01-3 0 2.704 2.704 0 00-3 0 2.704 2.704 0 01-3 0 2.701 2.701 0 00-1.5-.454M9 6v2m3-2v2m3-2v2M9 3h.01M12 3h.01M15 3h.01M21 21v-7a2 2 0 00-2-2H5a2 2 0 00-2 2v7h18zm-3-9v-2a2 2 0 00-2-2H8a2 2 0 00-2 2v2h12z\"}}]})(props);\n};\nexport function HiOutlineCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 13a3 3 0 11-6 0 3 3 0 016 0z\"}}]})(props);\n};\nexport function HiOutlineCash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z\"}}]})(props);\n};\nexport function HiOutlineChartBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z\"}}]})(props);\n};\nexport function HiOutlineChartPie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z\"}}]})(props);\n};\nexport function HiOutlineChartSquareBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M16 8v8m-4-5v5m-4-2v2m-2 4h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineChatAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M17 8h2a2 2 0 012 2v6a2 2 0 01-2 2h-2v4l-4-4H9a1.994 1.994 0 01-1.414-.586m0 0L11 14h4a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2v4l.586-.586z\"}}]})(props);\n};\nexport function HiOutlineChatAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 10h.01M12 10h.01M16 10h.01M9 16H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-5l-5 5v-5z\"}}]})(props);\n};\nexport function HiOutlineChat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z\"}}]})(props);\n};\nexport function HiOutlineCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5 13l4 4L19 7\"}}]})(props);\n};\nexport function HiOutlineChevronDoubleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M19 13l-7 7-7-7m14-8l-7 7-7-7\"}}]})(props);\n};\nexport function HiOutlineChevronDoubleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M11 19l-7-7 7-7m8 14l-7-7 7-7\"}}]})(props);\n};\nexport function HiOutlineChevronDoubleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M13 5l7 7-7 7M5 5l7 7-7 7\"}}]})(props);\n};\nexport function HiOutlineChevronDoubleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5 11l7-7 7 7M5 19l7-7 7 7\"}}]})(props);\n};\nexport function HiOutlineChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M19 9l-7 7-7-7\"}}]})(props);\n};\nexport function HiOutlineChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 19l-7-7 7-7\"}}]})(props);\n};\nexport function HiOutlineChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 5l7 7-7 7\"}}]})(props);\n};\nexport function HiOutlineChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5 15l7-7 7 7\"}}]})(props);\n};\nexport function HiOutlineChip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z\"}}]})(props);\n};\nexport function HiOutlineClipboardCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"}}]})(props);\n};\nexport function HiOutlineClipboardCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3m2 4H10m0 0l3-3m-3 3l3 3\"}}]})(props);\n};\nexport function HiOutlineClipboardList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01\"}}]})(props);\n};\nexport function HiOutlineClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"}}]})(props);\n};\nexport function HiOutlineClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCloudDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10\"}}]})(props);\n};\nexport function HiOutlineCloudUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12\"}}]})(props);\n};\nexport function HiOutlineCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 15a4 4 0 004 4h9a5 5 0 10-.1-9.999 5.002 5.002 0 10-9.78 2.096A4.001 4.001 0 003 15z\"}}]})(props);\n};\nexport function HiOutlineCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4\"}}]})(props);\n};\nexport function HiOutlineCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"}}]})(props);\n};\nexport function HiOutlineCollection (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10\"}}]})(props);\n};\nexport function HiOutlineColorSwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01\"}}]})(props);\n};\nexport function HiOutlineCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z\"}}]})(props);\n};\nexport function HiOutlineCubeTransparent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M14 10l-2 1m0 0l-2-1m2 1v2.5M20 7l-2 1m2-1l-2-1m2 1v2.5M14 4l-2-1-2 1M4 7l2-1M4 7l2 1M4 7v2.5M12 21l-2-1m2 1l2-1m-2 1v-2.5M6 18l-2-1v-2.5M18 18l2-1v-2.5\"}}]})(props);\n};\nexport function HiOutlineCube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4\"}}]})(props);\n};\nexport function HiOutlineCurrencyBangladeshi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M11 11V9a2 2 0 00-2-2m2 4v4a2 2 0 104 0v-1m-4-3H9m2 0h4m6 1a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCurrencyDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCurrencyEuro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M14.121 15.536c-1.171 1.952-3.07 1.952-4.242 0-1.172-1.953-1.172-5.119 0-7.072 1.171-1.952 3.07-1.952 4.242 0M8 10.5h4m-4 3h4m9-1.5a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCurrencyPound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 9a2 2 0 10-4 0v5a2 2 0 01-2 2h6m-6-4h4m8 0a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCurrencyRupee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 8h6m-5 0a3 3 0 110 6H9l3 3m-3-6h6m6 1a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCurrencyYen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 8l3 5m0 0l3-5m-3 5v4m-3-5h6m-6 3h6m6-3a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCursorClick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122\"}}]})(props);\n};\nexport function HiOutlineDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4\"}}]})(props);\n};\nexport function HiOutlineDesktopComputer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineDeviceMobile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineDeviceTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 18h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineDocumentAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"}}]})(props);\n};\nexport function HiOutlineDocumentDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"}}]})(props);\n};\nexport function HiOutlineDocumentDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 7v8a2 2 0 002 2h6M8 7V5a2 2 0 012-2h4.586a1 1 0 01.707.293l4.414 4.414a1 1 0 01.293.707V15a2 2 0 01-2 2h-2M8 7H6a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2v-2\"}}]})(props);\n};\nexport function HiOutlineDocumentRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 13h6m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"}}]})(props);\n};\nexport function HiOutlineDocumentReport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"}}]})(props);\n};\nexport function HiOutlineDocumentSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M10 21h7a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v11m0 5l4.879-4.879m0 0a3 3 0 104.243-4.242 3 3 0 00-4.243 4.242z\"}}]})(props);\n};\nexport function HiOutlineDocumentText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"}}]})(props);\n};\nexport function HiOutlineDocument (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineDotsCircleHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 12h.01M12 12h.01M16 12h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineDotsHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5 12h.01M12 12h.01M19 12h.01M6 12a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0z\"}}]})(props);\n};\nexport function HiOutlineDotsVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z\"}}]})(props);\n};\nexport function HiOutlineDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4\"}}]})(props);\n};\nexport function HiOutlineDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineEmojiHappy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M14.828 14.828a4 4 0 01-5.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineEmojiSad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9.172 16.172a4 4 0 015.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineExclamationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"}}]})(props);\n};\nexport function HiOutlineExternalLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14\"}}]})(props);\n};\nexport function HiOutlineEyeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21\"}}]})(props);\n};\nexport function HiOutlineEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z\"}}]})(props);\n};\nexport function HiOutlineFastForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M11.933 12.8a1 1 0 000-1.6L6.6 7.2A1 1 0 005 8v8a1 1 0 001.6.8l5.333-4zM19.933 12.8a1 1 0 000-1.6l-5.333-4A1 1 0 0013 8v8a1 1 0 001.6.8l5.333-4z\"}}]})(props);\n};\nexport function HiOutlineFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 4v16M17 4v16M3 8h4m10 0h4M3 12h18M3 16h4m10 0h4M4 20h16a1 1 0 001-1V5a1 1 0 00-1-1H4a1 1 0 00-1 1v14a1 1 0 001 1z\"}}]})(props);\n};\nexport function HiOutlineFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z\"}}]})(props);\n};\nexport function HiOutlineFingerPrint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 11c0 3.517-1.009 6.799-2.753 9.571m-3.44-2.04l.054-.09A13.916 13.916 0 008 11a4 4 0 118 0c0 1.017-.07 2.019-.203 3m-2.118 6.844A21.88 21.88 0 0015.171 17m3.839 1.132c.645-2.266.99-4.659.99-7.132A8 8 0 008 4.07M3 15.364c.64-1.319 1-2.8 1-4.364 0-1.457.39-2.823 1.07-4\"}}]})(props);\n};\nexport function HiOutlineFire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M17.657 18.657A8 8 0 016.343 7.343S7 9 9 10c0-2 .5-5 2.986-7C14 5 16.09 5.777 17.656 7.343A7.975 7.975 0 0120 13a7.975 7.975 0 01-2.343 5.657z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9.879 16.121A3 3 0 1012.015 11L11 14H9c0 .768.293 1.536.879 2.121z\"}}]})(props);\n};\nexport function HiOutlineFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 21v-4m0 0V5a2 2 0 012-2h6.5l1 1H21l-3 6 3 6h-8.5l-1-1H5a2 2 0 00-2 2zm9-13.5V9\"}}]})(props);\n};\nexport function HiOutlineFolderAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 13h6m-3-3v6m-9 1V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\"}}]})(props);\n};\nexport function HiOutlineFolderDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 10v6m0 0l-3-3m3 3l3-3M3 17V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\"}}]})(props);\n};\nexport function HiOutlineFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5 19a2 2 0 01-2-2V7a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1M5 19h14a2 2 0 002-2v-5a2 2 0 00-2-2H9a2 2 0 00-2 2v5a2 2 0 01-2 2z\"}}]})(props);\n};\nexport function HiOutlineFolderRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 13h6M3 17V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\"}}]})(props);\n};\nexport function HiOutlineFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z\"}}]})(props);\n};\nexport function HiOutlineGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 8v13m0-13V6a2 2 0 112 2h-2zm0 0V5.5A2.5 2.5 0 109.5 8H12zm-7 4h14M5 12a2 2 0 110-4h14a2 2 0 110 4M5 12v7a2 2 0 002 2h10a2 2 0 002-2v-7\"}}]})(props);\n};\nexport function HiOutlineGlobeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9\"}}]})(props);\n};\nexport function HiOutlineGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineHand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 11.5V14m0-2.5v-6a1.5 1.5 0 113 0m-3 6a1.5 1.5 0 00-3 0v2a7.5 7.5 0 0015 0v-5a1.5 1.5 0 00-3 0m-6-3V11m0-5.5v-1a1.5 1.5 0 013 0v1m0 0V11m0-5.5a1.5 1.5 0 013 0v3m0 0V11\"}}]})(props);\n};\nexport function HiOutlineHashtag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 20l4-16m2 16l4-16M6 9h14M4 15h14\"}}]})(props);\n};\nexport function HiOutlineHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z\"}}]})(props);\n};\nexport function HiOutlineHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6\"}}]})(props);\n};\nexport function HiOutlineIdentification (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M10 6H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V8a2 2 0 00-2-2h-5m-4 0V5a2 2 0 114 0v1m-4 0a2 2 0 104 0m-5 8a2 2 0 100-4 2 2 0 000 4zm0 0c1.306 0 2.417.835 2.83 2M9 14a3.001 3.001 0 00-2.83 2M15 11h3m-3 4h2\"}}]})(props);\n};\nexport function HiOutlineInboxIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 4H6a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-2m-4-1v8m0 0l3-3m-3 3L9 8m-5 5h2.586a1 1 0 01.707.293l2.414 2.414a1 1 0 00.707.293h3.172a1 1 0 00.707-.293l2.414-2.414a1 1 0 01.707-.293H20\"}}]})(props);\n};\nexport function HiOutlineInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4\"}}]})(props);\n};\nexport function HiOutlineInformationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z\"}}]})(props);\n};\nexport function HiOutlineLibrary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 14v3m4-3v3m4-3v3M3 21h18M3 10h18M3 7l9-4 9 4M4 10h16v11H4V10z\"}}]})(props);\n};\nexport function HiOutlineLightBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z\"}}]})(props);\n};\nexport function HiOutlineLightningBolt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M13 10V3L4 14h7v7l9-11h-7z\"}}]})(props);\n};\nexport function HiOutlineLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1\"}}]})(props);\n};\nexport function HiOutlineLocationMarker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 11a3 3 0 11-6 0 3 3 0 016 0z\"}}]})(props);\n};\nexport function HiOutlineLockClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z\"}}]})(props);\n};\nexport function HiOutlineLockOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 11V7a4 4 0 118 0m-4 8v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineLogin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1\"}}]})(props);\n};\nexport function HiOutlineLogout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1\"}}]})(props);\n};\nexport function HiOutlineMailOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 19v-8.93a2 2 0 01.89-1.664l7-4.666a2 2 0 012.22 0l7 4.666A2 2 0 0121 10.07V19M3 19a2 2 0 002 2h14a2 2 0 002-2M3 19l6.75-4.5M21 19l-6.75-4.5M3 10l6.75 4.5M21 10l-6.75 4.5m0 0l-1.14.76a2 2 0 01-2.22 0l-1.14-.76\"}}]})(props);\n};\nexport function HiOutlineMail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7\"}}]})(props);\n};\nexport function HiOutlineMenuAlt1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 6h16M4 12h8m-8 6h16\"}}]})(props);\n};\nexport function HiOutlineMenuAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 6h16M4 12h16M4 18h7\"}}]})(props);\n};\nexport function HiOutlineMenuAlt3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 6h16M4 12h16m-7 6h7\"}}]})(props);\n};\nexport function HiOutlineMenuAlt4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 8h16M4 16h16\"}}]})(props);\n};\nexport function HiOutlineMenu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 6h16M4 12h16M4 18h16\"}}]})(props);\n};\nexport function HiOutlineMicrophone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z\"}}]})(props);\n};\nexport function HiOutlineMinusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 12H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineMinusSm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M18 12H6\"}}]})(props);\n};\nexport function HiOutlineMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M20 12H4\"}}]})(props);\n};\nexport function HiOutlineMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z\"}}]})(props);\n};\nexport function HiOutlineMusicNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 19V6l12-3v13M9 19c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zm12-3c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zM9 10l12-3\"}}]})(props);\n};\nexport function HiOutlineNewspaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z\"}}]})(props);\n};\nexport function HiOutlineOfficeBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4\"}}]})(props);\n};\nexport function HiOutlinePaperAirplane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 19l9 2-9-18-9 18 9-2zm0 0v-8\"}}]})(props);\n};\nexport function HiOutlinePaperClip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\"}}]})(props);\n};\nexport function HiOutlinePause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M10 9v6m4-6v6m7-3a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlinePencilAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\"}}]})(props);\n};\nexport function HiOutlinePencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z\"}}]})(props);\n};\nexport function HiOutlinePhoneIncoming (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M21 3l-6 6m0 0V4m0 5h5M5 3a2 2 0 00-2 2v1c0 8.284 6.716 15 15 15h1a2 2 0 002-2v-3.28a1 1 0 00-.684-.948l-4.493-1.498a1 1 0 00-1.21.502l-1.13 2.257a11.042 11.042 0 01-5.516-5.517l2.257-1.128a1 1 0 00.502-1.21L9.228 3.683A1 1 0 008.279 3H5z\"}}]})(props);\n};\nexport function HiOutlinePhoneMissedCall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M16 8l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2M5 3a2 2 0 00-2 2v1c0 8.284 6.716 15 15 15h1a2 2 0 002-2v-3.28a1 1 0 00-.684-.948l-4.493-1.498a1 1 0 00-1.21.502l-1.13 2.257a11.042 11.042 0 01-5.516-5.517l2.257-1.128a1 1 0 00.502-1.21L9.228 3.683A1 1 0 008.279 3H5z\"}}]})(props);\n};\nexport function HiOutlinePhoneOutgoing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M16 3h5m0 0v5m0-5l-6 6M5 3a2 2 0 00-2 2v1c0 8.284 6.716 15 15 15h1a2 2 0 002-2v-3.28a1 1 0 00-.684-.948l-4.493-1.498a1 1 0 00-1.21.502l-1.13 2.257a11.042 11.042 0 01-5.516-5.517l2.257-1.128a1 1 0 00.502-1.21L9.228 3.683A1 1 0 008.279 3H5z\"}}]})(props);\n};\nexport function HiOutlinePhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z\"}}]})(props);\n};\nexport function HiOutlinePhotograph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlinePlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlinePlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlinePlusSm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 6v6m0 0v6m0-6h6m-6 0H6\"}}]})(props);\n};\nexport function HiOutlinePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 4v16m8-8H4\"}}]})(props);\n};\nexport function HiOutlinePresentationChartBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 13v-1m4 1v-3m4 3V8M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z\"}}]})(props);\n};\nexport function HiOutlinePresentationChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z\"}}]})(props);\n};\nexport function HiOutlinePrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M17 17h2a2 2 0 002-2v-4a2 2 0 00-2-2H5a2 2 0 00-2 2v4a2 2 0 002 2h2m2 4h6a2 2 0 002-2v-4a2 2 0 00-2-2H9a2 2 0 00-2 2v4a2 2 0 002 2zm8-12V5a2 2 0 00-2-2H9a2 2 0 00-2 2v4h10z\"}}]})(props);\n};\nexport function HiOutlinePuzzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z\"}}]})(props);\n};\nexport function HiOutlineQrcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 4v1m6 11h2m-6 0h-2v4m0-11v3m0 0h.01M12 12h4.01M16 20h4M4 12h4m12 0h.01M5 8h2a1 1 0 001-1V5a1 1 0 00-1-1H5a1 1 0 00-1 1v2a1 1 0 001 1zm12 0h2a1 1 0 001-1V5a1 1 0 00-1-1h-2a1 1 0 00-1 1v2a1 1 0 001 1zM5 20h2a1 1 0 001-1v-2a1 1 0 00-1-1H5a1 1 0 00-1 1v2a1 1 0 001 1z\"}}]})(props);\n};\nexport function HiOutlineQuestionMarkCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineReceiptRefund (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M16 15v-1a4 4 0 00-4-4H8m0 0l3 3m-3-3l3-3m9 14V5a2 2 0 00-2-2H6a2 2 0 00-2 2v16l4-2 4 2 4-2 4 2z\"}}]})(props);\n};\nexport function HiOutlineReceiptTax (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 14l6-6m-5.5.5h.01m4.99 5h.01M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16l3.5-2 3.5 2 3.5-2 3.5 2zM10 8.5a.5.5 0 11-1 0 .5.5 0 011 0zm5 5a.5.5 0 11-1 0 .5.5 0 011 0z\"}}]})(props);\n};\nexport function HiOutlineRefresh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\"}}]})(props);\n};\nexport function HiOutlineReply (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 10h10a8 8 0 018 8v2M3 10l6 6m-6-6l6-6\"}}]})(props);\n};\nexport function HiOutlineRewind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12.066 11.2a1 1 0 000 1.6l5.334 4A1 1 0 0019 16V8a1 1 0 00-1.6-.8l-5.333 4zM4.066 11.2a1 1 0 000 1.6l5.334 4A1 1 0 0011 16V8a1 1 0 00-1.6-.8l-5.334 4z\"}}]})(props);\n};\nexport function HiOutlineRss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M6 5c7.18 0 13 5.82 13 13M6 11a7 7 0 017 7m-6 0a1 1 0 11-2 0 1 1 0 012 0z\"}}]})(props);\n};\nexport function HiOutlineSaveAs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M17 16v2a2 2 0 01-2 2H5a2 2 0 01-2-2v-7a2 2 0 012-2h2m3-4H9a2 2 0 00-2 2v7a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-1m-1 4l-3 3m0 0l-3-3m3 3V3\"}}]})(props);\n};\nexport function HiOutlineSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4\"}}]})(props);\n};\nexport function HiOutlineScale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 6l3 1m0 0l-3 9a5.002 5.002 0 006.001 0M6 7l3 9M6 7l6-2m6 2l3-1m-3 1l-3 9a5.002 5.002 0 006.001 0M18 7l3 9m-3-9l-6-2m0-2v2m0 16V5m0 16H9m3 0h3\"}}]})(props);\n};\nexport function HiOutlineScissors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M14.121 14.121L19 19m-7-7l7-7m-7 7l-2.879 2.879M12 12L9.121 9.121m0 5.758a3 3 0 10-4.243 4.243 3 3 0 004.243-4.243zm0-5.758a3 3 0 10-4.243-4.243 3 3 0 004.243 4.243z\"}}]})(props);\n};\nexport function HiOutlineSearchCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 16l2.879-2.879m0 0a3 3 0 104.243-4.242 3 3 0 00-4.243 4.242zM21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"}}]})(props);\n};\nexport function HiOutlineSelector (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 9l4-4 4 4m0 6l-4 4-4-4\"}}]})(props);\n};\nexport function HiOutlineServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01\"}}]})(props);\n};\nexport function HiOutlineShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8.684 13.342C8.886 12.938 9 12.482 9 12c0-.482-.114-.938-.316-1.342m0 2.684a3 3 0 110-2.684m0 2.684l6.632 3.316m-6.632-6l6.632-3.316m0 0a3 3 0 105.367-2.684 3 3 0 00-5.367 2.684zm0 9.316a3 3 0 105.368 2.684 3 3 0 00-5.368-2.684z\"}}]})(props);\n};\nexport function HiOutlineShieldCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z\"}}]})(props);\n};\nexport function HiOutlineShieldExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M20.618 5.984A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016zM12 9v2m0 4h.01\"}}]})(props);\n};\nexport function HiOutlineShoppingBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z\"}}]})(props);\n};\nexport function HiOutlineShoppingCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z\"}}]})(props);\n};\nexport function HiOutlineSortAscending (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12\"}}]})(props);\n};\nexport function HiOutlineSortDescending (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 4h13M3 8h9m-9 4h9m5-4v12m0 0l-4-4m4 4l4-4\"}}]})(props);\n};\nexport function HiOutlineSparkles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z\"}}]})(props);\n};\nexport function HiOutlineSpeakerphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M11 5.882V19.24a1.76 1.76 0 01-3.417.592l-2.147-6.15M18 13a3 3 0 100-6M5.436 13.683A4.001 4.001 0 017 6h1.832c4.1 0 7.625-1.234 9.168-3v14c-1.543-1.766-5.067-3-9.168-3H7a3.988 3.988 0 01-1.564-.317z\"}}]})(props);\n};\nexport function HiOutlineStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z\"}}]})(props);\n};\nexport function HiOutlineStatusOffline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M18.364 5.636a9 9 0 010 12.728m0 0l-2.829-2.829m2.829 2.829L21 21M15.536 8.464a5 5 0 010 7.072m0 0l-2.829-2.829m-4.243 2.829a4.978 4.978 0 01-1.414-2.83m-1.414 5.658a9 9 0 01-2.167-9.238m7.824 2.167a1 1 0 111.414 1.414m-1.414-1.414L3 3m8.293 8.293l1.414 1.414\"}}]})(props);\n};\nexport function HiOutlineStatusOnline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5.636 18.364a9 9 0 010-12.728m12.728 0a9 9 0 010 12.728m-9.9-2.829a5 5 0 010-7.07m7.072 0a5 5 0 010 7.07M13 12a1 1 0 11-2 0 1 1 0 012 0z\"}}]})(props);\n};\nexport function HiOutlineStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 10a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4z\"}}]})(props);\n};\nexport function HiOutlineSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z\"}}]})(props);\n};\nexport function HiOutlineSupport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M18.364 5.636l-3.536 3.536m0 5.656l3.536 3.536M9.172 9.172L5.636 5.636m3.536 9.192l-3.536 3.536M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-5 0a4 4 0 11-8 0 4 4 0 018 0z\"}}]})(props);\n};\nexport function HiOutlineSwitchHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4\"}}]})(props);\n};\nexport function HiOutlineSwitchVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4\"}}]})(props);\n};\nexport function HiOutlineTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 10h18M3 14h18m-9-4v8m-7 0h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z\"}}]})(props);\n};\nexport function HiOutlineTemplate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z\"}}]})(props);\n};\nexport function HiOutlineTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineThumbDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M10 14H5.236a2 2 0 01-1.789-2.894l3.5-7A2 2 0 018.736 3h4.018a2 2 0 01.485.06l3.76.94m-7 10v5a2 2 0 002 2h.096c.5 0 .905-.405.905-.904 0-.715.211-1.413.608-2.008L17 13V4m-7 10h2m5-10h2a2 2 0 012 2v6a2 2 0 01-2 2h-2.5\"}}]})(props);\n};\nexport function HiOutlineThumbUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M14 10h4.764a2 2 0 011.789 2.894l-3.5 7A2 2 0 0115.263 21h-4.017c-.163 0-.326-.02-.485-.06L7 20m7-10V5a2 2 0 00-2-2h-.095c-.5 0-.905.405-.905.905 0 .714-.211 1.412-.608 2.006L7 11v9m7-10h-2M7 20H5a2 2 0 01-2-2v-6a2 2 0 012-2h2.5\"}}]})(props);\n};\nexport function HiOutlineTicket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 5v2m0 4v2m0 4v2M5 5a2 2 0 00-2 2v3a2 2 0 110 4v3a2 2 0 002 2h14a2 2 0 002-2v-3a2 2 0 110-4V7a2 2 0 00-2-2H5z\"}}]})(props);\n};\nexport function HiOutlineTranslate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129\"}}]})(props);\n};\nexport function HiOutlineTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"}}]})(props);\n};\nexport function HiOutlineTrendingDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M13 17h8m0 0V9m0 8l-8-8-4 4-6-6\"}}]})(props);\n};\nexport function HiOutlineTrendingUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M13 7h8m0 0v8m0-8l-8 8-4-4-6 6\"}}]})(props);\n};\nexport function HiOutlineTruck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17a2 2 0 11-4 0 2 2 0 014 0zM19 17a2 2 0 11-4 0 2 2 0 014 0z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M13 16V6a1 1 0 00-1-1H4a1 1 0 00-1 1v10a1 1 0 001 1h1m8-1a1 1 0 01-1 1H9m4-1V8a1 1 0 011-1h2.586a1 1 0 01.707.293l3.414 3.414a1 1 0 01.293.707V16a1 1 0 01-1 1h-1m-6-1a1 1 0 001 1h1M5 17a2 2 0 104 0m-4 0a2 2 0 114 0m6 0a2 2 0 104 0m-4 0a2 2 0 114 0\"}}]})(props);\n};\nexport function HiOutlineUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12\"}}]})(props);\n};\nexport function HiOutlineUserAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M18 9v3m0 0v3m0-3h3m-3 0h-3m-2-5a4 4 0 11-8 0 4 4 0 018 0zM3 20a6 6 0 0112 0v1H3v-1z\"}}]})(props);\n};\nexport function HiOutlineUserCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5.121 17.804A13.937 13.937 0 0112 16c2.5 0 4.847.655 6.879 1.804M15 10a3 3 0 11-6 0 3 3 0 016 0zm6 2a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineUserGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z\"}}]})(props);\n};\nexport function HiOutlineUserRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M13 7a4 4 0 11-8 0 4 4 0 018 0zM9 14a6 6 0 00-6 6v1h12v-1a6 6 0 00-6-6zM21 12h-6\"}}]})(props);\n};\nexport function HiOutlineUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"}}]})(props);\n};\nexport function HiOutlineUsers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z\"}}]})(props);\n};\nexport function HiOutlineVariable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4.871 4A17.926 17.926 0 003 12c0 2.874.673 5.59 1.871 8m14.13 0a17.926 17.926 0 001.87-8c0-2.874-.673-5.59-1.87-8M9 9h1.246a1 1 0 01.961.725l1.586 5.55a1 1 0 00.961.725H15m1-7h-.08a2 2 0 00-1.519.698L9.6 15.302A2 2 0 018.08 16H8\"}}]})(props);\n};\nexport function HiOutlineVideoCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineViewBoards (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M9 17V7m0 10a2 2 0 01-2 2H5a2 2 0 01-2-2V7a2 2 0 012-2h2a2 2 0 012 2m0 10a2 2 0 002 2h2a2 2 0 002-2M9 7a2 2 0 012-2h2a2 2 0 012 2m0 10V7m0 10a2 2 0 002 2h2a2 2 0 002-2V7a2 2 0 00-2-2h-2a2 2 0 00-2 2\"}}]})(props);\n};\nexport function HiOutlineViewGridAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M17 14v6m-3-3h6M6 10h2a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v2a2 2 0 002 2zm10 0h2a2 2 0 002-2V6a2 2 0 00-2-2h-2a2 2 0 00-2 2v2a2 2 0 002 2zM6 20h2a2 2 0 002-2v-2a2 2 0 00-2-2H6a2 2 0 00-2 2v2a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineViewGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z\"}}]})(props);\n};\nexport function HiOutlineViewList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M4 6h16M4 10h16M4 14h16M4 18h16\"}}]})(props);\n};\nexport function HiOutlineVolumeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M17 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2\"}}]})(props);\n};\nexport function HiOutlineVolumeUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z\"}}]})(props);\n};\nexport function HiOutlineWifi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M8.111 16.404a5.5 5.5 0 017.778 0M12 20h.01m-7.08-7.071c3.904-3.905 10.236-3.905 14.141 0M1.394 9.393c5.857-5.857 15.355-5.857 21.213 0\"}}]})(props);\n};\nexport function HiOutlineXCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M6 18L18 6M6 6l12 12\"}}]})(props);\n};\nexport function HiOutlineZoomIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0zM10 7v3m0 0v3m0-3h3m-3 0H7\"}}]})(props);\n};\nexport function HiOutlineZoomOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"strokeWidth\":\"2\",\"stroke\":\"currentColor\",\"aria-hidden\":\"true\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0zM13 10H7\"}}]})(props);\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from \"react\";\nimport { IconContext, DefaultContext } from \"./iconContext\";\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\nexport function GenIcon(data) {\n // eslint-disable-next-line react/display-name\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function (conf) {\n var attr = props.attr,\n size = props.size,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + \" \" : \"\") + props.className;\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign(__assign({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}","import React from \"react\";\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","export var IconsManifest = [\n {\n \"id\": \"ci\",\n \"name\": \"Circum Icons\",\n \"projectUrl\": \"https://circumicons.com/\",\n \"license\": \"MPL-2.0 license\",\n \"licenseUrl\": \"https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE\"\n },\n {\n \"id\": \"fa\",\n \"name\": \"Font Awesome 5\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n },\n {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n },\n {\n \"id\": \"lu\",\n \"name\": \"Lucide\",\n \"projectUrl\": \"https://lucide.dev/\",\n \"license\": \"ISC\",\n \"licenseUrl\": \"https://github.com/lucide-icons/lucide/blob/main/LICENSE\"\n },\n {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n },\n {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n },\n {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"hi2\",\n \"name\": \"Heroicons 2\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n },\n {\n \"id\": \"sl\",\n \"name\": \"Simple Line Icons\",\n \"projectUrl\": \"https://thesabbir.github.io/simple-line-icons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://github.com/Keyamoon/IcoMoon-Free/blob/master/License.txt\"\n },\n {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://github.com/atisawd/boxicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"tfi\",\n \"name\": \"Themify Icons\",\n \"projectUrl\": \"https://github.com/lykmapipo/themify-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/thecreation/standard-icons/blob/master/modules/themify-icons/LICENSE\"\n },\n {\n \"id\": \"rx\",\n \"name\": \"Radix Icons\",\n \"projectUrl\": \"https://icons.radix-ui.com\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/radix-ui/icons/blob/master/LICENSE\"\n }\n]","export * from \"./iconsManifest\";\nexport * from \"./iconBase\";\nexport * from \"./iconContext\";","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie.
\n // or
). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n //
, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = StyleToObject;\nvar inline_style_parser_1 = __importDefault(require(\"inline-style-parser\"));\n/**\n * Parses inline style to object.\n *\n * @param style - Inline style.\n * @param iterator - Iterator.\n * @returns - Style object or null.\n *\n * @example Parsing inline style to object:\n *\n * ```js\n * import parse from 'style-to-object';\n * parse('line-height: 42;'); // { 'line-height': '42' }\n * ```\n */\nfunction StyleToObject(style, iterator) {\n var styleObject = null;\n if (!style || typeof style !== 'string') {\n return styleObject;\n }\n var declarations = (0, inline_style_parser_1.default)(style);\n var hasIterator = typeof iterator === 'function';\n declarations.forEach(function (declaration) {\n if (declaration.type !== 'declaration') {\n return;\n }\n var property = declaration.property, value = declaration.value;\n if (hasIterator) {\n iterator(property, value, declaration);\n }\n else if (value) {\n styleObject = styleObject || {};\n styleObject[property] = value;\n }\n });\n return styleObject;\n}\n//# sourceMappingURL=index.js.map","module.exports = window[\"React\"];","module.exports = window[\"moment\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst env = typeof self === 'object' ? self : globalThis;\n\nconst deserializer = ($, _) => {\n const as = (out, index) => {\n $.set(index, out);\n return out;\n };\n\n const unpair = index => {\n if ($.has(index))\n return $.get(index);\n\n const [type, value] = _[index];\n switch (type) {\n case PRIMITIVE:\n case VOID:\n return as(value, index);\n case ARRAY: {\n const arr = as([], index);\n for (const index of value)\n arr.push(unpair(index));\n return arr;\n }\n case OBJECT: {\n const object = as({}, index);\n for (const [key, index] of value)\n object[unpair(key)] = unpair(index);\n return object;\n }\n case DATE:\n return as(new Date(value), index);\n case REGEXP: {\n const {source, flags} = value;\n return as(new RegExp(source, flags), index);\n }\n case MAP: {\n const map = as(new Map, index);\n for (const [key, index] of value)\n map.set(unpair(key), unpair(index));\n return map;\n }\n case SET: {\n const set = as(new Set, index);\n for (const index of value)\n set.add(unpair(index));\n return set;\n }\n case ERROR: {\n const {name, message} = value;\n return as(new env[name](message), index);\n }\n case BIGINT:\n return as(BigInt(value), index);\n case 'BigInt':\n return as(Object(BigInt(value)), index);\n }\n return as(new env[type](value), index);\n };\n\n return unpair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns a deserialized value from a serialized array of Records.\n * @param {Record[]} serialized a previously serialized value.\n * @returns {any}\n */\nexport const deserialize = serialized => deserializer(new Map, serialized)(0);\n","import {deserialize} from './deserialize.js';\nimport {serialize} from './serialize.js';\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} any a serializable value.\n * @param {{transfer?: any[], json?: boolean, lossy?: boolean}?} options an object with\n * a transfer option (ignored when polyfilled) and/or non standard fields that\n * fallback to the polyfill if present.\n * @returns {Record[]}\n */\nexport default typeof structuredClone === \"function\" ?\n /* c8 ignore start */\n (any, options) => (\n options && ('json' in options || 'lossy' in options) ?\n deserialize(serialize(any, options)) : structuredClone(any)\n ) :\n (any, options) => deserialize(serialize(any, options));\n /* c8 ignore stop */\n\nexport {deserialize, serialize};\n","import {\n VOID, PRIMITIVE,\n ARRAY, OBJECT,\n DATE, REGEXP, MAP, SET,\n ERROR, BIGINT\n} from './types.js';\n\nconst EMPTY = '';\n\nconst {toString} = {};\nconst {keys} = Object;\n\nconst typeOf = value => {\n const type = typeof value;\n if (type !== 'object' || !value)\n return [PRIMITIVE, type];\n\n const asString = toString.call(value).slice(8, -1);\n switch (asString) {\n case 'Array':\n return [ARRAY, EMPTY];\n case 'Object':\n return [OBJECT, EMPTY];\n case 'Date':\n return [DATE, EMPTY];\n case 'RegExp':\n return [REGEXP, EMPTY];\n case 'Map':\n return [MAP, EMPTY];\n case 'Set':\n return [SET, EMPTY];\n }\n\n if (asString.includes('Array'))\n return [ARRAY, asString];\n\n if (asString.includes('Error'))\n return [ERROR, asString];\n\n return [OBJECT, asString];\n};\n\nconst shouldSkip = ([TYPE, type]) => (\n TYPE === PRIMITIVE &&\n (type === 'function' || type === 'symbol')\n);\n\nconst serializer = (strict, json, $, _) => {\n\n const as = (out, value) => {\n const index = _.push(out) - 1;\n $.set(value, index);\n return index;\n };\n\n const pair = value => {\n if ($.has(value))\n return $.get(value);\n\n let [TYPE, type] = typeOf(value);\n switch (TYPE) {\n case PRIMITIVE: {\n let entry = value;\n switch (type) {\n case 'bigint':\n TYPE = BIGINT;\n entry = value.toString();\n break;\n case 'function':\n case 'symbol':\n if (strict)\n throw new TypeError('unable to serialize ' + type);\n entry = null;\n break;\n case 'undefined':\n return as([VOID], value);\n }\n return as([TYPE, entry], value);\n }\n case ARRAY: {\n if (type)\n return as([type, [...value]], value);\n \n const arr = [];\n const index = as([TYPE, arr], value);\n for (const entry of value)\n arr.push(pair(entry));\n return index;\n }\n case OBJECT: {\n if (type) {\n switch (type) {\n case 'BigInt':\n return as([type, value.toString()], value);\n case 'Boolean':\n case 'Number':\n case 'String':\n return as([type, value.valueOf()], value);\n }\n }\n\n if (json && ('toJSON' in value))\n return pair(value.toJSON());\n\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const key of keys(value)) {\n if (strict || !shouldSkip(typeOf(value[key])))\n entries.push([pair(key), pair(value[key])]);\n }\n return index;\n }\n case DATE:\n return as([TYPE, value.toISOString()], value);\n case REGEXP: {\n const {source, flags} = value;\n return as([TYPE, {source, flags}], value);\n }\n case MAP: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const [key, entry] of value) {\n if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n entries.push([pair(key), pair(entry)]);\n }\n return index;\n }\n case SET: {\n const entries = [];\n const index = as([TYPE, entries], value);\n for (const entry of value) {\n if (strict || !shouldSkip(typeOf(entry)))\n entries.push(pair(entry));\n }\n return index;\n }\n }\n\n const {message} = value;\n return as([TYPE, {name: type, message}], value);\n };\n\n return pair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} value a serializable value.\n * @param {{json?: boolean, lossy?: boolean}?} options an object with a `lossy` or `json` property that,\n * if `true`, will not throw errors on incompatible types, and behave more\n * like JSON stringify would behave. Symbol and Function will be discarded.\n * @returns {Record[]}\n */\n export const serialize = (value, {json, lossy} = {}) => {\n const _ = [];\n return serializer(!(json || lossy), !!json, new Map, _)(value), _;\n};\n","export const VOID = -1;\nexport const PRIMITIVE = 0;\nexport const ARRAY = 1;\nexport const OBJECT = 2;\nexport const DATE = 3;\nexport const REGEXP = 4;\nexport const MAP = 5;\nexport const SET = 6;\nexport const ERROR = 7;\nexport const BIGINT = 8;\n// export const SYMBOL = 9;\n","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/// \n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string|false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const char = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return char === characterReference ? false : char\n}\n","var has = Object.prototype.hasOwnProperty;\n\nfunction find(iter, tar, key) {\n\tfor (key of iter.keys()) {\n\t\tif (dequal(key, tar)) return key;\n\t}\n}\n\nexport function dequal(foo, bar) {\n\tvar ctor, len, tmp;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ctor === Set) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len;\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!bar.has(tmp)) return false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === Map) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len[0];\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!dequal(len[1], bar.get(tmp))) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === ArrayBuffer) {\n\t\t\tfoo = new Uint8Array(foo);\n\t\t\tbar = new Uint8Array(bar);\n\t\t} else if (ctor === DataView) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo.getInt8(len) === bar.getInt8(len));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ArrayBuffer.isView(foo)) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo[len] === bar[len]);\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n","import {dequal} from 'dequal'\n\n/**\n * @type {Set}\n */\nconst codesWarned = new Set()\n\nclass AssertionError extends Error {\n name = /** @type {const} */ ('Assertion')\n code = /** @type {const} */ ('ERR_ASSERTION')\n\n /**\n * Create an assertion error.\n *\n * @param {string} message\n * Message explaining error.\n * @param {unknown} actual\n * Value.\n * @param {unknown} expected\n * Baseline.\n * @param {string} operator\n * Name of equality operation.\n * @param {boolean} generated\n * Whether `message` is a custom message or not\n * @returns\n * Instance.\n */\n // eslint-disable-next-line max-params\n constructor(message, actual, expected, operator, generated) {\n super(message)\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor)\n }\n\n /**\n * @type {unknown}\n */\n this.actual = actual\n\n /**\n * @type {unknown}\n */\n this.expected = expected\n\n /**\n * @type {boolean}\n */\n this.generated = generated\n\n /**\n * @type {string}\n */\n this.operator = operator\n }\n}\n\nclass DeprecationError extends Error {\n name = /** @type {const} */ ('DeprecationWarning')\n\n /**\n * Create a deprecation message.\n *\n * @param {string} message\n * Message explaining deprecation.\n * @param {string | undefined} code\n * Deprecation identifier; deprecation messages will be generated only once per code.\n * @returns\n * Instance.\n */\n constructor(message, code) {\n super(message)\n\n /**\n * @type {string | undefined}\n */\n this.code = code\n }\n}\n\n/**\n * Wrap a function or class to show a deprecation message when first called.\n *\n * > 👉 **Important**: only shows a message when the `development` condition is\n * > used, does nothing in production.\n *\n * When the resulting wrapped `fn` is called, emits a warning once to\n * `console.error` (`stderr`).\n * If a code is given, one warning message will be emitted in total per code.\n *\n * @template {Function} T\n * Function or class kind.\n * @param {T} fn\n * Function or class.\n * @param {string} message\n * Message explaining deprecation.\n * @param {string | null | undefined} [code]\n * Deprecation identifier (optional); deprecation messages will be generated\n * only once per code.\n * @returns {T}\n * Wrapped `fn`.\n */\nexport function deprecate(fn, message, code) {\n let warned = false\n\n // The wrapper will keep the same prototype as fn to maintain prototype chain\n Object.setPrototypeOf(deprecated, fn)\n\n // @ts-expect-error: it’s perfect, typescript…\n return deprecated\n\n /**\n * @this {unknown}\n * @param {...Array} args\n * @returns {unknown}\n */\n function deprecated(...args) {\n if (!warned) {\n warned = true\n\n if (typeof code === 'string' && codesWarned.has(code)) {\n // Empty.\n } else {\n console.error(new DeprecationError(message, code || undefined))\n\n if (typeof code === 'string') codesWarned.add(code)\n }\n }\n\n return new.target\n ? Reflect.construct(fn, args, new.target)\n : Reflect.apply(fn, this, args)\n }\n}\n\n/**\n * Assert deep strict equivalence.\n *\n * > 👉 **Important**: only asserts when the `development` condition is used,\n * > does nothing in production.\n *\n * @template {unknown} T\n * Expected kind.\n * @param {unknown} actual\n * Value.\n * @param {T} expected\n * Baseline.\n * @param {Error | string | null | undefined} [message]\n * Message for assertion error (default: `'Expected values to be deeply equal'`).\n * @returns {asserts actual is T}\n * Nothing; throws when `actual` is not deep strict equal to `expected`.\n * @throws {AssertionError}\n * Throws when `actual` is not deep strict equal to `expected`.\n */\nexport function equal(actual, expected, message) {\n assert(\n dequal(actual, expected),\n actual,\n expected,\n 'equal',\n 'Expected values to be deeply equal',\n message\n )\n}\n\n/**\n * Assert if `value` is truthy.\n *\n * > 👉 **Important**: only asserts when the `development` condition is used,\n * > does nothing in production.\n *\n * @param {unknown} value\n * Value to assert.\n * @param {Error | string | null | undefined} [message]\n * Message for assertion error (default: `'Expected value to be truthy'`).\n * @returns {asserts value}\n * Nothing; throws when `value` is falsey.\n * @throws {AssertionError}\n * Throws when `value` is falsey.\n */\nexport function ok(value, message) {\n assert(\n Boolean(value),\n false,\n true,\n 'ok',\n 'Expected value to be truthy',\n message\n )\n}\n\n/**\n * Assert that a code path never happens.\n *\n * > 👉 **Important**: only asserts when the `development` condition is used,\n * > does nothing in production.\n *\n * @param {Error | string | null | undefined} [message]\n * Message for assertion error (default: `'Unreachable'`).\n * @returns {never}\n * Nothing; always throws.\n * @throws {AssertionError}\n * Throws when `value` is falsey.\n */\nexport function unreachable(message) {\n assert(false, false, true, 'ok', 'Unreachable', message)\n}\n\n/**\n * @param {boolean} bool\n * Whether to skip this operation.\n * @param {unknown} actual\n * Actual value.\n * @param {unknown} expected\n * Expected value.\n * @param {string} operator\n * Operator.\n * @param {string} defaultMessage\n * Default message for operation.\n * @param {Error | string | null | undefined} userMessage\n * User-provided message.\n * @returns {asserts bool}\n * Nothing; throws when falsey.\n */\n// eslint-disable-next-line max-params\nfunction assert(bool, actual, expected, operator, defaultMessage, userMessage) {\n if (!bool) {\n throw userMessage instanceof Error\n ? userMessage\n : new AssertionError(\n userMessage || defaultMessage,\n actual,\n expected,\n operator,\n !userMessage\n )\n }\n}\n","/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [jsx=false]\n * Support JSX identifiers (default: `false`).\n */\n\nconst startRe = /[$_\\p{ID_Start}]/u\nconst contRe = /[$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst contReJsx = /[-$_\\u{200C}\\u{200D}\\p{ID_Continue}]/u\nconst nameRe = /^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\nconst nameReJsx = /^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Checks if the given code point can start an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @returns {boolean}\n * Whether `code` can start an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function start(code) {\n return code ? startRe.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given code point can continue an identifier.\n *\n * @param {number | undefined} code\n * Code point to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `code` can continue an identifier.\n */\n// Note: `undefined` is supported so you can pass the result from `''.codePointAt`.\nexport function cont(code, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? contReJsx : contRe\n return code ? re.test(String.fromCodePoint(code)) : false\n}\n\n/**\n * Checks if the given value is a valid identifier name.\n *\n * @param {string} name\n * Identifier to check.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {boolean}\n * Whether `name` can be an identifier.\n */\nexport function name(name, options) {\n const settings = options || emptyOptions\n const re = settings.jsx ? nameReJsx : nameRe\n return re.test(name)\n}\n","/**\n * @import {Identifier, Literal, MemberExpression} from 'estree'\n * @import {Jsx, JsxDev, Options, Props} from 'hast-util-to-jsx-runtime'\n * @import {Element, Nodes, Parents, Root, Text} from 'hast'\n * @import {MdxFlowExpressionHast, MdxTextExpressionHast} from 'mdast-util-mdx-expression'\n * @import {MdxJsxFlowElementHast, MdxJsxTextElementHast} from 'mdast-util-mdx-jsx'\n * @import {MdxjsEsmHast} from 'mdast-util-mdxjs-esm'\n * @import {Position} from 'unist'\n * @import {Child, Create, Field, State, Style} from './types.js'\n */\n\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {ok as assert} from 'devlop'\nimport {name as isIdentifierName} from 'estree-util-is-identifier-name'\nimport {whitespace} from 'hast-util-whitespace'\nimport {find, hastToReact, html, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport styleToObject from 'style-to-object'\nimport {pointStart} from 'unist-util-position'\nimport {VFileMessage} from 'vfile-message'\n\n// To do: next major: `Object.hasOwn`.\nconst own = {}.hasOwnProperty\n\n/** @type {Map} */\nconst emptyMap = new Map()\n\nconst cap = /[A-Z]/g\nconst dashSomething = /-([a-z])/g\n\n// `react-dom` triggers a warning for *any* white space in tables.\n// To follow GFM, `mdast-util-to-hast` injects line endings between elements.\n// Other tools might do so too, but they don’t do here, so we remove all of\n// that.\n\n// See: .\n// See: .\n// See: .\n// See: .\n// See: .\n// See: .\nconst tableElements = new Set(['table', 'tbody', 'thead', 'tfoot', 'tr'])\n\nconst tableCellElement = new Set(['td', 'th'])\n\nconst docs = 'https://github.com/syntax-tree/hast-util-to-jsx-runtime'\n\n/**\n * Transform a hast tree to preact, react, solid, svelte, vue, etc.,\n * with an automatic JSX runtime.\n *\n * @param {Nodes} tree\n * Tree to transform.\n * @param {Options} options\n * Configuration (required).\n * @returns {JSX.Element}\n * JSX element.\n */\n\nexport function toJsxRuntime(tree, options) {\n if (!options || options.Fragment === undefined) {\n throw new TypeError('Expected `Fragment` in options')\n }\n\n const filePath = options.filePath || undefined\n /** @type {Create} */\n let create\n\n if (options.development) {\n if (typeof options.jsxDEV !== 'function') {\n throw new TypeError(\n 'Expected `jsxDEV` in options when `development: true`'\n )\n }\n\n create = developmentCreate(filePath, options.jsxDEV)\n } else {\n if (typeof options.jsx !== 'function') {\n throw new TypeError('Expected `jsx` in production options')\n }\n\n if (typeof options.jsxs !== 'function') {\n throw new TypeError('Expected `jsxs` in production options')\n }\n\n create = productionCreate(filePath, options.jsx, options.jsxs)\n }\n\n /** @type {State} */\n const state = {\n Fragment: options.Fragment,\n ancestors: [],\n components: options.components || {},\n create,\n elementAttributeNameCase: options.elementAttributeNameCase || 'react',\n evaluater: options.createEvaluater ? options.createEvaluater() : undefined,\n filePath,\n ignoreInvalidStyle: options.ignoreInvalidStyle || false,\n passKeys: options.passKeys !== false,\n passNode: options.passNode || false,\n schema: options.space === 'svg' ? svg : html,\n stylePropertyNameCase: options.stylePropertyNameCase || 'dom',\n tableCellAlignToStyle: options.tableCellAlignToStyle !== false\n }\n\n const result = one(state, tree, undefined)\n\n // JSX element.\n if (result && typeof result !== 'string') {\n return result\n }\n\n // Text node or something that turned into nothing.\n return state.create(\n tree,\n state.Fragment,\n {children: result || undefined},\n undefined\n )\n}\n\n/**\n * Transform a node.\n *\n * @param {State} state\n * Info passed around.\n * @param {Nodes} node\n * Current node.\n * @param {string | undefined} key\n * Key.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction one(state, node, key) {\n if (node.type === 'element') {\n return element(state, node, key)\n }\n\n if (node.type === 'mdxFlowExpression' || node.type === 'mdxTextExpression') {\n return mdxExpression(state, node)\n }\n\n if (node.type === 'mdxJsxFlowElement' || node.type === 'mdxJsxTextElement') {\n return mdxJsxElement(state, node, key)\n }\n\n if (node.type === 'mdxjsEsm') {\n return mdxEsm(state, node)\n }\n\n if (node.type === 'root') {\n return root(state, node, key)\n }\n\n if (node.type === 'text') {\n return text(state, node)\n }\n}\n\n/**\n * Handle element.\n *\n * @param {State} state\n * Info passed around.\n * @param {Element} node\n * Current node.\n * @param {string | undefined} key\n * Key.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction element(state, node, key) {\n const parentSchema = state.schema\n let schema = parentSchema\n\n if (node.tagName.toLowerCase() === 'svg' && parentSchema.space === 'html') {\n schema = svg\n state.schema = schema\n }\n\n state.ancestors.push(node)\n\n const type = findComponentFromName(state, node.tagName, false)\n const props = createElementProps(state, node)\n let children = createChildren(state, node)\n\n if (tableElements.has(node.tagName)) {\n children = children.filter(function (child) {\n return typeof child === 'string' ? !whitespace(child) : true\n })\n }\n\n addNode(state, props, type, node)\n addChildren(props, children)\n\n // Restore.\n state.ancestors.pop()\n state.schema = parentSchema\n\n return state.create(node, type, props, key)\n}\n\n/**\n * Handle MDX expression.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdxFlowExpressionHast | MdxTextExpressionHast} node\n * Current node.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction mdxExpression(state, node) {\n if (node.data && node.data.estree && state.evaluater) {\n const program = node.data.estree\n const expression = program.body[0]\n assert(expression.type === 'ExpressionStatement')\n\n // Assume result is a child.\n return /** @type {Child | undefined} */ (\n state.evaluater.evaluateExpression(expression.expression)\n )\n }\n\n crashEstree(state, node.position)\n}\n\n/**\n * Handle MDX ESM.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdxjsEsmHast} node\n * Current node.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction mdxEsm(state, node) {\n if (node.data && node.data.estree && state.evaluater) {\n // Assume result is a child.\n return /** @type {Child | undefined} */ (\n state.evaluater.evaluateProgram(node.data.estree)\n )\n }\n\n crashEstree(state, node.position)\n}\n\n/**\n * Handle MDX JSX.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdxJsxFlowElementHast | MdxJsxTextElementHast} node\n * Current node.\n * @param {string | undefined} key\n * Key.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction mdxJsxElement(state, node, key) {\n const parentSchema = state.schema\n let schema = parentSchema\n\n if (node.name === 'svg' && parentSchema.space === 'html') {\n schema = svg\n state.schema = schema\n }\n\n state.ancestors.push(node)\n\n const type =\n node.name === null\n ? state.Fragment\n : findComponentFromName(state, node.name, true)\n const props = createJsxElementProps(state, node)\n const children = createChildren(state, node)\n\n addNode(state, props, type, node)\n addChildren(props, children)\n\n // Restore.\n state.ancestors.pop()\n state.schema = parentSchema\n\n return state.create(node, type, props, key)\n}\n\n/**\n * Handle root.\n *\n * @param {State} state\n * Info passed around.\n * @param {Root} node\n * Current node.\n * @param {string | undefined} key\n * Key.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction root(state, node, key) {\n /** @type {Props} */\n const props = {}\n\n addChildren(props, createChildren(state, node))\n\n return state.create(node, state.Fragment, props, key)\n}\n\n/**\n * Handle text.\n *\n * @param {State} _\n * Info passed around.\n * @param {Text} node\n * Current node.\n * @returns {Child | undefined}\n * Child, optional.\n */\nfunction text(_, node) {\n return node.value\n}\n\n/**\n * Add `node` to props.\n *\n * @param {State} state\n * Info passed around.\n * @param {Props} props\n * Props.\n * @param {unknown} type\n * Type.\n * @param {Element | MdxJsxFlowElementHast | MdxJsxTextElementHast} node\n * Node.\n * @returns {undefined}\n * Nothing.\n */\nfunction addNode(state, props, type, node) {\n // If this is swapped out for a component:\n if (typeof type !== 'string' && type !== state.Fragment && state.passNode) {\n props.node = node\n }\n}\n\n/**\n * Add children to props.\n *\n * @param {Props} props\n * Props.\n * @param {Array} children\n * Children.\n * @returns {undefined}\n * Nothing.\n */\nfunction addChildren(props, children) {\n if (children.length > 0) {\n const value = children.length > 1 ? children : children[0]\n\n if (value) {\n props.children = value\n }\n }\n}\n\n/**\n * @param {string | undefined} _\n * Path to file.\n * @param {Jsx} jsx\n * Dynamic.\n * @param {Jsx} jsxs\n * Static.\n * @returns {Create}\n * Create a production element.\n */\nfunction productionCreate(_, jsx, jsxs) {\n return create\n /** @type {Create} */\n function create(_, type, props, key) {\n // Only an array when there are 2 or more children.\n const isStaticChildren = Array.isArray(props.children)\n const fn = isStaticChildren ? jsxs : jsx\n return key ? fn(type, props, key) : fn(type, props)\n }\n}\n\n/**\n * @param {string | undefined} filePath\n * Path to file.\n * @param {JsxDev} jsxDEV\n * Development.\n * @returns {Create}\n * Create a development element.\n */\nfunction developmentCreate(filePath, jsxDEV) {\n return create\n /** @type {Create} */\n function create(node, type, props, key) {\n // Only an array when there are 2 or more children.\n const isStaticChildren = Array.isArray(props.children)\n const point = pointStart(node)\n return jsxDEV(\n type,\n props,\n key,\n isStaticChildren,\n {\n columnNumber: point ? point.column - 1 : undefined,\n fileName: filePath,\n lineNumber: point ? point.line : undefined\n },\n undefined\n )\n }\n}\n\n/**\n * Create props from an element.\n *\n * @param {State} state\n * Info passed around.\n * @param {Element} node\n * Current element.\n * @returns {Props}\n * Props.\n */\nfunction createElementProps(state, node) {\n /** @type {Props} */\n const props = {}\n /** @type {string | undefined} */\n let alignValue\n /** @type {string} */\n let prop\n\n for (prop in node.properties) {\n if (prop !== 'children' && own.call(node.properties, prop)) {\n const result = createProperty(state, prop, node.properties[prop])\n\n if (result) {\n const [key, value] = result\n\n if (\n state.tableCellAlignToStyle &&\n key === 'align' &&\n typeof value === 'string' &&\n tableCellElement.has(node.tagName)\n ) {\n alignValue = value\n } else {\n props[key] = value\n }\n }\n }\n }\n\n if (alignValue) {\n // Assume style is an object.\n const style = /** @type {Style} */ (props.style || (props.style = {}))\n style[state.stylePropertyNameCase === 'css' ? 'text-align' : 'textAlign'] =\n alignValue\n }\n\n return props\n}\n\n/**\n * Create props from a JSX element.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdxJsxFlowElementHast | MdxJsxTextElementHast} node\n * Current JSX element.\n * @returns {Props}\n * Props.\n */\nfunction createJsxElementProps(state, node) {\n /** @type {Props} */\n const props = {}\n\n for (const attribute of node.attributes) {\n if (attribute.type === 'mdxJsxExpressionAttribute') {\n if (attribute.data && attribute.data.estree && state.evaluater) {\n const program = attribute.data.estree\n const expression = program.body[0]\n assert(expression.type === 'ExpressionStatement')\n const objectExpression = expression.expression\n assert(objectExpression.type === 'ObjectExpression')\n const property = objectExpression.properties[0]\n assert(property.type === 'SpreadElement')\n\n Object.assign(\n props,\n state.evaluater.evaluateExpression(property.argument)\n )\n } else {\n crashEstree(state, node.position)\n }\n } else {\n // For JSX, the author is responsible of passing in the correct values.\n const name = attribute.name\n /** @type {unknown} */\n let value\n\n if (attribute.value && typeof attribute.value === 'object') {\n if (\n attribute.value.data &&\n attribute.value.data.estree &&\n state.evaluater\n ) {\n const program = attribute.value.data.estree\n const expression = program.body[0]\n assert(expression.type === 'ExpressionStatement')\n value = state.evaluater.evaluateExpression(expression.expression)\n } else {\n crashEstree(state, node.position)\n }\n } else {\n value = attribute.value === null ? true : attribute.value\n }\n\n // Assume a prop.\n props[name] = /** @type {Props[keyof Props]} */ (value)\n }\n }\n\n return props\n}\n\n/**\n * Create children.\n *\n * @param {State} state\n * Info passed around.\n * @param {Parents} node\n * Current element.\n * @returns {Array}\n * Children.\n */\nfunction createChildren(state, node) {\n /** @type {Array} */\n const children = []\n let index = -1\n /** @type {Map} */\n // Note: test this when Solid doesn’t want to merge my upcoming PR.\n /* c8 ignore next */\n const countsByName = state.passKeys ? new Map() : emptyMap\n\n while (++index < node.children.length) {\n const child = node.children[index]\n /** @type {string | undefined} */\n let key\n\n if (state.passKeys) {\n const name =\n child.type === 'element'\n ? child.tagName\n : child.type === 'mdxJsxFlowElement' ||\n child.type === 'mdxJsxTextElement'\n ? child.name\n : undefined\n\n if (name) {\n const count = countsByName.get(name) || 0\n key = name + '-' + count\n countsByName.set(name, count + 1)\n }\n }\n\n const result = one(state, child, key)\n if (result !== undefined) children.push(result)\n }\n\n return children\n}\n\n/**\n * Handle a property.\n *\n * @param {State} state\n * Info passed around.\n * @param {string} prop\n * Key.\n * @param {Array | boolean | number | string | null | undefined} value\n * hast property value.\n * @returns {Field | undefined}\n * Field for runtime, optional.\n */\nfunction createProperty(state, prop, value) {\n const info = find(state.schema, prop)\n\n // Ignore nullish and `NaN` values.\n if (\n value === null ||\n value === undefined ||\n (typeof value === 'number' && Number.isNaN(value))\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n // React only accepts `style` as object.\n if (info.property === 'style') {\n let styleObject =\n typeof value === 'object' ? value : parseStyle(state, String(value))\n\n if (state.stylePropertyNameCase === 'css') {\n styleObject = transformStylesToCssCasing(styleObject)\n }\n\n return ['style', styleObject]\n }\n\n return [\n state.elementAttributeNameCase === 'react' && info.space\n ? hastToReact[info.property] || info.property\n : info.attribute,\n value\n ]\n}\n\n/**\n * Parse a CSS declaration to an object.\n *\n * @param {State} state\n * Info passed around.\n * @param {string} value\n * CSS declarations.\n * @returns {Style}\n * Properties.\n * @throws\n * Throws `VFileMessage` when CSS cannot be parsed.\n */\nfunction parseStyle(state, value) {\n /** @type {Style} */\n const result = {}\n\n try {\n styleToObject(value, replacer)\n } catch (error) {\n if (!state.ignoreInvalidStyle) {\n const cause = /** @type {Error} */ (error)\n const message = new VFileMessage('Cannot parse `style` attribute', {\n ancestors: state.ancestors,\n cause,\n ruleId: 'style',\n source: 'hast-util-to-jsx-runtime'\n })\n message.file = state.filePath || undefined\n message.url = docs + '#cannot-parse-style-attribute'\n\n throw message\n }\n }\n\n return result\n\n /**\n * Add a CSS property (normal, so with dashes) to `result` as a DOM CSS\n * property.\n *\n * @param {string} name\n * Key.\n * @param {string} value\n * Value\n * @returns {undefined}\n * Nothing.\n */\n function replacer(name, value) {\n let key = name\n\n if (key.slice(0, 2) !== '--') {\n if (key.slice(0, 4) === '-ms-') key = 'ms-' + key.slice(4)\n key = key.replace(dashSomething, toCamel)\n }\n\n result[key] = value\n }\n}\n\n/**\n * Create a JSX name from a string.\n *\n * @param {State} state\n * To do.\n * @param {string} name\n * Name.\n * @param {boolean} allowExpression\n * Allow member expressions and identifiers.\n * @returns {unknown}\n * To do.\n */\nfunction findComponentFromName(state, name, allowExpression) {\n /** @type {Identifier | Literal | MemberExpression} */\n let result\n\n if (!allowExpression) {\n result = {type: 'Literal', value: name}\n } else if (name.includes('.')) {\n const identifiers = name.split('.')\n let index = -1\n /** @type {Identifier | Literal | MemberExpression | undefined} */\n let node\n\n while (++index < identifiers.length) {\n /** @type {Identifier | Literal} */\n const prop = isIdentifierName(identifiers[index])\n ? {type: 'Identifier', name: identifiers[index]}\n : {type: 'Literal', value: identifiers[index]}\n node = node\n ? {\n type: 'MemberExpression',\n object: node,\n property: prop,\n computed: Boolean(index && prop.type === 'Literal'),\n optional: false\n }\n : prop\n }\n\n assert(node, 'always a result')\n result = node\n } else {\n result =\n isIdentifierName(name) && !/^[a-z]/.test(name)\n ? {type: 'Identifier', name}\n : {type: 'Literal', value: name}\n }\n\n // Only literals can be passed in `components` currently.\n // No identifiers / member expressions.\n if (result.type === 'Literal') {\n const name = /** @type {keyof JSX.IntrinsicElements} */ (result.value)\n\n return own.call(state.components, name) ? state.components[name] : name\n }\n\n // Assume component.\n if (state.evaluater) {\n return state.evaluater.evaluateExpression(result)\n }\n\n crashEstree(state)\n}\n\n/**\n * @param {State} state\n * @param {Position | undefined} [place]\n * @returns {never}\n */\nfunction crashEstree(state, place) {\n const message = new VFileMessage(\n 'Cannot handle MDX estrees without `createEvaluater`',\n {\n ancestors: state.ancestors,\n place,\n ruleId: 'mdx-estree',\n source: 'hast-util-to-jsx-runtime'\n }\n )\n message.file = state.filePath || undefined\n message.url = docs + '#cannot-handle-mdx-estrees-without-createevaluater'\n\n throw message\n}\n\n/**\n * Transform a DOM casing style object to a CSS casing style object.\n *\n * @param {Style} domCasing\n * @returns {Style}\n */\nfunction transformStylesToCssCasing(domCasing) {\n /** @type {Style} */\n const cssCasing = {}\n /** @type {string} */\n let from\n\n for (from in domCasing) {\n if (own.call(domCasing, from)) {\n cssCasing[transformStyleToCssCasing(from)] = domCasing[from]\n }\n }\n\n return cssCasing\n}\n\n/**\n * Transform a DOM casing style field to a CSS casing style field.\n *\n * @param {string} from\n * @returns {string}\n */\nfunction transformStyleToCssCasing(from) {\n let to = from.replace(cap, toDash)\n // Handle `ms-xxx` -> `-ms-xxx`.\n if (to.slice(0, 3) === 'ms-') to = '-' + to\n return to\n}\n\n/**\n * Make `$1` capitalized.\n *\n * @param {string} _\n * Whatever.\n * @param {string} $1\n * Single ASCII alphabetical.\n * @returns {string}\n * Capitalized `$1`.\n */\nfunction toCamel(_, $1) {\n return $1.toUpperCase()\n}\n\n/**\n * Make `$0` dash cased.\n *\n * @param {string} $0\n * Capitalized ASCII leter.\n * @returns {string}\n * Dash and lower letter.\n */\nfunction toDash($0) {\n return '-' + $0.toLowerCase()\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See .\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n * Thing to check (`Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n * whose `value` field is checked.\n */\nexport function whitespace(thing) {\n return typeof thing === 'object'\n ? thing.type === 'text'\n ? empty(thing.value)\n : false\n : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n return value.replace(re, '') === ''\n}\n","/**\n * HTML URL properties.\n *\n * Each key is a property name and each value is a list of tag names it applies\n * to or `null` if it applies to all elements.\n *\n * @type {Record | null>}\n */\nexport const urlAttributes = {\n action: ['form'],\n cite: ['blockquote', 'del', 'ins', 'q'],\n data: ['object'],\n formAction: ['button', 'input'],\n href: ['a', 'area', 'base', 'link'],\n icon: ['menuitem'],\n itemId: null,\n manifest: ['html'],\n ping: ['a', 'area'],\n poster: ['video'],\n src: [\n 'audio',\n 'embed',\n 'iframe',\n 'img',\n 'input',\n 'script',\n 'source',\n 'track',\n 'video'\n ]\n}\n","/**\n * @import {\n * Break,\n * Blockquote,\n * Code,\n * Definition,\n * Emphasis,\n * Heading,\n * Html,\n * Image,\n * InlineCode,\n * Link,\n * ListItem,\n * List,\n * Nodes,\n * Paragraph,\n * PhrasingContent,\n * ReferenceType,\n * Root,\n * Strong,\n * Text,\n * ThematicBreak\n * } from 'mdast'\n * @import {\n * Encoding,\n * Event,\n * Token,\n * Value\n * } from 'micromark-util-types'\n * @import {Point} from 'unist'\n * @import {\n * CompileContext,\n * CompileData,\n * Config,\n * Extension,\n * Handle,\n * OnEnterError,\n * Options\n * } from './types.js'\n */\n\nimport {ok as assert} from 'devlop'\nimport {toString} from 'mdast-util-to-string'\nimport {parse, postprocess, preprocess} from 'micromark'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {decodeString} from 'micromark-util-decode-string'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {codes, constants, types} from 'micromark-util-symbol'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Turn markdown into a syntax tree.\n *\n * @overload\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @overload\n * @param {Value} value\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @param {Value} value\n * Markdown to parse.\n * @param {Encoding | Options | null | undefined} [encoding]\n * Character encoding for when `value` is `Buffer`.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {Root}\n * mdast tree.\n */\nexport function fromMarkdown(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n\n return compiler(options)(\n postprocess(\n parse(options)\n .document()\n .write(preprocess()(value, encoding, true))\n )\n )\n}\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n characterReference: onexitcharacterreference,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n }\n\n configure(config, (options || {}).mdastExtensions || [])\n\n /** @type {CompileData} */\n const data = {}\n\n return compile\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {type: 'root', children: []}\n /** @type {Omit} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n data\n }\n /** @type {Array} */\n const listStack = []\n let index = -1\n\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === types.listOrdered ||\n events[index][1].type === types.listUnordered\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n const tail = listStack.pop()\n assert(typeof tail === 'number', 'expected list ot be open')\n index = prepareList(events, tail, index)\n }\n }\n }\n\n index = -1\n\n while (++index < events.length) {\n const handler = config[events[index][0]]\n\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n Object.assign(\n {sliceSerialize: events[index][2].sliceSerialize},\n context\n ),\n events[index][1]\n )\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1]\n const handler = tail[1] || defaultOnError\n handler.call(context, undefined, tail[0])\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(\n events.length > 0 ? events[0][1].start : {line: 1, column: 1, offset: 0}\n ),\n end: point(\n events.length > 0\n ? events[events.length - 2][1].end\n : {line: 1, column: 1, offset: 0}\n )\n }\n\n // Call transforms.\n index = -1\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n\n return tree\n }\n\n /**\n * @param {Array} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1\n let containerBalance = -1\n let listSpread = false\n /** @type {Token | undefined} */\n let listItem\n /** @type {number | undefined} */\n let lineIndex\n /** @type {number | undefined} */\n let firstBlankLineIndex\n /** @type {boolean | undefined} */\n let atMarker\n\n while (++index <= length) {\n const event = events[index]\n\n switch (event[1].type) {\n case types.listUnordered:\n case types.listOrdered:\n case types.blockQuote: {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n\n atMarker = undefined\n\n break\n }\n\n case types.lineEndingBlank: {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n\n atMarker = undefined\n }\n\n break\n }\n\n case types.linePrefix:\n case types.listItemValue:\n case types.listItemMarker:\n case types.listItemPrefix:\n case types.listItemPrefixWhitespace: {\n // Empty.\n\n break\n }\n\n default: {\n atMarker = undefined\n }\n }\n\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === types.listItemPrefix) ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === types.listUnordered ||\n event[1].type === types.listOrdered))\n ) {\n if (listItem) {\n let tailIndex = index\n lineIndex = undefined\n\n while (tailIndex--) {\n const tailEvent = events[tailIndex]\n\n if (\n tailEvent[1].type === types.lineEnding ||\n tailEvent[1].type === types.lineEndingBlank\n ) {\n if (tailEvent[0] === 'exit') continue\n\n if (lineIndex) {\n events[lineIndex][1].type = types.lineEndingBlank\n listSpread = true\n }\n\n tailEvent[1].type = types.lineEnding\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === types.linePrefix ||\n tailEvent[1].type === types.blockQuotePrefix ||\n tailEvent[1].type === types.blockQuotePrefixWhitespace ||\n tailEvent[1].type === types.blockQuoteMarker ||\n tailEvent[1].type === types.listItemIndent\n ) {\n // Empty\n } else {\n break\n }\n }\n\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n listItem._spread = true\n }\n\n // Fix position.\n listItem.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n }\n\n // Create a new list item.\n if (event[1].type === types.listItemPrefix) {\n /** @type {Token} */\n const item = {\n type: 'listItem',\n _spread: false,\n start: Object.assign({}, event[1].start),\n // @ts-expect-error: we’ll add `end` in a second.\n end: undefined\n }\n listItem = item\n events.splice(index, 0, ['enter', item, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n }\n\n events[start][1]._spread = listSpread\n return length\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Nodes} create\n * Create a node.\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n\n /**\n * @type {CompileContext['buffer']}\n */\n function buffer() {\n this.stack.push({type: 'fragment', children: []})\n }\n\n /**\n * @type {CompileContext['enter']}\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1]\n assert(parent, 'expected `parent`')\n assert('children' in parent, 'expected `parent`')\n /** @type {Array} */\n const siblings = parent.children\n siblings.push(node)\n this.stack.push(node)\n this.tokenStack.push([token, errorHandler || undefined])\n node.position = {\n start: point(token.start),\n // @ts-expect-error: `end` will be patched later.\n end: undefined\n }\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n\n /**\n * @type {CompileContext['exit']}\n */\n function exit(token, onExitError) {\n const node = this.stack.pop()\n assert(node, 'expected `node`')\n const open = this.tokenStack.pop()\n\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({start: token.start, end: token.end}) +\n '): it’s not open'\n )\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0])\n } else {\n const handler = open[1] || defaultOnError\n handler.call(this, token, open[0])\n }\n }\n\n assert(node.type !== 'fragment', 'unexpected fragment `exit`ed')\n assert(node.position, 'expected `position` to be defined')\n node.position.end = point(token.end)\n }\n\n /**\n * @type {CompileContext['resume']}\n */\n function resume() {\n return toString(this.stack.pop())\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n this.data.expectingFirstListItemValue = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (this.data.expectingFirstListItemValue) {\n const ancestor = this.stack[this.stack.length - 2]\n assert(ancestor, 'expected nodes on stack')\n assert(ancestor.type === 'list', 'expected list on stack')\n ancestor.start = Number.parseInt(\n this.sliceSerialize(token),\n constants.numericBaseDecimal\n )\n this.data.expectingFirstListItemValue = undefined\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'code', 'expected code on stack')\n node.lang = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'code', 'expected code on stack')\n node.meta = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (this.data.flowCodeInside) return\n this.buffer()\n this.data.flowCodeInside = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'code', 'expected code on stack')\n\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n this.data.flowCodeInside = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'code', 'expected code on stack')\n\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'definition', 'expected definition on stack')\n\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'definition', 'expected definition on stack')\n\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'definition', 'expected definition on stack')\n\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'heading', 'expected heading on stack')\n\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length\n\n assert(\n depth === 1 ||\n depth === 2 ||\n depth === 3 ||\n depth === 4 ||\n depth === 5 ||\n depth === 6,\n 'expected `depth` between `1` and `6`'\n )\n\n node.depth = depth\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n this.data.setextHeadingSlurpLineEnding = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'heading', 'expected heading on stack')\n\n node.depth =\n this.sliceSerialize(token).codePointAt(0) === codes.equalsTo ? 1 : 2\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n this.data.setextHeadingSlurpLineEnding = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert('children' in node, 'expected parent on stack')\n /** @type {Array} */\n const siblings = node.children\n\n let tail = siblings[siblings.length - 1]\n\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text()\n tail.position = {\n start: point(token.start),\n // @ts-expect-error: we’ll add `end` later.\n end: undefined\n }\n siblings.push(tail)\n }\n\n this.stack.push(tail)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop()\n assert(tail, 'expected a `node` to be on the stack')\n assert('value' in tail, 'expected a `literal` to be on the stack')\n assert(tail.position, 'expected `node` to have an open position')\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1]\n assert(context, 'expected `node`')\n\n // If we’re at a hard break, include the line ending in there.\n if (this.data.atHardBreak) {\n assert('children' in context, 'expected `parent`')\n const tail = context.children[context.children.length - 1]\n assert(tail.position, 'expected tail to have a starting position')\n tail.position.end = point(token.end)\n this.data.atHardBreak = undefined\n return\n }\n\n if (\n !this.data.setextHeadingSlurpLineEnding &&\n config.canContainEols.includes(context.type)\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n this.data.atHardBreak = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'html', 'expected html on stack')\n\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'html', 'expected html on stack')\n\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'inlineCode', 'expected inline code on stack')\n\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'link', 'expected link on stack')\n\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut'\n\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n\n this.data.referenceType = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'image', 'expected image on stack')\n\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut'\n\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n\n this.data.referenceType = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token)\n const ancestor = this.stack[this.stack.length - 2]\n assert(ancestor, 'expected ancestor on stack')\n assert(\n ancestor.type === 'image' || ancestor.type === 'link',\n 'expected image or link on stack'\n )\n\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string)\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1]\n assert(fragment, 'expected node on stack')\n assert(fragment.type === 'fragment', 'expected fragment on stack')\n const value = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(\n node.type === 'image' || node.type === 'link',\n 'expected image or link on stack'\n )\n\n // Assume a reference.\n this.data.inReference = true\n\n if (node.type === 'link') {\n /** @type {Array} */\n const children = fragment.children\n\n node.children = children\n } else {\n node.alt = value\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(\n node.type === 'image' || node.type === 'link',\n 'expected image or link on stack'\n )\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(\n node.type === 'image' || node.type === 'link',\n 'expected image or link on stack'\n )\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n this.data.inReference = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n this.data.referenceType = 'collapsed'\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(\n node.type === 'image' || node.type === 'link',\n 'expected image reference or link reference on stack'\n )\n\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n this.data.referenceType = 'full'\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n assert(\n token.type === 'characterReferenceMarkerNumeric' ||\n token.type === 'characterReferenceMarkerHexadecimal'\n )\n this.data.characterReferenceType = token.type\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token)\n const type = this.data.characterReferenceType\n /** @type {string} */\n let value\n\n if (type) {\n value = decodeNumericCharacterReference(\n data,\n type === types.characterReferenceMarkerNumeric\n ? constants.numericBaseDecimal\n : constants.numericBaseHexadecimal\n )\n this.data.characterReferenceType = undefined\n } else {\n const result = decodeNamedCharacterReference(data)\n assert(result !== false, 'expected reference to decode')\n value = result\n }\n\n const tail = this.stack[this.stack.length - 1]\n assert(tail, 'expected `node`')\n assert('value' in tail, 'expected `node.value`')\n tail.value += value\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreference(token) {\n const tail = this.stack.pop()\n assert(tail, 'expected `node`')\n assert(tail.position, 'expected `node.position`')\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'link', 'expected link on stack')\n\n node.url = this.sliceSerialize(token)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n assert(node, 'expected node on stack')\n assert(node.type === 'link', 'expected link on stack')\n\n node.url = 'mailto:' + this.sliceSerialize(token)\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {type: 'blockquote', children: []}\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {type: 'code', lang: null, meta: null, value: ''}\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {type: 'inlineCode', value: ''}\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {type: 'emphasis', children: []}\n }\n\n /** @returns {Heading} */\n function heading() {\n return {\n type: 'heading',\n // @ts-expect-error `depth` will be set later.\n depth: 0,\n children: []\n }\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {type: 'break'}\n }\n\n /** @returns {Html} */\n function html() {\n return {type: 'html', value: ''}\n }\n\n /** @returns {Image} */\n function image() {\n return {type: 'image', title: null, url: '', alt: null}\n }\n\n /** @returns {Link} */\n function link() {\n return {type: 'link', title: null, url: '', children: []}\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {type: 'paragraph', children: []}\n }\n\n /** @returns {Strong} */\n function strong() {\n return {type: 'strong', children: []}\n }\n\n /** @returns {Text} */\n function text() {\n return {type: 'text', value: ''}\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {type: 'thematicBreak'}\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {line: d.line, column: d.column, offset: d.offset}\n}\n\n/**\n * @param {Config} combined\n * @param {Array | Extension>} extensions\n * @returns {undefined}\n */\nfunction configure(combined, extensions) {\n let index = -1\n\n while (++index < extensions.length) {\n const value = extensions[index]\n\n if (Array.isArray(value)) {\n configure(combined, value)\n } else {\n extension(combined, value)\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {undefined}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key\n\n for (key in extension) {\n if (own.call(extension, key)) {\n switch (key) {\n case 'canContainEols': {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n\n break\n }\n\n case 'transforms': {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n\n break\n }\n\n case 'enter':\n case 'exit': {\n const right = extension[key]\n if (right) {\n Object.assign(combined[key], right)\n }\n\n break\n }\n // No default\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n 'Cannot close `' +\n left.type +\n '` (' +\n stringifyPosition({start: left.start, end: left.end}) +\n '): a different token (`' +\n right.type +\n '`, ' +\n stringifyPosition({start: right.start, end: right.end}) +\n ') is open'\n )\n } else {\n throw new Error(\n 'Cannot close document, a token (`' +\n right.type +\n '`, ' +\n stringifyPosition({start: right.start, end: right.end}) +\n ') is still open'\n )\n }\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('./state.js').State} State\n */\n\n/**\n * @callback FootnoteBackContentTemplate\n * Generate content for the backreference dynamically.\n *\n * For the following markdown:\n *\n * ```markdown\n * Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n * [^remark]: things about remark\n * [^micromark]: things about micromark\n * ```\n *\n * This function will be called with:\n *\n * * `0` and `0` for the backreference from `things about micromark` to\n * `alpha`, as it is the first used definition, and the first call to it\n * * `0` and `1` for the backreference from `things about micromark` to\n * `bravo`, as it is the first used definition, and the second call to it\n * * `1` and `0` for the backreference from `things about remark` to\n * `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {Array | ElementContent | string}\n * Content for the backreference when linking back from definitions to their\n * reference.\n *\n * @callback FootnoteBackLabelTemplate\n * Generate a back label dynamically.\n *\n * For the following markdown:\n *\n * ```markdown\n * Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n * [^remark]: things about remark\n * [^micromark]: things about micromark\n * ```\n *\n * This function will be called with:\n *\n * * `0` and `0` for the backreference from `things about micromark` to\n * `alpha`, as it is the first used definition, and the first call to it\n * * `0` and `1` for the backreference from `things about micromark` to\n * `bravo`, as it is the first used definition, and the second call to it\n * * `1` and `0` for the backreference from `things about remark` to\n * `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {string}\n * Back label to use when linking back from definitions to their reference.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate the default content that GitHub uses on backreferences.\n *\n * @param {number} _\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {Array}\n * Content.\n */\nexport function defaultFootnoteBackContent(_, rereferenceIndex) {\n /** @type {Array} */\n const result = [{type: 'text', value: '↩'}]\n\n if (rereferenceIndex > 1) {\n result.push({\n type: 'element',\n tagName: 'sup',\n properties: {},\n children: [{type: 'text', value: String(rereferenceIndex)}]\n })\n }\n\n return result\n}\n\n/**\n * Generate the default label that GitHub uses on backreferences.\n *\n * @param {number} referenceIndex\n * Index of the definition in the order that they are first referenced,\n * 0-indexed.\n * @param {number} rereferenceIndex\n * Index of calls to the same definition, 0-indexed.\n * @returns {string}\n * Label.\n */\nexport function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n return (\n 'Back to reference ' +\n (referenceIndex + 1) +\n (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n )\n}\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n * Info passed around.\n * @returns {Element | undefined}\n * `section` element or `undefined`.\n */\n// eslint-disable-next-line complexity\nexport function footer(state) {\n const clobberPrefix =\n typeof state.options.clobberPrefix === 'string'\n ? state.options.clobberPrefix\n : 'user-content-'\n const footnoteBackContent =\n state.options.footnoteBackContent || defaultFootnoteBackContent\n const footnoteBackLabel =\n state.options.footnoteBackLabel || defaultFootnoteBackLabel\n const footnoteLabel = state.options.footnoteLabel || 'Footnotes'\n const footnoteLabelTagName = state.options.footnoteLabelTagName || 'h2'\n const footnoteLabelProperties = state.options.footnoteLabelProperties || {\n className: ['sr-only']\n }\n /** @type {Array} */\n const listItems = []\n let referenceIndex = -1\n\n while (++referenceIndex < state.footnoteOrder.length) {\n const definition = state.footnoteById.get(\n state.footnoteOrder[referenceIndex]\n )\n\n if (!definition) {\n continue\n }\n\n const content = state.all(definition)\n const id = String(definition.identifier).toUpperCase()\n const safeId = normalizeUri(id.toLowerCase())\n let rereferenceIndex = 0\n /** @type {Array} */\n const backReferences = []\n const counts = state.footnoteCounts.get(id)\n\n // eslint-disable-next-line no-unmodified-loop-condition\n while (counts !== undefined && ++rereferenceIndex <= counts) {\n if (backReferences.length > 0) {\n backReferences.push({type: 'text', value: ' '})\n }\n\n let children =\n typeof footnoteBackContent === 'string'\n ? footnoteBackContent\n : footnoteBackContent(referenceIndex, rereferenceIndex)\n\n if (typeof children === 'string') {\n children = {type: 'text', value: children}\n }\n\n backReferences.push({\n type: 'element',\n tagName: 'a',\n properties: {\n href:\n '#' +\n clobberPrefix +\n 'fnref-' +\n safeId +\n (rereferenceIndex > 1 ? '-' + rereferenceIndex : ''),\n dataFootnoteBackref: '',\n ariaLabel:\n typeof footnoteBackLabel === 'string'\n ? footnoteBackLabel\n : footnoteBackLabel(referenceIndex, rereferenceIndex),\n className: ['data-footnote-backref']\n },\n children: Array.isArray(children) ? children : [children]\n })\n }\n\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'element' && tail.tagName === 'p') {\n const tailTail = tail.children[tail.children.length - 1]\n if (tailTail && tailTail.type === 'text') {\n tailTail.value += ' '\n } else {\n tail.children.push({type: 'text', value: ' '})\n }\n\n tail.children.push(...backReferences)\n } else {\n content.push(...backReferences)\n }\n\n /** @type {Element} */\n const listItem = {\n type: 'element',\n tagName: 'li',\n properties: {id: clobberPrefix + 'fn-' + safeId},\n children: state.wrap(content, true)\n }\n\n state.patch(definition, listItem)\n\n listItems.push(listItem)\n }\n\n if (listItems.length === 0) {\n return\n }\n\n return {\n type: 'element',\n tagName: 'section',\n properties: {dataFootnotes: true, className: ['footnotes']},\n children: [\n {\n type: 'element',\n tagName: footnoteLabelTagName,\n properties: {\n ...structuredClone(footnoteLabelProperties),\n id: 'footnote-label'\n },\n children: [{type: 'text', value: footnoteLabel}]\n },\n {type: 'text', value: '\\n'},\n {\n type: 'element',\n tagName: 'ol',\n properties: {},\n children: state.wrap(listItems, true)\n },\n {type: 'text', value: '\\n'}\n ]\n }\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `blockquote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Blockquote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function blockquote(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'blockquote',\n properties: {},\n children: state.wrap(state.all(node), true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Code} Code\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n /** @type {Properties} */\n const properties = {}\n\n if (node.lang) {\n properties.className = ['language-' + node.lang]\n }\n\n // Create ``.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `
`.\n  result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n  state.patch(node, result)\n  return result\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `delete` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Delete} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strikethrough(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'del',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `emphasis` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Emphasis} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function emphasis(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'em',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `footnoteReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {FootnoteReference} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function footnoteReference(state, node) {\n  const clobberPrefix =\n    typeof state.options.clobberPrefix === 'string'\n      ? state.options.clobberPrefix\n      : 'user-content-'\n  const id = String(node.identifier).toUpperCase()\n  const safeId = normalizeUri(id.toLowerCase())\n  const index = state.footnoteOrder.indexOf(id)\n  /** @type {number} */\n  let counter\n\n  let reuseCounter = state.footnoteCounts.get(id)\n\n  if (reuseCounter === undefined) {\n    reuseCounter = 0\n    state.footnoteOrder.push(id)\n    counter = state.footnoteOrder.length\n  } else {\n    counter = index + 1\n  }\n\n  reuseCounter += 1\n  state.footnoteCounts.set(id, reuseCounter)\n\n  /** @type {Element} */\n  const link = {\n    type: 'element',\n    tagName: 'a',\n    properties: {\n      href: '#' + clobberPrefix + 'fn-' + safeId,\n      id:\n        clobberPrefix +\n        'fnref-' +\n        safeId +\n        (reuseCounter > 1 ? '-' + reuseCounter : ''),\n      dataFootnoteRef: true,\n      ariaDescribedBy: ['footnote-label']\n    },\n    children: [{type: 'text', value: String(counter)}]\n  }\n  state.patch(node, link)\n\n  /** @type {Element} */\n  const sup = {\n    type: 'element',\n    tagName: 'sup',\n    properties: {},\n    children: [link]\n  }\n  state.patch(node, sup)\n  return state.applyData(node, sup)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `heading` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Heading} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function heading(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'h' + node.depth,\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Html} Html\n * @typedef {import('../state.js').State} State\n * @typedef {import('../../index.js').Raw} Raw\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise\n * nothing).\n *\n * @param {State} state\n *   Info passed around.\n * @param {Html} node\n *   mdast node.\n * @returns {Element | Raw | undefined}\n *   hast node.\n */\nexport function html(state, node) {\n  if (state.options.allowDangerousHtml) {\n    /** @type {Raw} */\n    const result = {type: 'raw', value: node.value}\n    state.patch(node, result)\n    return state.applyData(node, result)\n  }\n\n  return undefined\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `imageReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ImageReference} node\n *   mdast node.\n * @returns {Array | ElementContent}\n *   hast node.\n */\nexport function imageReference(state, node) {\n  const id = String(node.identifier).toUpperCase()\n  const definition = state.definitionById.get(id)\n\n  if (!definition) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(definition.url || ''), alt: node.alt}\n\n  if (definition.title !== null && definition.title !== undefined) {\n    properties.title = definition.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Image} Image\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `image` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Image} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function image(state, node) {\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(node.url)}\n\n  if (node.alt !== null && node.alt !== undefined) {\n    properties.alt = node.alt\n  }\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {tableRow} from './table-row.js'\nimport {tableCell} from './table-cell.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default handlers for nodes.\n *\n * @satisfies {import('../state.js').Handlers}\n */\nexport const handlers = {\n  blockquote,\n  break: hardBreak,\n  code,\n  delete: strikethrough,\n  emphasis,\n  footnoteReference,\n  heading,\n  html,\n  imageReference,\n  image,\n  inlineCode,\n  linkReference,\n  link,\n  listItem,\n  list,\n  paragraph,\n  // @ts-expect-error: root is different, but hard to type.\n  root,\n  strong,\n  table,\n  tableCell,\n  tableRow,\n  text,\n  thematicBreak,\n  toml: ignore,\n  yaml: ignore,\n  definition: ignore,\n  footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n  return undefined\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `inlineCode` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {InlineCode} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function inlineCode(state, node) {\n  /** @type {Text} */\n  const text = {type: 'text', value: node.value.replace(/\\r?\\n|\\r/g, ' ')}\n  state.patch(node, text)\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'code',\n    properties: {},\n    children: [text]\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `linkReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {LinkReference} node\n *   mdast node.\n * @returns {Array | ElementContent}\n *   hast node.\n */\nexport function linkReference(state, node) {\n  const id = String(node.identifier).toUpperCase()\n  const definition = state.definitionById.get(id)\n\n  if (!definition) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(definition.url || '')}\n\n  if (definition.title !== null && definition.title !== undefined) {\n    properties.title = definition.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Link} Link\n * @typedef {import('../state.js').State} State\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `link` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Link} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function link(state, node) {\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(node.url)}\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ListItem} node\n *   mdast node.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {Element}\n *   hast node.\n */\nexport function listItem(state, node, parent) {\n  const results = state.all(node)\n  const loose = parent ? listLoose(parent) : listItemLoose(node)\n  /** @type {Properties} */\n  const properties = {}\n  /** @type {Array} */\n  const children = []\n\n  if (typeof node.checked === 'boolean') {\n    const head = results[0]\n    /** @type {Element} */\n    let paragraph\n\n    if (head && head.type === 'element' && head.tagName === 'p') {\n      paragraph = head\n    } else {\n      paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n      results.unshift(paragraph)\n    }\n\n    if (paragraph.children.length > 0) {\n      paragraph.children.unshift({type: 'text', value: ' '})\n    }\n\n    paragraph.children.unshift({\n      type: 'element',\n      tagName: 'input',\n      properties: {type: 'checkbox', checked: node.checked, disabled: true},\n      children: []\n    })\n\n    // According to github-markdown-css, this class hides bullet.\n    // See: .\n    properties.className = ['task-list-item']\n  }\n\n  let index = -1\n\n  while (++index < results.length) {\n    const child = results[index]\n\n    // Add eols before nodes, except if this is a loose, first paragraph.\n    if (\n      loose ||\n      index !== 0 ||\n      child.type !== 'element' ||\n      child.tagName !== 'p'\n    ) {\n      children.push({type: 'text', value: '\\n'})\n    }\n\n    if (child.type === 'element' && child.tagName === 'p' && !loose) {\n      children.push(...child.children)\n    } else {\n      children.push(child)\n    }\n  }\n\n  const tail = results[results.length - 1]\n\n  // Add a final eol.\n  if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n    children.push({type: 'text', value: '\\n'})\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'li', properties, children}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n  let loose = false\n  if (node.type === 'list') {\n    loose = node.spread || false\n    const children = node.children\n    let index = -1\n\n    while (!loose && ++index < children.length) {\n      loose = listItemLoose(children[index])\n    }\n  }\n\n  return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n  const spread = node.spread\n\n  return spread === null || spread === undefined\n    ? node.children.length > 1\n    : spread\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').List} List\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `list` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {List} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function list(state, node) {\n  /** @type {Properties} */\n  const properties = {}\n  const results = state.all(node)\n  let index = -1\n\n  if (typeof node.start === 'number' && node.start !== 1) {\n    properties.start = node.start\n  }\n\n  // Like GitHub, add a class for custom styling.\n  while (++index < results.length) {\n    const child = results[index]\n\n    if (\n      child.type === 'element' &&\n      child.tagName === 'li' &&\n      child.properties &&\n      Array.isArray(child.properties.className) &&\n      child.properties.className.includes('task-list-item')\n    ) {\n      properties.className = ['contains-task-list']\n      break\n    }\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: node.ordered ? 'ol' : 'ul',\n    properties,\n    children: state.wrap(results, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `paragraph` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Paragraph} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function paragraph(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'p',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Parents} HastParents\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `root` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastRoot} node\n *   mdast node.\n * @returns {HastParents}\n *   hast node.\n */\nexport function root(state, node) {\n  /** @type {HastRoot} */\n  const result = {type: 'root', children: state.wrap(state.all(node))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `strong` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Strong} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strong(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'strong',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `tableCell` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableCell} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function tableCell(state, node) {\n  // Note: this function is normally not called: see `table-row` for how rows\n  // and their cells are compiled.\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'td', // Assume body cell.\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('mdast').Parents} Parents\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `tableRow` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableRow} node\n *   mdast node.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {Element}\n *   hast node.\n */\nexport function tableRow(state, node, parent) {\n  const siblings = parent ? parent.children : undefined\n  // Generate a body row when without parent.\n  const rowIndex = siblings ? siblings.indexOf(node) : 1\n  const tagName = rowIndex === 0 ? 'th' : 'td'\n  // To do: option to use `style`?\n  const align = parent && parent.type === 'table' ? parent.align : undefined\n  const length = align ? align.length : node.children.length\n  let cellIndex = -1\n  /** @type {Array} */\n  const cells = []\n\n  while (++cellIndex < length) {\n    // Note: can also be undefined.\n    const cell = node.children[cellIndex]\n    /** @type {Properties} */\n    const properties = {}\n    const alignValue = align ? align[cellIndex] : undefined\n\n    if (alignValue) {\n      properties.align = alignValue\n    }\n\n    /** @type {Element} */\n    let result = {type: 'element', tagName, properties, children: []}\n\n    if (cell) {\n      result.children = state.all(cell)\n      state.patch(cell, result)\n      result = state.applyData(cell, result)\n    }\n\n    cells.push(result)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'tr',\n    properties: {},\n    children: state.wrap(cells, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').Table} Table\n * @typedef {import('../state.js').State} State\n */\n\nimport {pointEnd, pointStart} from 'unist-util-position'\n\n/**\n * Turn an mdast `table` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Table} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function table(state, node) {\n  const rows = state.all(node)\n  const firstRow = rows.shift()\n  /** @type {Array} */\n  const tableContent = []\n\n  if (firstRow) {\n    /** @type {Element} */\n    const head = {\n      type: 'element',\n      tagName: 'thead',\n      properties: {},\n      children: state.wrap([firstRow], true)\n    }\n    state.patch(node.children[0], head)\n    tableContent.push(head)\n  }\n\n  if (rows.length > 0) {\n    /** @type {Element} */\n    const body = {\n      type: 'element',\n      tagName: 'tbody',\n      properties: {},\n      children: state.wrap(rows, true)\n    }\n\n    const start = pointStart(node.children[1])\n    const end = pointEnd(node.children[node.children.length - 1])\n    if (start && end) body.position = {start, end}\n    tableContent.push(body)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'table',\n    properties: {},\n    children: state.wrap(tableContent, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').Text} HastText\n * @typedef {import('mdast').Text} MdastText\n * @typedef {import('../state.js').State} State\n */\n\nimport {trimLines} from 'trim-lines'\n\n/**\n * Turn an mdast `text` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastText} node\n *   mdast node.\n * @returns {HastElement | HastText}\n *   hast node.\n */\nexport function text(state, node) {\n  /** @type {HastText} */\n  const result = {type: 'text', value: trimLines(String(node.value))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('../state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Turn an mdast `thematicBreak` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ThematicBreak} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function thematicBreak(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'hr',\n    properties: {},\n    children: []\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n","/**\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('./state.js').Options} Options\n */\n\nimport {ok as assert} from 'devlop'\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don’t:\n *\n * *   `hast-util-to-html` also has an option `allowDangerousHtml` which will\n *     output the raw HTML.\n *     This is typically discouraged as noted by the option name but is useful\n *     if you completely trust authors\n * *   `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n *     into standard hast nodes (`element`, `text`, etc).\n *     This is a heavy task as it needs a full HTML parser, but it is the only\n *     way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n * 

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {HastNodes}\n * hast tree.\n */\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, undefined)\n const foot = footer(state)\n /** @type {HastNodes} */\n const result = Array.isArray(node)\n ? {type: 'root', children: node}\n : node || {type: 'root', children: []}\n\n if (foot) {\n // If there’s a footer, there were definitions, meaning block\n // content.\n // So `result` is a parent node.\n assert('children' in result)\n result.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n return result\n}\n","/**\n * @typedef {import('hast').ElementContent} ElementContent\n *\n * @typedef {import('mdast').Nodes} Nodes\n * @typedef {import('mdast').Reference} Reference\n *\n * @typedef {import('./state.js').State} State\n */\n\n// Make VS Code show references to the above types.\n''\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @param {State} state\n * Info passed around.\n * @param {Extract} node\n * Reference node (image, link).\n * @returns {Array}\n * hast content.\n */\nexport function revert(state, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return [{type: 'text', value: '![' + node.alt + suffix}]\n }\n\n const contents = state.all(node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift({type: 'text', value: '['})\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push({type: 'text', value: suffix})\n }\n\n return contents\n}\n","/**\n * @typedef {import('hast').Element} HastElement\n * @typedef {import('hast').ElementContent} HastElementContent\n * @typedef {import('hast').Nodes} HastNodes\n * @typedef {import('hast').Properties} HastProperties\n * @typedef {import('hast').RootContent} HastRootContent\n * @typedef {import('hast').Text} HastText\n *\n * @typedef {import('mdast').Definition} MdastDefinition\n * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition\n * @typedef {import('mdast').Nodes} MdastNodes\n * @typedef {import('mdast').Parents} MdastParents\n *\n * @typedef {import('vfile').VFile} VFile\n *\n * @typedef {import('./footer.js').FootnoteBackContentTemplate} FootnoteBackContentTemplate\n * @typedef {import('./footer.js').FootnoteBackLabelTemplate} FootnoteBackLabelTemplate\n */\n\n/**\n * @callback Handler\n * Handle a node.\n * @param {State} state\n * Info passed around.\n * @param {any} node\n * mdast node to handle.\n * @param {MdastParents | undefined} parent\n * Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n * hast node.\n *\n * @typedef {Partial>} Handlers\n * Handle nodes.\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n * Whether to persist raw HTML in markdown in the hast tree (default:\n * `false`).\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n * Prefix to use before the `id` property on footnotes to prevent them from\n * *clobbering* (default: `'user-content-'`).\n *\n * Pass `''` for trusted markdown and when you are careful with\n * polyfilling.\n * You could pass a different prefix.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * The above example shows that elements are made available by browsers, by\n * their ID, on the `window` object.\n * This is a security risk because you might be expecting some other variable\n * at that place.\n * It can also break polyfills.\n * Using a prefix solves these problems.\n * @property {VFile | null | undefined} [file]\n * Corresponding virtual file representing the input document (optional).\n * @property {FootnoteBackContentTemplate | string | null | undefined} [footnoteBackContent]\n * Content of the backreference back to references (default: `defaultFootnoteBackContent`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackContent(_, rereferenceIndex) {\n * const result = [{type: 'text', value: '↩'}]\n *\n * if (rereferenceIndex > 1) {\n * result.push({\n * type: 'element',\n * tagName: 'sup',\n * properties: {},\n * children: [{type: 'text', value: String(rereferenceIndex)}]\n * })\n * }\n *\n * return result\n * }\n * ```\n *\n * This content is used in the `a` element of each backreference (the `↩`\n * links).\n * @property {FootnoteBackLabelTemplate | string | null | undefined} [footnoteBackLabel]\n * Label to describe the backreference back to references (default:\n * `defaultFootnoteBackLabel`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n * return (\n * 'Back to reference ' +\n * (referenceIndex + 1) +\n * (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n * )\n * }\n * ```\n *\n * Change it when the markdown is not in English.\n *\n * This label is used in the `ariaLabel` property on each backreference\n * (the `↩` links).\n * It affects users of assistive technology.\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Textual label to use for the footnotes section (default: `'Footnotes'`).\n *\n * Change it when the markdown is not in English.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (default: `{className:\n * ['sr-only']}`).\n *\n * Change it to show the label and add other properties.\n *\n * This label is typically hidden visually (assuming an `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass an empty string.\n * You can also add different properties.\n *\n * > **Note**: `id: 'footnote-label'` is always added, because footnote\n * > calls use it with `aria-describedby` to provide an accessible label.\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * HTML tag name to use for the footnote label element (default: `'h2'`).\n *\n * Change it to match your document structure.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes (optional).\n * @property {Array | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed)\n * (optional).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes (optional).\n *\n * @typedef State\n * Info passed around.\n * @property {(node: MdastNodes) => Array} all\n * Transform the children of an mdast parent to hast.\n * @property {(from: MdastNodes, to: Type) => HastElement | Type} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {Map} definitionById\n * Definitions by their identifier.\n * @property {Map} footnoteById\n * Footnote definitions by their identifier.\n * @property {Map} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Array} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {(node: MdastNodes, parent: MdastParents | undefined) => Array | HastElementContent | undefined} one\n * Transform an mdast node to hast.\n * @property {Options} options\n * Configuration.\n * @property {(from: MdastNodes, node: HastNodes) => undefined} patch\n * Copy a node’s positional info.\n * @property {(nodes: Array, loose?: boolean | undefined) => Array} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {visit} from 'unist-util-visit'\nimport {position} from 'unist-util-position'\nimport {handlers as defaultHandlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || emptyOptions\n /** @type {Map} */\n const definitionById = new Map()\n /** @type {Map} */\n const footnoteById = new Map()\n /** @type {Map} */\n const footnoteCounts = new Map()\n /** @type {Handlers} */\n // @ts-expect-error: the root handler returns a root.\n // Hard to type.\n const handlers = {...defaultHandlers, ...settings.handlers}\n\n /** @type {State} */\n const state = {\n all,\n applyData,\n definitionById,\n footnoteById,\n footnoteCounts,\n footnoteOrder: [],\n handlers,\n one,\n options: settings,\n patch,\n wrap\n }\n\n visit(tree, function (node) {\n if (node.type === 'definition' || node.type === 'footnoteDefinition') {\n const map = node.type === 'definition' ? definitionById : footnoteById\n const id = String(node.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: .\n if (!map.has(id)) {\n // @ts-expect-error: node type matches map.\n map.set(id, node)\n }\n }\n })\n\n return state\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | undefined} [parent]\n * Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n * Resulting hast node.\n */\n function one(node, parent) {\n const type = node.type\n const handle = state.handlers[type]\n\n if (own.call(state.handlers, type) && handle) {\n return handle(state, node, parent)\n }\n\n if (state.options.passThrough && state.options.passThrough.includes(type)) {\n if ('children' in node) {\n const {children, ...shallow} = node\n const result = structuredClone(shallow)\n // @ts-expect-error: TS doesn’t understand…\n result.children = state.all(node)\n // @ts-expect-error: TS doesn’t understand…\n return result\n }\n\n // @ts-expect-error: it’s custom.\n return structuredClone(node)\n }\n\n const unknown = state.options.unknownHandler || defaultUnknownHandler\n\n return unknown(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array}\n * Resulting hast nodes.\n */\n function all(parent) {\n /** @type {Array} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = state.one(nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = trimMarkdownSpaceStart(result.value)\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = trimMarkdownSpaceStart(head.value)\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n }\n}\n\n/**\n * Copy a node’s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {HastElement | Type}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {HastElement | Type} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent of `hName` is to create an element, but likely also to keep\n // the content around (otherwise: pass `hChildren`).\n else {\n /** @type {Array} */\n // @ts-expect-error: assume no doctypes in `root`.\n const children = 'children' in result ? result.children : [result]\n result = {type: 'element', tagName: hName, properties: {}, children}\n }\n }\n\n if (result.type === 'element' && hProperties) {\n Object.assign(result.properties, structuredClone(hProperties))\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastElement | HastText}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastElement | HastText} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: state.all(node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastRootContent} Type\n * Node type.\n * @param {Array} nodes\n * List of nodes to wrap.\n * @param {boolean | undefined} [loose=false]\n * Whether to add line endings at start and end (default: `false`).\n * @returns {Array}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n\n/**\n * Trim spaces and tabs at the start of `value`.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Result.\n */\nfunction trimMarkdownSpaceStart(value) {\n let index = 0\n let code = value.charCodeAt(index)\n\n while (code === 9 || code === 32) {\n index++\n code = value.charCodeAt(index)\n }\n\n return value.slice(index)\n}\n","/**\n * @typedef {import('mdast').Nodes} Nodes\n *\n * @typedef Options\n * Configuration (optional).\n * @property {boolean | null | undefined} [includeImageAlt=true]\n * Whether to use `alt` for `image`s (default: `true`).\n * @property {boolean | null | undefined} [includeHtml=true]\n * Whether to use `value` of HTML (default: `true`).\n */\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Get the text content of a node or list of nodes.\n *\n * Prefers the node’s plain-text fields, otherwise serializes its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} [value]\n * Thing to serialize, typically `Node`.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized `value`.\n */\nexport function toString(value, options) {\n const settings = options || emptyOptions\n const includeImageAlt =\n typeof settings.includeImageAlt === 'boolean'\n ? settings.includeImageAlt\n : true\n const includeHtml =\n typeof settings.includeHtml === 'boolean' ? settings.includeHtml : true\n\n return one(value, includeImageAlt, includeHtml)\n}\n\n/**\n * One node or several nodes.\n *\n * @param {unknown} value\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized node.\n */\nfunction one(value, includeImageAlt, includeHtml) {\n if (node(value)) {\n if ('value' in value) {\n return value.type === 'html' && !includeHtml ? '' : value.value\n }\n\n if (includeImageAlt && 'alt' in value && value.alt) {\n return value.alt\n }\n\n if ('children' in value) {\n return all(value.children, includeImageAlt, includeHtml)\n }\n }\n\n if (Array.isArray(value)) {\n return all(value, includeImageAlt, includeHtml)\n }\n\n return ''\n}\n\n/**\n * Serialize a list of nodes.\n *\n * @param {Array} values\n * Thing to serialize.\n * @param {boolean} includeImageAlt\n * Include image `alt`s.\n * @param {boolean} includeHtml\n * Include HTML.\n * @returns {string}\n * Serialized nodes.\n */\nfunction all(values, includeImageAlt, includeHtml) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt, includeHtml)\n }\n\n return result.join('')\n}\n\n/**\n * Check if `value` looks like a node.\n *\n * @param {unknown} value\n * Thing.\n * @returns {value is Nodes}\n * Whether `value` is a node.\n */\nfunction node(value) {\n return Boolean(value && typeof value === 'object')\n}\n","/**\n * @import {\n * Code,\n * Construct,\n * Event,\n * Point,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {push, splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n resolveAll: resolveAllAttention,\n tokenize: tokenizeAttention\n}\n\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n// eslint-disable-next-line complexity\nfunction resolveAllAttention(events, context) {\n let index = -1\n /** @type {number} */\n let open\n /** @type {Token} */\n let group\n /** @type {Token} */\n let text\n /** @type {Token} */\n let openingSequence\n /** @type {Token} */\n let closingSequence\n /** @type {number} */\n let use\n /** @type {Array} */\n let nextEvents\n /** @type {number} */\n let offset\n\n // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open &&\n // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n }\n\n // Number of markers to use from the sequence.\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n\n const start = {...events[open][1].end}\n const end = {...events[index][1].start}\n movePoint(start, -use)\n movePoint(end, use)\n\n openingSequence = {\n type: use > 1 ? types.strongSequence : types.emphasisSequence,\n start,\n end: {...events[open][1].end}\n }\n closingSequence = {\n type: use > 1 ? types.strongSequence : types.emphasisSequence,\n start: {...events[index][1].start},\n end\n }\n text = {\n type: use > 1 ? types.strongText : types.emphasisText,\n start: {...events[open][1].end},\n end: {...events[index][1].start}\n }\n group = {\n type: use > 1 ? types.strong : types.emphasis,\n start: {...openingSequence.start},\n end: {...closingSequence.end}\n }\n\n events[open][1].end = {...openingSequence.start}\n events[index][1].start = {...closingSequence.end}\n\n nextEvents = []\n\n // If there are more markers in the opening, add them before.\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n }\n\n // Opening.\n nextEvents = push(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ])\n\n // Always populated by defaults.\n assert(\n context.parser.constructs.insideSpan.null,\n 'expected `insideSpan` to be populated'\n )\n\n // Between.\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n )\n\n // Closing.\n nextEvents = push(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ])\n\n // If there are more markers in the closing, add them after.\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = push(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n\n splice(events, open - 1, index - open + 3, nextEvents)\n\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n }\n\n // Remove remaining sequences.\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null\n const previous = this.previous\n const before = classifyCharacter(previous)\n\n /** @type {NonNullable} */\n let marker\n\n return start\n\n /**\n * Before a sequence.\n *\n * ```markdown\n * > | **\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n assert(\n code === codes.asterisk || code === codes.underscore,\n 'expected asterisk or underscore'\n )\n marker = code\n effects.enter('attentionSequence')\n return inside(code)\n }\n\n /**\n * In a sequence.\n *\n * ```markdown\n * > | **\n * ^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code)\n return inside\n }\n\n const token = effects.exit('attentionSequence')\n\n // To do: next major: move this to resolver, just like `markdown-rs`.\n const after = classifyCharacter(code)\n\n // Always populated by defaults.\n assert(attentionMarkers, 'expected `attentionMarkers` to be populated')\n\n const open =\n !after ||\n (after === constants.characterGroupPunctuation && before) ||\n attentionMarkers.includes(code)\n const close =\n !before ||\n (before === constants.characterGroupPunctuation && after) ||\n attentionMarkers.includes(previous)\n\n token._open = Boolean(\n marker === codes.asterisk ? open : open && (before || !close)\n )\n token._close = Boolean(\n marker === codes.asterisk ? close : close && (after || !open)\n )\n return ok(code)\n }\n}\n\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * Point.\n * @param {number} offset\n * Amount to move.\n * @returns {undefined}\n * Nothing.\n */\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n}\n","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {\n asciiAlphanumeric,\n asciiAlpha,\n asciiAtext,\n asciiControl\n} from 'micromark-util-character'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const autolink = {name: 'autolink', tokenize: tokenizeAutolink}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 0\n\n return start\n\n /**\n * Start of an autolink.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n assert(code === codes.lessThan, 'expected `<`')\n effects.enter(types.autolink)\n effects.enter(types.autolinkMarker)\n effects.consume(code)\n effects.exit(types.autolinkMarker)\n effects.enter(types.autolinkProtocol)\n return open\n }\n\n /**\n * After `<`, at protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n\n if (code === codes.atSign) {\n return nok(code)\n }\n\n return emailAtext(code)\n }\n\n /**\n * At second byte of protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeOrEmailAtext(code) {\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (\n code === codes.plusSign ||\n code === codes.dash ||\n code === codes.dot ||\n asciiAlphanumeric(code)\n ) {\n // Count the previous alphabetical from `open` too.\n size = 1\n return schemeInsideOrEmailAtext(code)\n }\n\n return emailAtext(code)\n }\n\n /**\n * In ambiguous protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeInsideOrEmailAtext(code) {\n if (code === codes.colon) {\n effects.consume(code)\n size = 0\n return urlInside\n }\n\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (\n (code === codes.plusSign ||\n code === codes.dash ||\n code === codes.dot ||\n asciiAlphanumeric(code)) &&\n size++ < constants.autolinkSchemeSizeMax\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n\n size = 0\n return emailAtext(code)\n }\n\n /**\n * After protocol, in URL.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function urlInside(code) {\n if (code === codes.greaterThan) {\n effects.exit(types.autolinkProtocol)\n effects.enter(types.autolinkMarker)\n effects.consume(code)\n effects.exit(types.autolinkMarker)\n effects.exit(types.autolink)\n return ok\n }\n\n // ASCII control, space, or `<`.\n if (\n code === codes.eof ||\n code === codes.space ||\n code === codes.lessThan ||\n asciiControl(code)\n ) {\n return nok(code)\n }\n\n effects.consume(code)\n return urlInside\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailAtext(code) {\n if (code === codes.atSign) {\n effects.consume(code)\n return emailAtSignOrDot\n }\n\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n\n return nok(code)\n }\n\n /**\n * In label, after at-sign or dot.\n *\n * ```markdown\n * > | ab\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n\n /**\n * In label, where `.` and `>` are allowed.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailLabel(code) {\n if (code === codes.dot) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (code === codes.greaterThan) {\n // Exit, then change the token type.\n effects.exit(types.autolinkProtocol).type = types.autolinkEmail\n effects.enter(types.autolinkMarker)\n effects.consume(code)\n effects.exit(types.autolinkMarker)\n effects.exit(types.autolink)\n return ok\n }\n\n return emailValue(code)\n }\n\n /**\n * In label, where `.` and `>` are *not* allowed.\n *\n * Though, this is also used in `emailLabel` to parse other values.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailValue(code) {\n // ASCII alphanumeric or `-`.\n if (\n (code === codes.dash || asciiAlphanumeric(code)) &&\n size++ < constants.autolinkDomainSizeMax\n ) {\n const next = code === codes.dash ? emailValue : emailLabel\n effects.consume(code)\n return next\n }\n\n return nok(code)\n }\n}\n","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\nimport {codes, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const blankLine = {partial: true, tokenize: tokenizeBlankLine}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLine(effects, ok, nok) {\n return start\n\n /**\n * Start of blank line.\n *\n * > 👉 **Note**: `␠` represents a space character.\n *\n * ```markdown\n * > | ␠␠␊\n * ^\n * > | ␊\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n return markdownSpace(code)\n ? factorySpace(effects, after, types.linePrefix)(code)\n : after(code)\n }\n\n /**\n * At eof/eol, after optional whitespace.\n *\n * > 👉 **Note**: `␠` represents a space character.\n *\n * ```markdown\n * > | ␠␠␊\n * ^\n * > | ␊\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return code === codes.eof || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @import {\n * Construct,\n * Exiter,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownSpace} from 'micromark-util-character'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const blockQuote = {\n continuation: {tokenize: tokenizeBlockQuoteContinuation},\n exit,\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n const self = this\n\n return start\n\n /**\n * Start of block quote.\n *\n * ```markdown\n * > | > a\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === codes.greaterThan) {\n const state = self.containerState\n\n assert(state, 'expected `containerState` to be defined in container')\n\n if (!state.open) {\n effects.enter(types.blockQuote, {_container: true})\n state.open = true\n }\n\n effects.enter(types.blockQuotePrefix)\n effects.enter(types.blockQuoteMarker)\n effects.consume(code)\n effects.exit(types.blockQuoteMarker)\n return after\n }\n\n return nok(code)\n }\n\n /**\n * After `>`, before optional whitespace.\n *\n * ```markdown\n * > | > a\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter(types.blockQuotePrefixWhitespace)\n effects.consume(code)\n effects.exit(types.blockQuotePrefixWhitespace)\n effects.exit(types.blockQuotePrefix)\n return ok\n }\n\n effects.exit(types.blockQuotePrefix)\n return ok(code)\n }\n}\n\n/**\n * Start of block quote continuation.\n *\n * ```markdown\n * | > a\n * > | > b\n * ^\n * ```\n *\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n const self = this\n\n return contStart\n\n /**\n * Start of block quote continuation.\n *\n * Also used to parse the first block quote opening.\n *\n * ```markdown\n * | > a\n * > | > b\n * ^\n * ```\n *\n * @type {State}\n */\n function contStart(code) {\n if (markdownSpace(code)) {\n // Always populated by defaults.\n assert(\n self.parser.constructs.disable.null,\n 'expected `disable.null` to be populated'\n )\n\n return factorySpace(\n effects,\n contBefore,\n types.linePrefix,\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : constants.tabSize\n )(code)\n }\n\n return contBefore(code)\n }\n\n /**\n * At `>`, after optional whitespace.\n *\n * Also used to parse the first block quote opening.\n *\n * ```markdown\n * | > a\n * > | > b\n * ^\n * ```\n *\n * @type {State}\n */\n function contBefore(code) {\n return effects.attempt(blockQuote, ok, nok)(code)\n }\n}\n\n/** @type {Exiter} */\nfunction exit(effects) {\n effects.exit(types.blockQuote)\n}\n","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {asciiPunctuation} from 'micromark-util-character'\nimport {codes, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n\n /**\n * Start of character escape.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n assert(code === codes.backslash, 'expected `\\\\`')\n effects.enter(types.characterEscape)\n effects.enter(types.escapeMarker)\n effects.consume(code)\n effects.exit(types.escapeMarker)\n return inside\n }\n\n /**\n * After `\\`, at punctuation.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // ASCII punctuation.\n if (asciiPunctuation(code)) {\n effects.enter(types.characterEscapeValue)\n effects.consume(code)\n effects.exit(types.characterEscapeValue)\n effects.exit(types.characterEscape)\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {\n asciiAlphanumeric,\n asciiDigit,\n asciiHexDigit\n} from 'micromark-util-character'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this\n let size = 0\n /** @type {number} */\n let max\n /** @type {(code: Code) => boolean} */\n let test\n\n return start\n\n /**\n * Start of character reference.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n assert(code === codes.ampersand, 'expected `&`')\n effects.enter(types.characterReference)\n effects.enter(types.characterReferenceMarker)\n effects.consume(code)\n effects.exit(types.characterReferenceMarker)\n return open\n }\n\n /**\n * After `&`, at `#` for numeric references or alphanumeric for named\n * references.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === codes.numberSign) {\n effects.enter(types.characterReferenceMarkerNumeric)\n effects.consume(code)\n effects.exit(types.characterReferenceMarkerNumeric)\n return numeric\n }\n\n effects.enter(types.characterReferenceValue)\n max = constants.characterReferenceNamedSizeMax\n test = asciiAlphanumeric\n return value(code)\n }\n\n /**\n * After `#`, at `x` for hexadecimals or digit for decimals.\n *\n * ```markdown\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function numeric(code) {\n if (code === codes.uppercaseX || code === codes.lowercaseX) {\n effects.enter(types.characterReferenceMarkerHexadecimal)\n effects.consume(code)\n effects.exit(types.characterReferenceMarkerHexadecimal)\n effects.enter(types.characterReferenceValue)\n max = constants.characterReferenceHexadecimalSizeMax\n test = asciiHexDigit\n return value\n }\n\n effects.enter(types.characterReferenceValue)\n max = constants.characterReferenceDecimalSizeMax\n test = asciiDigit\n return value(code)\n }\n\n /**\n * After markers (`&#x`, `&#`, or `&`), in value, before `;`.\n *\n * The character reference kind defines what and how many characters are\n * allowed.\n *\n * ```markdown\n * > | a&b\n * ^^^\n * > | a{b\n * ^^^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function value(code) {\n if (code === codes.semicolon && size) {\n const token = effects.exit(types.characterReferenceValue)\n\n if (\n test === asciiAlphanumeric &&\n !decodeNamedCharacterReference(self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n // To do: `markdown-rs` uses a different name:\n // `CharacterReferenceMarkerSemi`.\n effects.enter(types.characterReferenceMarker)\n effects.consume(code)\n effects.exit(types.characterReferenceMarker)\n effects.exit(types.characterReference)\n return ok\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n\n return nok(code)\n }\n}\n","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nconst nonLazyContinuation = {\n partial: true,\n tokenize: tokenizeNonLazyContinuation\n}\n\n/** @type {Construct} */\nexport const codeFenced = {\n concrete: true,\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this\n /** @type {Construct} */\n const closeStart = {partial: true, tokenize: tokenizeCloseStart}\n let initialPrefix = 0\n let sizeOpen = 0\n /** @type {NonNullable} */\n let marker\n\n return start\n\n /**\n * Start of code.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse whitespace like `markdown-rs`.\n return beforeSequenceOpen(code)\n }\n\n /**\n * In opening fence, after prefix, at sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeSequenceOpen(code) {\n assert(\n code === codes.graveAccent || code === codes.tilde,\n 'expected `` ` `` or `~`'\n )\n\n const tail = self.events[self.events.length - 1]\n initialPrefix =\n tail && tail[1].type === types.linePrefix\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n\n marker = code\n effects.enter(types.codeFenced)\n effects.enter(types.codeFencedFence)\n effects.enter(types.codeFencedFenceSequence)\n return sequenceOpen(code)\n }\n\n /**\n * In opening fence sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === marker) {\n sizeOpen++\n effects.consume(code)\n return sequenceOpen\n }\n\n if (sizeOpen < constants.codeFencedSequenceSizeMin) {\n return nok(code)\n }\n\n effects.exit(types.codeFencedFenceSequence)\n return markdownSpace(code)\n ? factorySpace(effects, infoBefore, types.whitespace)(code)\n : infoBefore(code)\n }\n\n /**\n * In opening fence, after the sequence (and optional whitespace), before info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function infoBefore(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n effects.exit(types.codeFencedFence)\n return self.interrupt\n ? ok(code)\n : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code)\n }\n\n effects.enter(types.codeFencedFenceInfo)\n effects.enter(types.chunkString, {contentType: constants.contentTypeString})\n return info(code)\n }\n\n /**\n * In info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function info(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n effects.exit(types.chunkString)\n effects.exit(types.codeFencedFenceInfo)\n return infoBefore(code)\n }\n\n if (markdownSpace(code)) {\n effects.exit(types.chunkString)\n effects.exit(types.codeFencedFenceInfo)\n return factorySpace(effects, metaBefore, types.whitespace)(code)\n }\n\n if (code === codes.graveAccent && code === marker) {\n return nok(code)\n }\n\n effects.consume(code)\n return info\n }\n\n /**\n * In opening fence, after info and whitespace, before meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function metaBefore(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n return infoBefore(code)\n }\n\n effects.enter(types.codeFencedFenceMeta)\n effects.enter(types.chunkString, {contentType: constants.contentTypeString})\n return meta(code)\n }\n\n /**\n * In meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function meta(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n effects.exit(types.chunkString)\n effects.exit(types.codeFencedFenceMeta)\n return infoBefore(code)\n }\n\n if (code === codes.graveAccent && code === marker) {\n return nok(code)\n }\n\n effects.consume(code)\n return meta\n }\n\n /**\n * At eol/eof in code, before a non-lazy closing fence or content.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function atNonLazyBreak(code) {\n assert(markdownLineEnding(code), 'expected eol')\n return effects.attempt(closeStart, after, contentBefore)(code)\n }\n\n /**\n * Before code content, not a closing fence, at eol.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentBefore(code) {\n assert(markdownLineEnding(code), 'expected eol')\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return contentStart\n }\n\n /**\n * Before code content, not a closing fence.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentStart(code) {\n return initialPrefix > 0 && markdownSpace(code)\n ? factorySpace(\n effects,\n beforeContentChunk,\n types.linePrefix,\n initialPrefix + 1\n )(code)\n : beforeContentChunk(code)\n }\n\n /**\n * Before code content, after optional prefix.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeContentChunk(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code)\n }\n\n effects.enter(types.codeFlowValue)\n return contentChunk(code)\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^^^^^^^^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentChunk(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n effects.exit(types.codeFlowValue)\n return beforeContentChunk(code)\n }\n\n effects.consume(code)\n return contentChunk\n }\n\n /**\n * After code.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n effects.exit(types.codeFenced)\n return ok(code)\n }\n\n /**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\n function tokenizeCloseStart(effects, ok, nok) {\n let size = 0\n\n return startBefore\n\n /**\n *\n *\n * @type {State}\n */\n function startBefore(code) {\n assert(markdownLineEnding(code), 'expected eol')\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return start\n }\n\n /**\n * Before closing fence, at optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Always populated by defaults.\n assert(\n self.parser.constructs.disable.null,\n 'expected `disable.null` to be populated'\n )\n\n // To do: `enter` here or in next state?\n effects.enter(types.codeFencedFence)\n return markdownSpace(code)\n ? factorySpace(\n effects,\n beforeSequenceClose,\n types.linePrefix,\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : constants.tabSize\n )(code)\n : beforeSequenceClose(code)\n }\n\n /**\n * In closing fence, after optional whitespace, at sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeSequenceClose(code) {\n if (code === marker) {\n effects.enter(types.codeFencedFenceSequence)\n return sequenceClose(code)\n }\n\n return nok(code)\n }\n\n /**\n * In closing fence sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n if (code === marker) {\n size++\n effects.consume(code)\n return sequenceClose\n }\n\n if (size >= sizeOpen) {\n effects.exit(types.codeFencedFenceSequence)\n return markdownSpace(code)\n ? factorySpace(effects, sequenceCloseAfter, types.whitespace)(code)\n : sequenceCloseAfter(code)\n }\n\n return nok(code)\n }\n\n /**\n * After closing fence sequence, after optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceCloseAfter(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n effects.exit(types.codeFencedFence)\n return ok(code)\n }\n\n return nok(code)\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuation(effects, ok, nok) {\n const self = this\n\n return start\n\n /**\n *\n *\n * @type {State}\n */\n function start(code) {\n if (code === codes.eof) {\n return nok(code)\n }\n\n assert(markdownLineEnding(code), 'expected eol')\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return lineStart\n }\n\n /**\n *\n *\n * @type {State}\n */\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n}\n","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented\n}\n\n/** @type {Construct} */\nconst furtherStart = {partial: true, tokenize: tokenizeFurtherStart}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeIndented(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of code (indented).\n *\n * > **Parsing note**: it is not needed to check if this first line is a\n * > filled line (that it has a non-whitespace character), because blank lines\n * > are parsed already, so we never run into that.\n *\n * ```markdown\n * > | aaa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: manually check if interrupting like `markdown-rs`.\n assert(markdownSpace(code))\n effects.enter(types.codeIndented)\n // To do: use an improved `space_or_tab` function like `markdown-rs`,\n // so that we can drop the next state.\n return factorySpace(\n effects,\n afterPrefix,\n types.linePrefix,\n constants.tabSize + 1\n )(code)\n }\n\n /**\n * At start, after 1 or 4 spaces.\n *\n * ```markdown\n * > | aaa\n * ^\n * ```\n *\n * @type {State}\n */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === types.linePrefix &&\n tail[2].sliceSerialize(tail[1], true).length >= constants.tabSize\n ? atBreak(code)\n : nok(code)\n }\n\n /**\n * At a break.\n *\n * ```markdown\n * > | aaa\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === codes.eof) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(furtherStart, atBreak, after)(code)\n }\n\n effects.enter(types.codeFlowValue)\n return inside(code)\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * > | aaa\n * ^^^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n effects.exit(types.codeFlowValue)\n return atBreak(code)\n }\n\n effects.consume(code)\n return inside\n }\n\n /** @type {State} */\n function after(code) {\n effects.exit(types.codeIndented)\n // To do: allow interrupting like `markdown-rs`.\n // Feel free to interrupt.\n // tokenizer.interrupt = false\n return ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeFurtherStart(effects, ok, nok) {\n const self = this\n\n return furtherStart\n\n /**\n * At eol, trying to parse another indent.\n *\n * ```markdown\n * > | aaa\n * ^\n * | bbb\n * ```\n *\n * @type {State}\n */\n function furtherStart(code) {\n // To do: improve `lazy` / `pierce` handling.\n // If this is a lazy line, it can’t be code.\n if (self.parser.lazy[self.now().line]) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return furtherStart\n }\n\n // To do: the code here in `micromark-js` is a bit different from\n // `markdown-rs` because there it can attempt spaces.\n // We can’t yet.\n //\n // To do: use an improved `space_or_tab` function like `markdown-rs`,\n // so that we can drop the next state.\n return factorySpace(\n effects,\n afterPrefix,\n types.linePrefix,\n constants.tabSize + 1\n )(code)\n }\n\n /**\n * At start, after 1 or 4 spaces.\n *\n * ```markdown\n * > | aaa\n * ^\n * ```\n *\n * @type {State}\n */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === types.linePrefix &&\n tail[2].sliceSerialize(tail[1], true).length >= constants.tabSize\n ? ok(code)\n : markdownLineEnding(code)\n ? furtherStart(code)\n : nok(code)\n }\n}\n","/**\n * @import {\n * Construct,\n * Previous,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {codes, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n previous,\n resolve: resolveCodeText,\n tokenize: tokenizeCodeText\n}\n\n// To do: next major: don’t resolve, like `markdown-rs`.\n/** @type {Resolver} */\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4\n let headEnterIndex = 3\n /** @type {number} */\n let index\n /** @type {number | undefined} */\n let enter\n\n // If we start and end with an EOL or a space.\n if (\n (events[headEnterIndex][1].type === types.lineEnding ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === types.lineEnding ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex\n\n // And we have data.\n while (++index < tailExitIndex) {\n if (events[index][1].type === types.codeTextData) {\n // Then we have padding.\n events[headEnterIndex][1].type = types.codeTextPadding\n events[tailExitIndex][1].type = types.codeTextPadding\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n }\n\n // Merge adjacent spaces and data.\n index = headEnterIndex - 1\n tailExitIndex++\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (\n index !== tailExitIndex &&\n events[index][1].type !== types.lineEnding\n ) {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === types.lineEnding\n ) {\n events[enter][1].type = types.codeTextData\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Previous}\n */\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== codes.graveAccent ||\n this.events[this.events.length - 1][1].type === types.characterEscape\n )\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this\n let sizeOpen = 0\n /** @type {number} */\n let size\n /** @type {Token} */\n let token\n\n return start\n\n /**\n * Start of code (text).\n *\n * ```markdown\n * > | `a`\n * ^\n * > | \\`a`\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n assert(code === codes.graveAccent, 'expected `` ` ``')\n assert(previous.call(self, self.previous), 'expected correct previous')\n effects.enter(types.codeText)\n effects.enter(types.codeTextSequence)\n return sequenceOpen(code)\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === codes.graveAccent) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n\n effects.exit(types.codeTextSequence)\n return between(code)\n }\n\n /**\n * Between something and something else.\n *\n * ```markdown\n * > | `a`\n * ^^\n * ```\n *\n * @type {State}\n */\n function between(code) {\n // EOF.\n if (code === codes.eof) {\n return nok(code)\n }\n\n // To do: next major: don’t do spaces in resolve, but when compiling,\n // like `markdown-rs`.\n // Tabs don’t work, and virtual spaces don’t make sense.\n if (code === codes.space) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return between\n }\n\n // Closing fence? Could also be data.\n if (code === codes.graveAccent) {\n token = effects.enter(types.codeTextSequence)\n size = 0\n return sequenceClose(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return between\n }\n\n // Data.\n effects.enter(types.codeTextData)\n return data(code)\n }\n\n /**\n * In data.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (\n code === codes.eof ||\n code === codes.space ||\n code === codes.graveAccent ||\n markdownLineEnding(code)\n ) {\n effects.exit(types.codeTextData)\n return between(code)\n }\n\n effects.consume(code)\n return data\n }\n\n /**\n * In closing sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n // More.\n if (code === codes.graveAccent) {\n effects.consume(code)\n size++\n return sequenceClose\n }\n\n // Done!\n if (size === sizeOpen) {\n effects.exit(types.codeTextSequence)\n effects.exit(types.codeText)\n return ok(code)\n }\n\n // More or less accents: mark as data.\n token.type = types.codeTextData\n return data(code)\n }\n}\n","/**\n * @import {\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {subtokenize} from 'micromark-util-subtokenize'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/**\n * No name because it must not be turned off.\n * @type {Construct}\n */\nexport const content = {resolve: resolveContent, tokenize: tokenizeContent}\n\n/** @type {Construct} */\nconst continuationConstruct = {partial: true, tokenize: tokenizeContinuation}\n\n/**\n * Content is transparent: it’s parsed right now. That way, definitions are also\n * parsed right now: before text in paragraphs (specifically, media) are parsed.\n *\n * @type {Resolver}\n */\nfunction resolveContent(events) {\n subtokenize(events)\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeContent(effects, ok) {\n /** @type {Token | undefined} */\n let previous\n\n return chunkStart\n\n /**\n * Before a content chunk.\n *\n * ```markdown\n * > | abc\n * ^\n * ```\n *\n * @type {State}\n */\n function chunkStart(code) {\n assert(\n code !== codes.eof && !markdownLineEnding(code),\n 'expected no eof or eol'\n )\n\n effects.enter(types.content)\n previous = effects.enter(types.chunkContent, {\n contentType: constants.contentTypeContent\n })\n return chunkInside(code)\n }\n\n /**\n * In a content chunk.\n *\n * ```markdown\n * > | abc\n * ^^^\n * ```\n *\n * @type {State}\n */\n function chunkInside(code) {\n if (code === codes.eof) {\n return contentEnd(code)\n }\n\n // To do: in `markdown-rs`, each line is parsed on its own, and everything\n // is stitched together resolving.\n if (markdownLineEnding(code)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code)\n }\n\n // Data.\n effects.consume(code)\n return chunkInside\n }\n\n /**\n *\n *\n * @type {State}\n */\n function contentEnd(code) {\n effects.exit(types.chunkContent)\n effects.exit(types.content)\n return ok(code)\n }\n\n /**\n *\n *\n * @type {State}\n */\n function contentContinue(code) {\n assert(markdownLineEnding(code), 'expected eol')\n effects.consume(code)\n effects.exit(types.chunkContent)\n assert(previous, 'expected previous token')\n previous.next = effects.enter(types.chunkContent, {\n contentType: constants.contentTypeContent,\n previous\n })\n previous = previous.next\n return chunkInside\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeContinuation(effects, ok, nok) {\n const self = this\n\n return startLookahead\n\n /**\n *\n *\n * @type {State}\n */\n function startLookahead(code) {\n assert(markdownLineEnding(code), 'expected a line ending')\n effects.exit(types.chunkContent)\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return factorySpace(effects, prefixed, types.linePrefix)\n }\n\n /**\n *\n *\n * @type {State}\n */\n function prefixed(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n return nok(code)\n }\n\n // Always populated by defaults.\n assert(\n self.parser.constructs.disable.null,\n 'expected `disable.null` to be populated'\n )\n\n const tail = self.events[self.events.length - 1]\n\n if (\n !self.parser.constructs.disable.null.includes('codeIndented') &&\n tail &&\n tail[1].type === types.linePrefix &&\n tail[2].sliceSerialize(tail[1], true).length >= constants.tabSize\n ) {\n return ok(code)\n }\n\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)\n }\n}\n","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factorySpace} from 'micromark-factory-space'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {\n markdownLineEndingOrSpace,\n markdownLineEnding,\n markdownSpace\n} from 'micromark-util-character'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {codes, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const definition = {name: 'definition', tokenize: tokenizeDefinition}\n\n/** @type {Construct} */\nconst titleBefore = {partial: true, tokenize: tokenizeTitleBefore}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeDefinition(effects, ok, nok) {\n const self = this\n /** @type {string} */\n let identifier\n\n return start\n\n /**\n * At start of a definition.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Do not interrupt paragraphs (but do follow definitions).\n // To do: do `interrupt` the way `markdown-rs` does.\n // To do: parse whitespace the way `markdown-rs` does.\n effects.enter(types.definition)\n return before(code)\n }\n\n /**\n * After optional whitespace, at `[`.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n // To do: parse whitespace the way `markdown-rs` does.\n assert(code === codes.leftSquareBracket, 'expected `[`')\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n // Note: we don’t need to reset the way `markdown-rs` does.\n nok,\n types.definitionLabel,\n types.definitionLabelMarker,\n types.definitionLabelString\n )(code)\n }\n\n /**\n * After label.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAfter(code) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n\n if (code === codes.colon) {\n effects.enter(types.definitionMarker)\n effects.consume(code)\n effects.exit(types.definitionMarker)\n return markerAfter\n }\n\n return nok(code)\n }\n\n /**\n * After marker.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function markerAfter(code) {\n // Note: whitespace is optional.\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, destinationBefore)(code)\n : destinationBefore(code)\n }\n\n /**\n * Before destination.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function destinationBefore(code) {\n return factoryDestination(\n effects,\n destinationAfter,\n // Note: we don’t need to reset the way `markdown-rs` does.\n nok,\n types.definitionDestination,\n types.definitionDestinationLiteral,\n types.definitionDestinationLiteralMarker,\n types.definitionDestinationRaw,\n types.definitionDestinationString\n )(code)\n }\n\n /**\n * After destination.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function destinationAfter(code) {\n return effects.attempt(titleBefore, after, after)(code)\n }\n\n /**\n * After definition.\n *\n * ```markdown\n * > | [a]: b\n * ^\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return markdownSpace(code)\n ? factorySpace(effects, afterWhitespace, types.whitespace)(code)\n : afterWhitespace(code)\n }\n\n /**\n * After definition, after optional whitespace.\n *\n * ```markdown\n * > | [a]: b\n * ^\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function afterWhitespace(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n effects.exit(types.definition)\n\n // Note: we don’t care about uniqueness.\n // It’s likely that that doesn’t happen very frequently.\n // It is more likely that it wastes precious time.\n self.parser.defined.push(identifier)\n\n // To do: `markdown-rs` interrupt.\n // // You’d be interrupting.\n // tokenizer.interrupt = true\n return ok(code)\n }\n\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeTitleBefore(effects, ok, nok) {\n return titleBefore\n\n /**\n * After destination, at whitespace.\n *\n * ```markdown\n * > | [a]: b\n * ^\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function titleBefore(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, beforeMarker)(code)\n : nok(code)\n }\n\n /**\n * At title.\n *\n * ```markdown\n * | [a]: b\n * > | \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeMarker(code) {\n return factoryTitle(\n effects,\n titleAfter,\n nok,\n types.definitionTitle,\n types.definitionTitleMarker,\n types.definitionTitleString\n )(code)\n }\n\n /**\n * After title.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function titleAfter(code) {\n return markdownSpace(code)\n ? factorySpace(\n effects,\n titleAfterOptionalWhitespace,\n types.whitespace\n )(code)\n : titleAfterOptionalWhitespace(code)\n }\n\n /**\n * After title, after optional whitespace.\n *\n * ```markdown\n * > | [a]: b \"c\"\n * ^\n * ```\n *\n * @type {State}\n */\n function titleAfterOptionalWhitespace(code) {\n return code === codes.eof || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {codes, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n\n /**\n * Start of a hard break (escape).\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n assert(code === codes.backslash, 'expected `\\\\`')\n effects.enter(types.hardBreakEscape)\n effects.consume(code)\n return after\n }\n\n /**\n * After `\\`, at eol.\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownLineEnding(code)) {\n effects.exit(types.hardBreakEscape)\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * @import {\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEndingOrSpace,\n markdownLineEnding,\n markdownSpace\n} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const headingAtx = {\n name: 'headingAtx',\n resolve: resolveHeadingAtx,\n tokenize: tokenizeHeadingAtx\n}\n\n/** @type {Resolver} */\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2\n let contentStart = 3\n /** @type {Token} */\n let content\n /** @type {Token} */\n let text\n\n // Prefix whitespace, part of the opening.\n if (events[contentStart][1].type === types.whitespace) {\n contentStart += 2\n }\n\n // Suffix whitespace, part of the closing.\n if (\n contentEnd - 2 > contentStart &&\n events[contentEnd][1].type === types.whitespace\n ) {\n contentEnd -= 2\n }\n\n if (\n events[contentEnd][1].type === types.atxHeadingSequence &&\n (contentStart === contentEnd - 1 ||\n (contentEnd - 4 > contentStart &&\n events[contentEnd - 2][1].type === types.whitespace))\n ) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: types.atxHeadingText,\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n text = {\n type: types.chunkText,\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n contentType: constants.contentTypeText\n }\n\n splice(events, contentStart, contentEnd - contentStart + 1, [\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n ])\n }\n\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n let size = 0\n\n return start\n\n /**\n * Start of a heading (atx).\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse indent like `markdown-rs`.\n effects.enter(types.atxHeading)\n return before(code)\n }\n\n /**\n * After optional whitespace, at `#`.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n assert(code === codes.numberSign, 'expected `#`')\n effects.enter(types.atxHeadingSequence)\n return sequenceOpen(code)\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (\n code === codes.numberSign &&\n size++ < constants.atxHeadingOpeningFenceSizeMax\n ) {\n effects.consume(code)\n return sequenceOpen\n }\n\n // Always at least one `#`.\n if (code === codes.eof || markdownLineEndingOrSpace(code)) {\n effects.exit(types.atxHeadingSequence)\n return atBreak(code)\n }\n\n return nok(code)\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === codes.numberSign) {\n effects.enter(types.atxHeadingSequence)\n return sequenceFurther(code)\n }\n\n if (code === codes.eof || markdownLineEnding(code)) {\n effects.exit(types.atxHeading)\n // To do: interrupt like `markdown-rs`.\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n return ok(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, types.whitespace)(code)\n }\n\n // To do: generate `data` tokens, add the `text` token later.\n // Needs edit map, see: `markdown.rs`.\n effects.enter(types.atxHeadingText)\n return data(code)\n }\n\n /**\n * In further sequence (after whitespace).\n *\n * Could be normal “visible” hashes in the heading or a final sequence.\n *\n * ```markdown\n * > | ## aa ##\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceFurther(code) {\n if (code === codes.numberSign) {\n effects.consume(code)\n return sequenceFurther\n }\n\n effects.exit(types.atxHeadingSequence)\n return atBreak(code)\n }\n\n /**\n * In text.\n *\n * ```markdown\n * > | ## aa\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (\n code === codes.eof ||\n code === codes.numberSign ||\n markdownLineEndingOrSpace(code)\n ) {\n effects.exit(types.atxHeadingText)\n return atBreak(code)\n }\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @import {\n * Code,\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {\n asciiAlphanumeric,\n asciiAlpha,\n markdownLineEndingOrSpace,\n markdownLineEnding,\n markdownSpace\n} from 'micromark-util-character'\nimport {htmlBlockNames, htmlRawNames} from 'micromark-util-html-tag-name'\nimport {codes, constants, types} from 'micromark-util-symbol'\nimport {blankLine} from './blank-line.js'\n\n/** @type {Construct} */\nexport const htmlFlow = {\n concrete: true,\n name: 'htmlFlow',\n resolveTo: resolveToHtmlFlow,\n tokenize: tokenizeHtmlFlow\n}\n\n/** @type {Construct} */\nconst blankLineBefore = {partial: true, tokenize: tokenizeBlankLineBefore}\nconst nonLazyContinuationStart = {\n partial: true,\n tokenize: tokenizeNonLazyContinuationStart\n}\n\n/** @type {Resolver} */\nfunction resolveToHtmlFlow(events) {\n let index = events.length\n\n while (index--) {\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === types.htmlFlow\n ) {\n break\n }\n }\n\n if (index > 1 && events[index - 2][1].type === types.linePrefix) {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start\n // Add the prefix start to the HTML line token.\n events[index + 1][1].start = events[index - 2][1].start\n // Remove the line prefix.\n events.splice(index - 2, 2)\n }\n\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n const self = this\n /** @type {number} */\n let marker\n /** @type {boolean} */\n let closingTag\n /** @type {string} */\n let buffer\n /** @type {number} */\n let index\n /** @type {Code} */\n let markerB\n\n return start\n\n /**\n * Start of HTML (flow).\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse indent like `markdown-rs`.\n return before(code)\n }\n\n /**\n * At `<`, after optional whitespace.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n assert(code === codes.lessThan, 'expected `<`')\n effects.enter(types.htmlFlow)\n effects.enter(types.htmlFlowData)\n effects.consume(code)\n return open\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === codes.exclamationMark) {\n effects.consume(code)\n return declarationOpen\n }\n\n if (code === codes.slash) {\n effects.consume(code)\n closingTag = true\n return tagCloseStart\n }\n\n if (code === codes.questionMark) {\n effects.consume(code)\n marker = constants.htmlInstruction\n // To do:\n // tokenizer.concrete = true\n // To do: use `markdown-rs` style interrupt.\n // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n assert(code !== null) // Always the case.\n effects.consume(code)\n buffer = String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n\n /**\n * After ` | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === codes.dash) {\n effects.consume(code)\n marker = constants.htmlComment\n return commentOpenInside\n }\n\n if (code === codes.leftSquareBracket) {\n effects.consume(code)\n marker = constants.htmlCdata\n index = 0\n return cdataOpenInside\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code)\n marker = constants.htmlDeclaration\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n\n /**\n * After ` | \n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === codes.dash) {\n effects.consume(code)\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n\n /**\n * After ` | &<]]>\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = constants.cdataOpeningString\n\n if (code === value.charCodeAt(index++)) {\n effects.consume(code)\n\n if (index === value.length) {\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuation\n }\n\n return cdataOpenInside\n }\n\n return nok(code)\n }\n\n /**\n * After ` | \n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n assert(code !== null) // Always the case.\n effects.consume(code)\n buffer = String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n\n /**\n * In tag name.\n *\n * ```markdown\n * > | \n * ^^\n * > | \n * ^^\n * ```\n *\n * @type {State}\n */\n function tagName(code) {\n if (\n code === codes.eof ||\n code === codes.slash ||\n code === codes.greaterThan ||\n markdownLineEndingOrSpace(code)\n ) {\n const slash = code === codes.slash\n const name = buffer.toLowerCase()\n\n if (!slash && !closingTag && htmlRawNames.includes(name)) {\n marker = constants.htmlRaw\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n marker = constants.htmlBasic\n\n if (slash) {\n effects.consume(code)\n return basicSelfClosing\n }\n\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n marker = constants.htmlComplete\n // Do not support complete HTML when interrupting.\n return self.interrupt && !self.parser.lazy[self.now().line]\n ? nok(code)\n : closingTag\n ? completeClosingTagAfter(code)\n : completeAttributeNameBefore(code)\n }\n\n // ASCII alphanumerical and `-`.\n if (code === codes.dash || asciiAlphanumeric(code)) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n\n /**\n * After closing slash of a basic tag name.\n *\n * ```markdown\n * > |
\n * ^\n * ```\n *\n * @type {State}\n */\n function basicSelfClosing(code) {\n if (code === codes.greaterThan) {\n effects.consume(code)\n // // Do not form containers.\n // tokenizer.concrete = true\n return self.interrupt ? ok : continuation\n }\n\n return nok(code)\n }\n\n /**\n * After closing slash of a complete tag name.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeClosingTagAfter\n }\n\n return completeEnd(code)\n }\n\n /**\n * At an attribute name.\n *\n * At first, this state is used after a complete tag name, after whitespace,\n * where it expects optional attributes or the end of the tag.\n * It is also reused after attributes, when expecting more optional\n * attributes.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeNameBefore(code) {\n if (code === codes.slash) {\n effects.consume(code)\n return completeEnd\n }\n\n // ASCII alphanumerical and `:` and `_`.\n if (code === codes.colon || code === codes.underscore || asciiAlpha(code)) {\n effects.consume(code)\n return completeAttributeName\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameBefore\n }\n\n return completeEnd(code)\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeName(code) {\n // ASCII alphanumerical and `-`, `.`, `:`, and `_`.\n if (\n code === codes.dash ||\n code === codes.dot ||\n code === codes.colon ||\n code === codes.underscore ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return completeAttributeName\n }\n\n return completeAttributeNameAfter(code)\n }\n\n /**\n * After attribute name, at an optional initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeNameAfter(code) {\n if (code === codes.equalsTo) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameAfter\n }\n\n return completeAttributeNameBefore(code)\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueBefore(code) {\n if (\n code === codes.eof ||\n code === codes.lessThan ||\n code === codes.equalsTo ||\n code === codes.greaterThan ||\n code === codes.graveAccent\n ) {\n return nok(code)\n }\n\n if (code === codes.quotationMark || code === codes.apostrophe) {\n effects.consume(code)\n markerB = code\n return completeAttributeValueQuoted\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n return completeAttributeValueUnquoted(code)\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueQuoted(code) {\n if (code === markerB) {\n effects.consume(code)\n markerB = null\n return completeAttributeValueQuotedAfter\n }\n\n if (code === codes.eof || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return completeAttributeValueQuoted\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueUnquoted(code) {\n if (\n code === codes.eof ||\n code === codes.quotationMark ||\n code === codes.apostrophe ||\n code === codes.slash ||\n code === codes.lessThan ||\n code === codes.equalsTo ||\n code === codes.greaterThan ||\n code === codes.graveAccent ||\n markdownLineEndingOrSpace(code)\n ) {\n return completeAttributeNameAfter(code)\n }\n\n effects.consume(code)\n return completeAttributeValueUnquoted\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the\n * end of the tag.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAttributeValueQuotedAfter(code) {\n if (\n code === codes.slash ||\n code === codes.greaterThan ||\n markdownSpace(code)\n ) {\n return completeAttributeNameBefore(code)\n }\n\n return nok(code)\n }\n\n /**\n * In certain circumstances of a complete tag where only an `>` is allowed.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeEnd(code) {\n if (code === codes.greaterThan) {\n effects.consume(code)\n return completeAfter\n }\n\n return nok(code)\n }\n\n /**\n * After `>` in a complete tag.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function completeAfter(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n // // Do not form containers.\n // tokenizer.concrete = true\n return continuation(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAfter\n }\n\n return nok(code)\n }\n\n /**\n * In continuation of any HTML kind.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuation(code) {\n if (code === codes.dash && marker === constants.htmlComment) {\n effects.consume(code)\n return continuationCommentInside\n }\n\n if (code === codes.lessThan && marker === constants.htmlRaw) {\n effects.consume(code)\n return continuationRawTagOpen\n }\n\n if (code === codes.greaterThan && marker === constants.htmlDeclaration) {\n effects.consume(code)\n return continuationClose\n }\n\n if (code === codes.questionMark && marker === constants.htmlInstruction) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n if (code === codes.rightSquareBracket && marker === constants.htmlCdata) {\n effects.consume(code)\n return continuationCdataInside\n }\n\n if (\n markdownLineEnding(code) &&\n (marker === constants.htmlBasic || marker === constants.htmlComplete)\n ) {\n effects.exit(types.htmlFlowData)\n return effects.check(\n blankLineBefore,\n continuationAfter,\n continuationStart\n )(code)\n }\n\n if (code === codes.eof || markdownLineEnding(code)) {\n effects.exit(types.htmlFlowData)\n return continuationStart(code)\n }\n\n effects.consume(code)\n return continuation\n }\n\n /**\n * In continuation, at eol.\n *\n * ```markdown\n * > | \n * ^\n * | asd\n * ```\n *\n * @type {State}\n */\n function continuationStart(code) {\n return effects.check(\n nonLazyContinuationStart,\n continuationStartNonLazy,\n continuationAfter\n )(code)\n }\n\n /**\n * In continuation, at eol, before non-lazy content.\n *\n * ```markdown\n * > | \n * ^\n * | asd\n * ```\n *\n * @type {State}\n */\n function continuationStartNonLazy(code) {\n assert(markdownLineEnding(code))\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return continuationBefore\n }\n\n /**\n * In continuation, before non-lazy content.\n *\n * ```markdown\n * | \n * > | asd\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationBefore(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n return continuationStart(code)\n }\n\n effects.enter(types.htmlFlowData)\n return continuation(code)\n }\n\n /**\n * In comment continuation, after one `-`, expecting another.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCommentInside(code) {\n if (code === codes.dash) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n\n /**\n * In raw continuation, after `<`, at `/`.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === codes.slash) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n\n /**\n * In raw continuation, after ` | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === codes.greaterThan) {\n const name = buffer.toLowerCase()\n\n if (htmlRawNames.includes(name)) {\n effects.consume(code)\n return continuationClose\n }\n\n return continuation(code)\n }\n\n if (asciiAlpha(code) && buffer.length < constants.htmlRawSizeMax) {\n assert(code !== null) // Always the case.\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === codes.rightSquareBracket) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === codes.greaterThan) {\n effects.consume(code)\n return continuationClose\n }\n\n // More dashes.\n if (code === codes.dash && marker === constants.htmlComment) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n effects.exit(types.htmlFlowData)\n return continuationAfter(code)\n }\n\n effects.consume(code)\n return continuationClose\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit(types.htmlFlow)\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this\n\n return start\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return after\n }\n\n return nok(code)\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
\n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n assert(markdownLineEnding(code), 'expected a line ending')\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return effects.attempt(blankLine, ok, nok)\n }\n}\n","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n asciiAlphanumeric,\n asciiAlpha,\n markdownLineEndingOrSpace,\n markdownLineEnding,\n markdownSpace\n} from 'micromark-util-character'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const htmlText = {name: 'htmlText', tokenize: tokenizeHtmlText}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable | undefined} */\n let marker\n /** @type {number} */\n let index\n /** @type {State} */\n let returnState\n\n return start\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n assert(code === codes.lessThan, 'expected `<`')\n effects.enter(types.htmlText)\n effects.enter(types.htmlTextData)\n effects.consume(code)\n return open\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === codes.exclamationMark) {\n effects.consume(code)\n return declarationOpen\n }\n\n if (code === codes.slash) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === codes.questionMark) {\n effects.consume(code)\n return instruction\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === codes.dash) {\n effects.consume(code)\n return commentOpenInside\n }\n\n if (code === codes.leftSquareBracket) {\n effects.consume(code)\n index = 0\n return cdataOpenInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n\n return nok(code)\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === codes.dash) {\n effects.consume(code)\n return commentEnd\n }\n\n return nok(code)\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === codes.eof) {\n return nok(code)\n }\n\n if (code === codes.dash) {\n effects.consume(code)\n return commentClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment\n return lineEndingBefore(code)\n }\n\n effects.consume(code)\n return comment\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === codes.dash) {\n effects.consume(code)\n return commentEnd\n }\n\n return comment(code)\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === codes.greaterThan\n ? end(code)\n : code === codes.dash\n ? commentClose(code)\n : comment(code)\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = constants.cdataOpeningString\n\n if (code === value.charCodeAt(index++)) {\n effects.consume(code)\n return index === value.length ? cdata : cdataOpenInside\n }\n\n return nok(code)\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === codes.eof) {\n return nok(code)\n }\n\n if (code === codes.rightSquareBracket) {\n effects.consume(code)\n return cdataClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata\n return lineEndingBefore(code)\n }\n\n effects.consume(code)\n return cdata\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === codes.rightSquareBracket) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === codes.greaterThan) {\n return end(code)\n }\n\n if (code === codes.rightSquareBracket) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === codes.eof || code === codes.greaterThan) {\n return end(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration\n return lineEndingBefore(code)\n }\n\n effects.consume(code)\n return declaration\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === codes.eof) {\n return nok(code)\n }\n\n if (code === codes.questionMark) {\n effects.consume(code)\n return instructionClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction\n return lineEndingBefore(code)\n }\n\n effects.consume(code)\n return instruction\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === codes.greaterThan ? end(code) : instruction(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === codes.dash || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return tagCloseBetween(code)\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return lineEndingBefore(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n\n return end(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === codes.dash || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n if (\n code === codes.slash ||\n code === codes.greaterThan ||\n markdownLineEndingOrSpace(code)\n ) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === codes.slash) {\n effects.consume(code)\n return end\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === codes.colon || code === codes.underscore || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return lineEndingBefore(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n\n return end(code)\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (\n code === codes.dash ||\n code === codes.dot ||\n code === codes.colon ||\n code === codes.underscore ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n return tagOpenAttributeNameAfter(code)\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === codes.equalsTo) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return lineEndingBefore(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n\n return tagOpenBetween(code)\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (\n code === codes.eof ||\n code === codes.lessThan ||\n code === codes.equalsTo ||\n code === codes.greaterThan ||\n code === codes.graveAccent\n ) {\n return nok(code)\n }\n\n if (code === codes.quotationMark || code === codes.apostrophe) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return lineEndingBefore(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueQuotedAfter\n }\n\n if (code === codes.eof) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return lineEndingBefore(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === codes.eof ||\n code === codes.quotationMark ||\n code === codes.apostrophe ||\n code === codes.lessThan ||\n code === codes.equalsTo ||\n code === codes.graveAccent\n ) {\n return nok(code)\n }\n\n if (\n code === codes.slash ||\n code === codes.greaterThan ||\n markdownLineEndingOrSpace(code)\n ) {\n return tagOpenBetween(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (\n code === codes.slash ||\n code === codes.greaterThan ||\n markdownLineEndingOrSpace(code)\n ) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === codes.greaterThan) {\n effects.consume(code)\n effects.exit(types.htmlTextData)\n effects.exit(types.htmlText)\n return ok\n }\n\n return nok(code)\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n assert(returnState, 'expected return state')\n assert(markdownLineEnding(code), 'expected eol')\n effects.exit(types.htmlTextData)\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return lineEndingAfter\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n assert(\n self.parser.constructs.disable.null,\n 'expected `disable.null` to be populated'\n )\n return markdownSpace(code)\n ? factorySpace(\n effects,\n lineEndingAfterPrefix,\n types.linePrefix,\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : constants.tabSize\n )(code)\n : lineEndingAfterPrefix(code)\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter(types.htmlTextData)\n return returnState(code)\n }\n}\n","/**\n * @import {\n * Construct,\n * Event,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {resolveAll} from 'micromark-util-resolve-all'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n resolveAll: resolveAllLabelEnd,\n resolveTo: resolveToLabelEnd,\n tokenize: tokenizeLabelEnd\n}\n\n/** @type {Construct} */\nconst resourceConstruct = {tokenize: tokenizeResource}\n/** @type {Construct} */\nconst referenceFullConstruct = {tokenize: tokenizeReferenceFull}\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {tokenize: tokenizeReferenceCollapsed}\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1\n /** @type {Array} */\n const newEvents = []\n while (++index < events.length) {\n const token = events[index][1]\n newEvents.push(events[index])\n\n if (\n token.type === types.labelImage ||\n token.type === types.labelLink ||\n token.type === types.labelEnd\n ) {\n // Remove the marker.\n const offset = token.type === types.labelImage ? 4 : 2\n token.type = types.data\n index += offset\n }\n }\n\n // If the events are equal, we don't have to copy newEvents to events\n if (events.length !== newEvents.length) {\n splice(events, 0, events.length, newEvents)\n }\n\n return events\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n let token\n /** @type {number | undefined} */\n let open\n /** @type {number | undefined} */\n let close\n /** @type {Array} */\n let media\n\n // Find an opening.\n while (index--) {\n token = events[index][1]\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === types.link ||\n (token.type === types.labelLink && token._inactive)\n ) {\n break\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === types.labelLink) {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === types.labelImage || token.type === types.labelLink) &&\n !token._balanced\n ) {\n open = index\n\n if (token.type !== types.labelLink) {\n offset = 2\n break\n }\n }\n } else if (token.type === types.labelEnd) {\n close = index\n }\n }\n\n assert(open !== undefined, '`open` is supposed to be found')\n assert(close !== undefined, '`close` is supposed to be found')\n\n const group = {\n type: events[open][1].type === types.labelLink ? types.link : types.image,\n start: {...events[open][1].start},\n end: {...events[events.length - 1][1].end}\n }\n\n const label = {\n type: types.label,\n start: {...events[open][1].start},\n end: {...events[close][1].end}\n }\n\n const text = {\n type: types.labelText,\n start: {...events[open + offset + 2][1].end},\n end: {...events[close - 2][1].start}\n }\n\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ]\n\n // Opening marker.\n media = push(media, events.slice(open + 1, open + offset + 3))\n\n // Text open.\n media = push(media, [['enter', text, context]])\n\n // Always populated by defaults.\n assert(\n context.parser.constructs.insideSpan.null,\n 'expected `insideSpan.null` to be populated'\n )\n // Between.\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n )\n\n // Text close, marker close, label close.\n media = push(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ])\n\n // Reference, resource, or so.\n media = push(media, events.slice(close + 1))\n\n // Media close.\n media = push(media, [['exit', group, context]])\n\n splice(events, open, events.length, media)\n\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n let labelStart\n /** @type {boolean} */\n let defined\n\n // Find an opening.\n while (index--) {\n if (\n (self.events[index][1].type === types.labelImage ||\n self.events[index][1].type === types.labelLink) &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n\n return start\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n assert(code === codes.rightSquareBracket, 'expected `]`')\n\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code)\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code)\n }\n\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({start: labelStart.end, end: self.now()})\n )\n )\n effects.enter(types.labelEnd)\n effects.enter(types.labelMarker)\n effects.consume(code)\n effects.exit(types.labelMarker)\n effects.exit(types.labelEnd)\n return after\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === codes.leftParenthesis) {\n return effects.attempt(\n resourceConstruct,\n labelEndOk,\n defined ? labelEndOk : labelEndNok\n )(code)\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === codes.leftSquareBracket) {\n return effects.attempt(\n referenceFullConstruct,\n labelEndOk,\n defined ? referenceNotFull : labelEndNok\n )(code)\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code)\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(\n referenceCollapsedConstruct,\n labelEndOk,\n labelEndNok\n )(code)\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code)\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n assert(code === codes.leftParenthesis, 'expected left paren')\n effects.enter(types.resource)\n effects.enter(types.resourceMarker)\n effects.consume(code)\n effects.exit(types.resourceMarker)\n return resourceBefore\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, resourceOpen)(code)\n : resourceOpen(code)\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === codes.rightParenthesis) {\n return resourceEnd(code)\n }\n\n return factoryDestination(\n effects,\n resourceDestinationAfter,\n resourceDestinationMissing,\n types.resourceDestination,\n types.resourceDestinationLiteral,\n types.resourceDestinationLiteralMarker,\n types.resourceDestinationRaw,\n types.resourceDestinationString,\n constants.linkResourceDestinationBalanceMax\n )(code)\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, resourceBetween)(code)\n : resourceEnd(code)\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code)\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (\n code === codes.quotationMark ||\n code === codes.apostrophe ||\n code === codes.leftParenthesis\n ) {\n return factoryTitle(\n effects,\n resourceTitleAfter,\n nok,\n types.resourceTitle,\n types.resourceTitleMarker,\n types.resourceTitleString\n )(code)\n }\n\n return resourceEnd(code)\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, resourceEnd)(code)\n : resourceEnd(code)\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === codes.rightParenthesis) {\n effects.enter(types.resourceMarker)\n effects.consume(code)\n effects.exit(types.resourceMarker)\n effects.exit(types.resource)\n return ok\n }\n\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this\n\n return referenceFull\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n assert(code === codes.leftSquareBracket, 'expected left bracket')\n return factoryLabel.call(\n self,\n effects,\n referenceFullAfter,\n referenceFullMissing,\n types.reference,\n types.referenceMarker,\n types.referenceString\n )(code)\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n assert(code === codes.leftSquareBracket, 'expected left bracket')\n effects.enter(types.reference)\n effects.enter(types.referenceMarker)\n effects.consume(code)\n effects.exit(types.referenceMarker)\n return referenceCollapsedOpen\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === codes.rightSquareBracket) {\n effects.enter(types.referenceMarker)\n effects.consume(code)\n effects.exit(types.referenceMarker)\n effects.exit(types.reference)\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {codes, types} from 'micromark-util-symbol'\nimport {labelEnd} from './label-end.js'\n\n/** @type {Construct} */\nexport const labelStartImage = {\n name: 'labelStartImage',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartImage\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n\n return start\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n assert(code === codes.exclamationMark, 'expected `!`')\n effects.enter(types.labelImage)\n effects.enter(types.labelImageMarker)\n effects.consume(code)\n effects.exit(types.labelImageMarker)\n return open\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === codes.leftSquareBracket) {\n effects.enter(types.labelMarker)\n effects.consume(code)\n effects.exit(types.labelMarker)\n effects.exit(types.labelImage)\n return after\n }\n\n return nok(code)\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n *

!^a

\n *

!^a

\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === codes.caret &&\n '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {codes, types} from 'micromark-util-symbol'\nimport {labelEnd} from './label-end.js'\n\n/** @type {Construct} */\nexport const labelStartLink = {\n name: 'labelStartLink',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartLink\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n\n return start\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n assert(code === codes.leftSquareBracket, 'expected `[`')\n effects.enter(types.labelLink)\n effects.enter(types.labelMarker)\n effects.consume(code)\n effects.exit(types.labelMarker)\n effects.exit(types.labelLink)\n return after\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === codes.caret &&\n '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const lineEnding = {name: 'lineEnding', tokenize: tokenizeLineEnding}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start\n\n /** @type {State} */\n function start(code) {\n assert(markdownLineEnding(code), 'expected eol')\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return factorySpace(effects, ok, types.linePrefix)\n }\n}\n","/**\n * @import {\n * Code,\n * Construct,\n * Exiter,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {factorySpace} from 'micromark-factory-space'\nimport {asciiDigit, markdownSpace} from 'micromark-util-character'\nimport {codes, constants, types} from 'micromark-util-symbol'\nimport {blankLine} from './blank-line.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/** @type {Construct} */\nexport const list = {\n continuation: {tokenize: tokenizeListContinuation},\n exit: tokenizeListEnd,\n name: 'list',\n tokenize: tokenizeListStart\n}\n\n/** @type {Construct} */\nconst listItemPrefixWhitespaceConstruct = {\n partial: true,\n tokenize: tokenizeListItemPrefixWhitespace\n}\n\n/** @type {Construct} */\nconst indentConstruct = {partial: true, tokenize: tokenizeIndent}\n\n// To do: `markdown-rs` parses list items on their own and later stitches them\n// together.\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this\n const tail = self.events[self.events.length - 1]\n let initialSize =\n tail && tail[1].type === types.linePrefix\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let size = 0\n\n return start\n\n /** @type {State} */\n function start(code) {\n assert(self.containerState, 'expected state')\n const kind =\n self.containerState.type ||\n (code === codes.asterisk || code === codes.plusSign || code === codes.dash\n ? types.listUnordered\n : types.listOrdered)\n\n if (\n kind === types.listUnordered\n ? !self.containerState.marker || code === self.containerState.marker\n : asciiDigit(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {_container: true})\n }\n\n if (kind === types.listUnordered) {\n effects.enter(types.listItemPrefix)\n return code === codes.asterisk || code === codes.dash\n ? effects.check(thematicBreak, nok, atMarker)(code)\n : atMarker(code)\n }\n\n if (!self.interrupt || code === codes.digit1) {\n effects.enter(types.listItemPrefix)\n effects.enter(types.listItemValue)\n return inside(code)\n }\n }\n\n return nok(code)\n }\n\n /** @type {State} */\n function inside(code) {\n assert(self.containerState, 'expected state')\n if (asciiDigit(code) && ++size < constants.listItemValueSizeMax) {\n effects.consume(code)\n return inside\n }\n\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === codes.rightParenthesis || code === codes.dot)\n ) {\n effects.exit(types.listItemValue)\n return atMarker(code)\n }\n\n return nok(code)\n }\n\n /**\n * @type {State}\n **/\n function atMarker(code) {\n assert(self.containerState, 'expected state')\n assert(code !== codes.eof, 'eof (`null`) is not a marker')\n effects.enter(types.listItemMarker)\n effects.consume(code)\n effects.exit(types.listItemMarker)\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n blankLine,\n // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n\n /** @type {State} */\n function onBlank(code) {\n assert(self.containerState, 'expected state')\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n\n /** @type {State} */\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter(types.listItemPrefixWhitespace)\n effects.consume(code)\n effects.exit(types.listItemPrefixWhitespace)\n return endOfPrefix\n }\n\n return nok(code)\n }\n\n /** @type {State} */\n function endOfPrefix(code) {\n assert(self.containerState, 'expected state')\n self.containerState.size =\n initialSize +\n self.sliceSerialize(effects.exit(types.listItemPrefix), true).length\n return ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this\n\n assert(self.containerState, 'expected state')\n self.containerState._closeFlow = undefined\n\n return effects.check(blankLine, onBlank, notBlank)\n\n /** @type {State} */\n function onBlank(code) {\n assert(self.containerState, 'expected state')\n assert(typeof self.containerState.size === 'number', 'expected size')\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine\n\n // We have a blank line.\n // Still, try to consume at most the items size.\n return factorySpace(\n effects,\n ok,\n types.listItemIndent,\n self.containerState.size + 1\n )(code)\n }\n\n /** @type {State} */\n function notBlank(code) {\n assert(self.containerState, 'expected state')\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n\n /** @type {State} */\n function notInCurrentItem(code) {\n assert(self.containerState, 'expected state')\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true\n // As we’re closing flow, we’re no longer interrupting.\n self.interrupt = undefined\n // Always populated by defaults.\n assert(\n self.parser.constructs.disable.null,\n 'expected `disable.null` to be populated'\n )\n return factorySpace(\n effects,\n effects.attempt(list, ok, nok),\n types.linePrefix,\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : constants.tabSize\n )(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n\n assert(self.containerState, 'expected state')\n assert(typeof self.containerState.size === 'number', 'expected size')\n\n return factorySpace(\n effects,\n afterPrefix,\n types.listItemIndent,\n self.containerState.size + 1\n )\n\n /** @type {State} */\n function afterPrefix(code) {\n assert(self.containerState, 'expected state')\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === types.listItemIndent &&\n tail[2].sliceSerialize(tail[1], true).length === self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Exiter}\n */\nfunction tokenizeListEnd(effects) {\n assert(this.containerState, 'expected state')\n assert(typeof this.containerState.type === 'string', 'expected type')\n effects.exit(this.containerState.type)\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this\n\n // Always populated by defaults.\n assert(\n self.parser.constructs.disable.null,\n 'expected `disable.null` to be populated'\n )\n\n return factorySpace(\n effects,\n afterPrefix,\n types.listItemPrefixWhitespace,\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : constants.tabSize + 1\n )\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n\n return !markdownSpace(code) &&\n tail &&\n tail[1].type === types.listItemPrefixWhitespace\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @import {\n * Code,\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\nimport {codes, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n resolveTo: resolveToSetextUnderline,\n tokenize: tokenizeSetextUnderline\n}\n\n/** @type {Resolver} */\nfunction resolveToSetextUnderline(events, context) {\n // To do: resolve like `markdown-rs`.\n let index = events.length\n /** @type {number | undefined} */\n let content\n /** @type {number | undefined} */\n let text\n /** @type {number | undefined} */\n let definition\n\n // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === types.content) {\n content = index\n break\n }\n\n if (events[index][1].type === types.paragraph) {\n text = index\n }\n }\n // Exit\n else {\n if (events[index][1].type === types.content) {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n\n if (!definition && events[index][1].type === types.definition) {\n definition = index\n }\n }\n }\n\n assert(text !== undefined, 'expected a `text` index to be found')\n assert(content !== undefined, 'expected a `text` index to be found')\n\n const heading = {\n type: types.setextHeading,\n start: {...events[text][1].start},\n end: {...events[events.length - 1][1].end}\n }\n\n // Change the paragraph to setext heading text.\n events[text][1].type = types.setextHeadingText\n\n // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = {...events[definition][1].end}\n } else {\n events[content][1] = heading\n }\n\n // Add the heading exit at the end.\n events.push(['exit', heading, context])\n\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this\n /** @type {NonNullable} */\n let marker\n\n return start\n\n /**\n * At start of heading (setext) underline.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n let index = self.events.length\n /** @type {boolean | undefined} */\n let paragraph\n\n assert(\n code === codes.dash || code === codes.equalsTo,\n 'expected `=` or `-`'\n )\n\n // Find an opening.\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== types.lineEnding &&\n self.events[index][1].type !== types.linePrefix &&\n self.events[index][1].type !== types.content\n ) {\n paragraph = self.events[index][1].type === types.paragraph\n break\n }\n }\n\n // To do: handle lazy/pierce like `markdown-rs`.\n // To do: parse indent like `markdown-rs`.\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter(types.setextHeadingLine)\n marker = code\n return before(code)\n }\n\n return nok(code)\n }\n\n /**\n * After optional whitespace, at `-` or `=`.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter(types.setextHeadingLineSequence)\n return inside(code)\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code)\n return inside\n }\n\n effects.exit(types.setextHeadingLineSequence)\n\n return markdownSpace(code)\n ? factorySpace(effects, after, types.lineSuffix)(code)\n : after(code)\n }\n\n /**\n * After sequence, after optional whitespace.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (code === codes.eof || markdownLineEnding(code)) {\n effects.exit(types.setextHeadingLine)\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0\n /** @type {NonNullable} */\n let marker\n\n return start\n\n /**\n * Start of thematic break.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(types.thematicBreak)\n // To do: parse indent like `markdown-rs`.\n return before(code)\n }\n\n /**\n * After optional whitespace, at marker.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n assert(\n code === codes.asterisk ||\n code === codes.dash ||\n code === codes.underscore,\n 'expected `*`, `-`, or `_`'\n )\n marker = code\n return atBreak(code)\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.enter(types.thematicBreakSequence)\n return sequence(code)\n }\n\n if (\n size >= constants.thematicBreakMarkerCountMin &&\n (code === codes.eof || markdownLineEnding(code))\n ) {\n effects.exit(types.thematicBreak)\n return ok(code)\n }\n\n return nok(code)\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n\n effects.exit(types.thematicBreakSequence)\n return markdownSpace(code)\n ? factorySpace(effects, atBreak, types.whitespace)(code)\n : atBreak(code)\n }\n}\n","/**\n * @import {Effects, State, TokenType} from 'micromark-util-types'\n */\n\nimport {\n asciiControl,\n markdownLineEndingOrSpace,\n markdownLineEnding\n} from 'micromark-util-character'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/**\n * Parse destinations.\n *\n * ###### Examples\n *\n * ```markdown\n * \n * b>\n * \n * \n * a\n * a\\)b\n * a(b)c\n * a(b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type for whole (`` or `b`).\n * @param {TokenType} literalType\n * Type when enclosed (``).\n * @param {TokenType} literalMarkerType\n * Type for enclosing (`<` and `>`).\n * @param {TokenType} rawType\n * Type when not enclosed (`b`).\n * @param {TokenType} stringType\n * Type for the value (`a` or `b`).\n * @param {number | undefined} [max=Infinity]\n * Depth of nested parens (inclusive).\n * @returns {State}\n * Start state.\n */\nexport function factoryDestination(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n const limit = max || Number.POSITIVE_INFINITY\n let balance = 0\n\n return start\n\n /**\n * Start of destination.\n *\n * ```markdown\n * > | \n * ^\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === codes.lessThan) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return enclosedBefore\n }\n\n // ASCII control, space, closing paren.\n if (\n code === codes.eof ||\n code === codes.space ||\n code === codes.rightParenthesis ||\n asciiControl(code)\n ) {\n return nok(code)\n }\n\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter(types.chunkString, {contentType: constants.contentTypeString})\n return raw(code)\n }\n\n /**\n * After `<`, at an enclosed destination.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedBefore(code) {\n if (code === codes.greaterThan) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n effects.enter(types.chunkString, {contentType: constants.contentTypeString})\n return enclosed(code)\n }\n\n /**\n * In enclosed destination.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosed(code) {\n if (code === codes.greaterThan) {\n effects.exit(types.chunkString)\n effects.exit(stringType)\n return enclosedBefore(code)\n }\n\n if (\n code === codes.eof ||\n code === codes.lessThan ||\n markdownLineEnding(code)\n ) {\n return nok(code)\n }\n\n effects.consume(code)\n return code === codes.backslash ? enclosedEscape : enclosed\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedEscape(code) {\n if (\n code === codes.lessThan ||\n code === codes.greaterThan ||\n code === codes.backslash\n ) {\n effects.consume(code)\n return enclosed\n }\n\n return enclosed(code)\n }\n\n /**\n * In raw destination.\n *\n * ```markdown\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function raw(code) {\n if (\n !balance &&\n (code === codes.eof ||\n code === codes.rightParenthesis ||\n markdownLineEndingOrSpace(code))\n ) {\n effects.exit(types.chunkString)\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n if (balance < limit && code === codes.leftParenthesis) {\n effects.consume(code)\n balance++\n return raw\n }\n\n if (code === codes.rightParenthesis) {\n effects.consume(code)\n balance--\n return raw\n }\n\n // ASCII control (but *not* `\\0`) and space and `(`.\n // Note: in `markdown-rs`, `\\0` exists in codes, in `micromark-js` it\n // doesn’t.\n if (\n code === codes.eof ||\n code === codes.space ||\n code === codes.leftParenthesis ||\n asciiControl(code)\n ) {\n return nok(code)\n }\n\n effects.consume(code)\n return code === codes.backslash ? rawEscape : raw\n }\n\n /**\n * After `\\`, at special character.\n *\n * ```markdown\n * > | a\\*a\n * ^\n * ```\n *\n * @type {State}\n */\n function rawEscape(code) {\n if (\n code === codes.leftParenthesis ||\n code === codes.rightParenthesis ||\n code === codes.backslash\n ) {\n effects.consume(code)\n return raw\n }\n\n return raw(code)\n }\n}\n","/**\n * @import {\n * Effects,\n * State,\n * TokenizeContext,\n * TokenType\n * } from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/**\n * Parse labels.\n *\n * > 👉 **Note**: labels in markdown are capped at 999 characters in the string.\n *\n * ###### Examples\n *\n * ```markdown\n * [a]\n * [a\n * b]\n * [a\\]b]\n * ```\n *\n * @this {TokenizeContext}\n * Tokenize context.\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole label (`[a]`).\n * @param {TokenType} markerType\n * Type for the markers (`[` and `]`).\n * @param {TokenType} stringType\n * Type for the identifier (`a`).\n * @returns {State}\n * Start state.\n */\nexport function factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this\n let size = 0\n /** @type {boolean} */\n let seen\n\n return start\n\n /**\n * Start of label.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n assert(code === codes.leftSquareBracket, 'expected `[`')\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n\n /**\n * In label, at something, before something else.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (\n size > constants.linkReferenceSizeMax ||\n code === codes.eof ||\n code === codes.leftSquareBracket ||\n (code === codes.rightSquareBracket && !seen) ||\n // To do: remove in the future once we’ve switched from\n // `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n // which doesn’t need this.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n (code === codes.caret &&\n !size &&\n '_hiddenFootnoteSupport' in self.parser.constructs)\n ) {\n return nok(code)\n }\n\n if (code === codes.rightSquareBracket) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n // To do: indent? Link chunks and EOLs together?\n if (markdownLineEnding(code)) {\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return atBreak\n }\n\n effects.enter(types.chunkString, {contentType: constants.contentTypeString})\n return labelInside(code)\n }\n\n /**\n * In label, in text.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelInside(code) {\n if (\n code === codes.eof ||\n code === codes.leftSquareBracket ||\n code === codes.rightSquareBracket ||\n markdownLineEnding(code) ||\n size++ > constants.linkReferenceSizeMax\n ) {\n effects.exit(types.chunkString)\n return atBreak(code)\n }\n\n effects.consume(code)\n if (!seen) seen = !markdownSpace(code)\n return code === codes.backslash ? labelEscape : labelInside\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | [a\\*a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEscape(code) {\n if (\n code === codes.leftSquareBracket ||\n code === codes.backslash ||\n code === codes.rightSquareBracket\n ) {\n effects.consume(code)\n size++\n return labelInside\n }\n\n return labelInside(code)\n }\n}\n","/**\n * @import {Effects, State, TokenType} from 'micromark-util-types'\n */\n\nimport {markdownSpace} from 'micromark-util-character'\n\n// To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`.\n\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * spaces in markdown are often optional, in which case this factory can be\n * used and `ok` will be switched to whether spaces were found or not\n * * one line ending or space can be detected with `markdownSpace(code)` right\n * before using `factorySpace`\n *\n * ###### Examples\n *\n * Where `␉` represents a tab (plus how much it expands) and `␠` represents a\n * single space.\n *\n * ```markdown\n * ␉\n * ␠␠␠␠\n * ␉␠\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {TokenType} type\n * Type (`' \\t'`).\n * @param {number | undefined} [max=Infinity]\n * Max (exclusive).\n * @returns {State}\n * Start state.\n */\nexport function factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY\n let size = 0\n\n return start\n\n /** @type {State} */\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type)\n return prefix(code)\n }\n\n return ok(code)\n }\n\n /** @type {State} */\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n\n effects.exit(type)\n return ok(code)\n }\n}\n","/**\n * @import {\n * Code,\n * Effects,\n * State,\n * TokenType\n * } from 'micromark-util-types'\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {codes, constants, types} from 'micromark-util-symbol'\n\n/**\n * Parse titles.\n *\n * ###### Examples\n *\n * ```markdown\n * \"a\"\n * 'b'\n * (c)\n * \"a\n * b\"\n * 'a\n * b'\n * (a\\)b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole title (`\"a\"`, `'b'`, `(c)`).\n * @param {TokenType} markerType\n * Type for the markers (`\"`, `'`, `(`, and `)`).\n * @param {TokenType} stringType\n * Type for the value (`a`).\n * @returns {State}\n * Start state.\n */\nexport function factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable} */\n let marker\n\n return start\n\n /**\n * Start of title.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (\n code === codes.quotationMark ||\n code === codes.apostrophe ||\n code === codes.leftParenthesis\n ) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === codes.leftParenthesis ? codes.rightParenthesis : code\n return begin\n }\n\n return nok(code)\n }\n\n /**\n * After opening marker.\n *\n * This is also used at the closing marker.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function begin(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n return atBreak(code)\n }\n\n /**\n * At something, before something else.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return begin(marker)\n }\n\n if (code === codes.eof) {\n return nok(code)\n }\n\n // Note: blank lines can’t exist in content.\n if (markdownLineEnding(code)) {\n // To do: use `space_or_tab_eol_with_options`, connect.\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n return factorySpace(effects, atBreak, types.linePrefix)\n }\n\n effects.enter(types.chunkString, {contentType: constants.contentTypeString})\n return inside(code)\n }\n\n /**\n *\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker || code === codes.eof || markdownLineEnding(code)) {\n effects.exit(types.chunkString)\n return atBreak(code)\n }\n\n effects.consume(code)\n return code === codes.backslash ? escape : inside\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | \"a\\*b\"\n * ^\n * ```\n *\n * @type {State}\n */\n function escape(code) {\n if (code === marker || code === codes.backslash) {\n effects.consume(code)\n return inside\n }\n\n return inside(code)\n }\n}\n","/**\n * @import {Effects, State} from 'micromark-util-types'\n */\n\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\nimport {types} from 'micromark-util-symbol'\n\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * line endings or spaces in markdown are often optional, in which case this\n * factory can be used and `ok` will be switched to whether spaces were found\n * or not\n * * one line ending or space can be detected with\n * `markdownLineEndingOrSpace(code)` right before using `factoryWhitespace`\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @returns {State}\n * Start state.\n */\nexport function factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen\n\n return start\n\n /** @type {State} */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(types.lineEnding)\n effects.consume(code)\n effects.exit(types.lineEnding)\n seen = true\n return start\n }\n\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n start,\n seen ? types.linePrefix : types.lineSuffix\n )(code)\n }\n\n return ok(code)\n }\n}\n","/**\n * @import {Code} from 'micromark-util-types'\n */\n\nimport {codes} from 'micromark-util-symbol'\n\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiAlpha = regexCheck(/[A-Za-z]/)\n\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < codes.space || code === codes.del)\n )\n}\n\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiDigit = regexCheck(/\\d/)\n\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n *\n * @param code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function markdownLineEnding(code) {\n return code !== null && code < codes.horizontalTab\n}\n\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function markdownLineEndingOrSpace(code) {\n return code !== null && (code < codes.nul || code === codes.space)\n}\n\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nexport function markdownSpace(code) {\n return (\n code === codes.horizontalTab ||\n code === codes.virtualSpace ||\n code === codes.space\n )\n}\n\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nexport const unicodePunctuation = regexCheck(/\\p{P}|\\p{S}/u)\n\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nexport const unicodeWhitespace = regexCheck(/\\s/)\n\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * Expression.\n * @returns {(code: Code) => boolean}\n * Check.\n */\nfunction regexCheck(regex) {\n return check\n\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code\n * Character code.\n * @returns {boolean}\n * Whether the character code matches the bound regex.\n */\n function check(code) {\n return code !== null && code > -1 && regex.test(String.fromCharCode(code))\n }\n}\n","import {constants} from 'micromark-util-symbol'\n\n/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array} list\n * List to operate on.\n * @param {number} start\n * Index to remove/insert at (can be negative).\n * @param {number} remove\n * Number of items to remove.\n * @param {Array} items\n * Items to inject into `list`.\n * @returns {undefined}\n * Nothing.\n */\nexport function splice(list, start, remove, items) {\n const end = list.length\n let chunkStart = 0\n /** @type {Array} */\n let parameters\n\n // Make start between zero and `end` (included).\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n\n remove = remove > 0 ? remove : 0\n\n // No need to chunk the items if there’s only a couple (10k) items.\n if (items.length < constants.v8MaxSafeChunkSize) {\n parameters = Array.from(items)\n parameters.unshift(start, remove)\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) list.splice(start, remove)\n\n // Insert the items in chunks to not cause stack overflows.\n while (chunkStart < items.length) {\n parameters = items.slice(\n chunkStart,\n chunkStart + constants.v8MaxSafeChunkSize\n )\n parameters.unshift(start, 0)\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters)\n\n chunkStart += constants.v8MaxSafeChunkSize\n start += constants.v8MaxSafeChunkSize\n }\n }\n}\n\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array} list\n * List to operate on.\n * @param {Array} items\n * Items to add to `list`.\n * @returns {Array}\n * Either `list` or `items`.\n */\nexport function push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items)\n return list\n }\n\n return items\n}\n","/**\n * @import {Code} from 'micromark-util-types'\n */\n\nimport {\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\nimport {codes, constants} from 'micromark-util-symbol'\n\n/**\n * Classify whether a code represents whitespace, punctuation, or something\n * else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * > 👉 **Note**: eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * Code.\n * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}\n * Group.\n */\nexport function classifyCharacter(code) {\n if (\n code === codes.eof ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return constants.characterGroupWhitespace\n }\n\n if (unicodePunctuation(code)) {\n return constants.characterGroupPunctuation\n }\n}\n","/**\n * @import {\n * Extension,\n * Handles,\n * HtmlExtension,\n * NormalizedExtension\n * } from 'micromark-util-types'\n */\n\nimport {splice} from 'micromark-util-chunked'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine multiple syntax extensions into one.\n *\n * @param {ReadonlyArray} extensions\n * List of syntax extensions.\n * @returns {NormalizedExtension}\n * A single combined extension.\n */\nexport function combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all\n * Extension to merge into.\n * @param {Extension} extension\n * Extension to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction syntaxExtension(all, extension) {\n /** @type {keyof Extension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n /** @type {Record} */\n const left = maybe || (all[hook] = {})\n /** @type {Record | undefined} */\n const right = extension[hook]\n /** @type {string} */\n let code\n\n if (right) {\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {Array} existing\n * List of constructs to merge into.\n * @param {Array} list\n * List of constructs to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {Array} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n splice(existing, 0, 0, before)\n}\n\n/**\n * Combine multiple HTML extensions into one.\n *\n * @param {ReadonlyArray} htmlExtensions\n * List of HTML extensions.\n * @returns {HtmlExtension}\n * Single combined HTML extension.\n */\nexport function combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all\n * Extension to merge into.\n * @param {HtmlExtension} extension\n * Extension to merge.\n * @returns {undefined}\n * Nothing.\n */\nfunction htmlExtension(all, extension) {\n /** @type {keyof HtmlExtension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {keyof Handles} */\n let type\n\n if (right) {\n for (type in right) {\n // @ts-expect-error assume document vs regular handler are managed correctly.\n left[type] = right[type]\n }\n }\n }\n}\n","import {codes, values} from 'micromark-util-symbol'\n\n/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * Sort of like `String.fromCodePoint(Number.parseInt(value, base))`, but makes\n * non-characters and control characters safe.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n * Character.\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base)\n\n if (\n // C0 except for HT, LF, FF, CR, space.\n code < codes.ht ||\n code === codes.vt ||\n (code > codes.cr && code < codes.space) ||\n // Control character (DEL) of C0, and C1 controls.\n (code > codes.tilde && code < 160) ||\n // Lone high surrogates and low surrogates.\n (code > 55_295 && code < 57_344) ||\n // Noncharacters.\n (code > 64_975 && code < 65_008) ||\n /* eslint-disable no-bitwise */\n (code & 65_535) === 65_535 ||\n (code & 65_535) === 65_534 ||\n /* eslint-enable no-bitwise */\n // Out of range\n code > 1_114_111\n ) {\n return values.replacementCharacter\n }\n\n return String.fromCodePoint(code)\n}\n","import {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {codes, constants} from 'micromark-util-symbol'\n\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n\n/**\n * Decode markdown strings (which occur in places such as fenced code info\n * strings, destinations, labels, and titles).\n *\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * Value to decode.\n * @returns {string}\n * Decoded value.\n */\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n\n/**\n * @param {string} $0\n * Match.\n * @param {string} $1\n * Character escape.\n * @param {string} $2\n * Character reference.\n * @returns {string}\n * Decoded value\n */\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n }\n\n // Reference.\n const head = $2.charCodeAt(0)\n\n if (head === codes.numberSign) {\n const head = $2.charCodeAt(1)\n const hex = head === codes.lowercaseX || head === codes.uppercaseX\n return decodeNumericCharacterReference(\n $2.slice(hex ? 2 : 1),\n hex ? constants.numericBaseHexadecimal : constants.numericBaseDecimal\n )\n }\n\n return decodeNamedCharacterReference($2) || $0\n}\n","const characterReferences = {'\"': 'quot', '&': 'amp', '<': 'lt', '>': 'gt'}\n\n/**\n * Encode only the dangerous HTML characters.\n *\n * This ensures that certain characters which have special meaning in HTML are\n * dealt with.\n * Technically, we can skip `>` and `\"` in many cases, but CM includes them.\n *\n * @param {string} value\n * Value to encode.\n * @returns {string}\n * Encoded value.\n */\nexport function encode(value) {\n return value.replace(/[\"&<>]/g, replace)\n\n /**\n * @param {string} value\n * Value to replace.\n * @returns {string}\n * Encoded value.\n */\n function replace(value) {\n return (\n '&' +\n characterReferences[\n /** @type {keyof typeof characterReferences} */ (value)\n ] +\n ';'\n )\n }\n}\n","/**\n * List of lowercase HTML “block” tag names.\n *\n * The list, when parsing HTML (flow), results in more relaxed rules (condition\n * 6).\n * Because they are known blocks, the HTML-like syntax doesn’t have to be\n * strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * .\n *\n * > 👉 **Note**: `search` was added in `CommonMark@0.31`.\n */\nexport const htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'search',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML “raw” tag names.\n *\n * The list, when parsing HTML (flow), results in HTML that can include lines\n * without exiting, until a closing tag also in this list is found (condition\n * 1).\n *\n * This module is copied from:\n * .\n *\n * > 👉 **Note**: `textarea` was added in `CommonMark@0.30`.\n */\nexport const htmlRawNames = ['pre', 'script', 'style', 'textarea']\n","import {values} from 'micromark-util-symbol'\n\n/**\n * Normalize an identifier (as found in references, definitions).\n *\n * Collapses markdown whitespace, trim, and then lower- and uppercase.\n *\n * Some characters are considered “uppercase”, such as U+03F4 (`ϴ`), but if their\n * lowercase counterpart (U+03B8 (`θ`)) is uppercased will result in a different\n * uppercase character (U+0398 (`Θ`)).\n * So, to get a canonical form, we perform both lower- and uppercase.\n *\n * Using uppercase last makes sure keys will never interact with default\n * prototypal values (such as `constructor`): nothing in the prototype of\n * `Object` is uppercase.\n *\n * @param {string} value\n * Identifier to normalize.\n * @returns {string}\n * Normalized identifier.\n */\nexport function normalizeIdentifier(value) {\n return (\n value\n // Collapse markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, values.space)\n // Trim.\n .replace(/^ | $/g, '')\n // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n","/**\n * @import {Event, Resolver, TokenizeContext} from 'micromark-util-types'\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {ReadonlyArray<{resolveAll?: Resolver | undefined}>} constructs\n * List of constructs, optionally with `resolveAll`s.\n * @param {Array} events\n * List of events.\n * @param {TokenizeContext} context\n * Context used by `tokenize`.\n * @returns {Array}\n * Changed events.\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Array} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n","import {asciiAlphanumeric} from 'micromark-util-character'\nimport {encode} from 'micromark-util-encode'\nimport {codes, values} from 'micromark-util-symbol'\n\n/**\n * Make a value safe for injection as a URL.\n *\n * This encodes unsafe characters with percent-encoding and skips already\n * encoded sequences (see `normalizeUri`).\n * Further unsafe characters are encoded as character references (see\n * `micromark-util-encode`).\n *\n * A regex of allowed protocols can be given, in which case the URL is\n * sanitized.\n * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or\n * `/^https?$/i` for `img[src]` (this is what `github.com` allows).\n * If the URL includes an unknown protocol (one not matched by `protocol`, such\n * as a dangerous example, `javascript:`), the value is ignored.\n *\n * @param {string | null | undefined} url\n * URI to sanitize.\n * @param {RegExp | null | undefined} [protocol]\n * Allowed protocols.\n * @returns {string}\n * Sanitized URI.\n */\nexport function sanitizeUri(url, protocol) {\n const value = encode(normalizeUri(url || ''))\n\n if (!protocol) {\n return value\n }\n\n const colon = value.indexOf(':')\n const questionMark = value.indexOf('?')\n const numberSign = value.indexOf('#')\n const slash = value.indexOf('/')\n\n if (\n // If there is no protocol, it’s relative.\n colon < 0 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash > -1 && colon > slash) ||\n (questionMark > -1 && colon > questionMark) ||\n (numberSign > -1 && colon > numberSign) ||\n // It is a protocol, it should be allowed.\n protocol.test(value.slice(0, colon))\n ) {\n return value\n }\n\n return ''\n}\n\n/**\n * Normalize a URL.\n *\n * Encode unsafe characters with percent-encoding, skipping already encoded\n * sequences.\n *\n * @param {string} value\n * URI to normalize.\n * @returns {string}\n * Normalized URI.\n */\nexport function normalizeUri(value) {\n /** @type {Array} */\n const result = []\n let index = -1\n let start = 0\n let skip = 0\n\n while (++index < value.length) {\n const code = value.charCodeAt(index)\n /** @type {string} */\n let replace = ''\n\n // A correct percent encoded value.\n if (\n code === codes.percentSign &&\n asciiAlphanumeric(value.charCodeAt(index + 1)) &&\n asciiAlphanumeric(value.charCodeAt(index + 2))\n ) {\n skip = 2\n }\n // ASCII.\n else if (code < 128) {\n if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) {\n replace = String.fromCharCode(code)\n }\n }\n // Astral.\n else if (code > 55_295 && code < 57_344) {\n const next = value.charCodeAt(index + 1)\n\n // A correct surrogate pair.\n if (code < 56_320 && next > 56_319 && next < 57_344) {\n replace = String.fromCharCode(code, next)\n skip = 1\n }\n // Lone surrogate.\n else {\n replace = values.replacementCharacter\n }\n }\n // Unicode.\n else {\n replace = String.fromCharCode(code)\n }\n\n if (replace) {\n result.push(value.slice(start, index), encodeURIComponent(replace))\n start = index + skip + 1\n replace = ''\n }\n\n if (skip) {\n index += skip\n skip = 0\n }\n }\n\n return result.join('') + value.slice(start)\n}\n","/**\n * @import {Chunk, Event, Token} from 'micromark-util-types'\n */\n\nimport {ok as assert} from 'devlop'\nimport {splice} from 'micromark-util-chunked'\nimport {codes, types} from 'micromark-util-symbol'\nimport {SpliceBuffer} from './lib/splice-buffer.js'\n\n// Hidden API exposed for testing.\nexport {SpliceBuffer} from './lib/splice-buffer.js'\n\n/**\n * Tokenize subcontent.\n *\n * @param {Array} eventsArray\n * List of events.\n * @returns {boolean}\n * Whether subtokens were found.\n */\n// eslint-disable-next-line complexity\nexport function subtokenize(eventsArray) {\n /** @type {Record} */\n const jumps = {}\n let index = -1\n /** @type {Event} */\n let event\n /** @type {number | undefined} */\n let lineIndex\n /** @type {number} */\n let otherIndex\n /** @type {Event} */\n let otherEvent\n /** @type {Array} */\n let parameters\n /** @type {Array} */\n let subevents\n /** @type {boolean | undefined} */\n let more\n const events = new SpliceBuffer(eventsArray)\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n\n event = events.get(index)\n\n // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n if (\n index &&\n event[1].type === types.chunkFlow &&\n events.get(index - 1)[1].type === types.listItemPrefix\n ) {\n assert(event[1]._tokenizer, 'expected `_tokenizer` on subtokens')\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === types.lineEndingBlank\n ) {\n otherIndex += 2\n }\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === types.content\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === types.content) {\n break\n }\n\n if (subevents[otherIndex][1].type === types.chunkText) {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n }\n\n // Enter.\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n }\n // Exit.\n else if (event[1]._container) {\n otherIndex = index\n lineIndex = undefined\n\n while (otherIndex--) {\n otherEvent = events.get(otherIndex)\n\n if (\n otherEvent[1].type === types.lineEnding ||\n otherEvent[1].type === types.lineEndingBlank\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events.get(lineIndex)[1].type = types.lineEndingBlank\n }\n\n otherEvent[1].type = types.lineEnding\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = {...events.get(lineIndex)[1].start}\n\n // Switch container exit w/ line endings.\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n events.splice(lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n\n // The changes to the `events` buffer must be copied back into the eventsArray\n splice(eventsArray, 0, Number.POSITIVE_INFINITY, events.slice(0))\n return !more\n}\n\n/**\n * Tokenize embedded tokens.\n *\n * @param {SpliceBuffer} events\n * Events.\n * @param {number} eventIndex\n * Index.\n * @returns {Record}\n * Gaps.\n */\nfunction subcontent(events, eventIndex) {\n const token = events.get(eventIndex)[1]\n const context = events.get(eventIndex)[2]\n let startPosition = eventIndex - 1\n /** @type {Array} */\n const startPositions = []\n assert(token.contentType, 'expected `contentType` on subtokens')\n const tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n const childEvents = tokenizer.events\n /** @type {Array<[number, number]>} */\n const jumps = []\n /** @type {Record} */\n const gaps = {}\n /** @type {Array} */\n let stream\n /** @type {Token | undefined} */\n let previous\n let index = -1\n /** @type {Token | undefined} */\n let current = token\n let adjust = 0\n let start = 0\n const breaks = [start]\n\n // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n while (current) {\n // Find the position of the event for this token.\n while (events.get(++startPosition)[1] !== current) {\n // Empty.\n }\n\n assert(\n !previous || current.previous === previous,\n 'expected previous to match'\n )\n assert(!previous || previous.next === current, 'expected next to match')\n\n startPositions.push(startPosition)\n\n if (!current._tokenizer) {\n stream = context.sliceStream(current)\n\n if (!current.next) {\n stream.push(codes.eof)\n }\n\n if (previous) {\n tokenizer.defineSkip(current.start)\n }\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n\n tokenizer.write(stream)\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n }\n\n // Unravel the next token.\n previous = current\n current = current.next\n }\n\n // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n current = token\n\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' &&\n childEvents[index - 1][0] === 'enter' &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n assert(current, 'expected a current token')\n start = index + 1\n breaks.push(start)\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n current = current.next\n }\n }\n\n // Help GC.\n tokenizer.events = []\n\n // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n if (current) {\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n assert(!current.next, 'expected no next token')\n } else {\n breaks.pop()\n }\n\n // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n index = breaks.length\n\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1])\n const start = startPositions.pop()\n assert(start !== undefined, 'expected a start position when splicing')\n jumps.push([start, start + slice.length - 1])\n events.splice(start, 2, slice)\n }\n\n jumps.reverse()\n index = -1\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n\n return gaps\n}\n","import {constants} from 'micromark-util-symbol'\n\n/**\n * Some of the internal operations of micromark do lots of editing\n * operations on very large arrays. This runs into problems with two\n * properties of most circa-2020 JavaScript interpreters:\n *\n * - Array-length modifications at the high end of an array (push/pop) are\n * expected to be common and are implemented in (amortized) time\n * proportional to the number of elements added or removed, whereas\n * other operations (shift/unshift and splice) are much less efficient.\n * - Function arguments are passed on the stack, so adding tens of thousands\n * of elements to an array with `arr.push(...newElements)` will frequently\n * cause stack overflows. (see )\n *\n * SpliceBuffers are an implementation of gap buffers, which are a\n * generalization of the \"queue made of two stacks\" idea. The splice buffer\n * maintains a cursor, and moving the cursor has cost proportional to the\n * distance the cursor moves, but inserting, deleting, or splicing in\n * new information at the cursor is as efficient as the push/pop operation.\n * This allows for an efficient sequence of splices (or pushes, pops, shifts,\n * or unshifts) as long such edits happen at the same part of the array or\n * generally sweep through the array from the beginning to the end.\n *\n * The interface for splice buffers also supports large numbers of inputs by\n * passing a single array argument rather passing multiple arguments on the\n * function call stack.\n *\n * @template T\n * Item type.\n */\nexport class SpliceBuffer {\n /**\n * @param {ReadonlyArray | null | undefined} [initial]\n * Initial items (optional).\n * @returns\n * Splice buffer.\n */\n constructor(initial) {\n /** @type {Array} */\n this.left = initial ? [...initial] : []\n /** @type {Array} */\n this.right = []\n }\n\n /**\n * Array access;\n * does not move the cursor.\n *\n * @param {number} index\n * Index.\n * @return {T}\n * Item.\n */\n get(index) {\n if (index < 0 || index >= this.left.length + this.right.length) {\n throw new RangeError(\n 'Cannot access index `' +\n index +\n '` in a splice buffer of size `' +\n (this.left.length + this.right.length) +\n '`'\n )\n }\n\n if (index < this.left.length) return this.left[index]\n return this.right[this.right.length - index + this.left.length - 1]\n }\n\n /**\n * The length of the splice buffer, one greater than the largest index in the\n * array.\n */\n get length() {\n return this.left.length + this.right.length\n }\n\n /**\n * Remove and return `list[0]`;\n * moves the cursor to `0`.\n *\n * @returns {T | undefined}\n * Item, optional.\n */\n shift() {\n this.setCursor(0)\n return this.right.pop()\n }\n\n /**\n * Slice the buffer to get an array;\n * does not move the cursor.\n *\n * @param {number} start\n * Start.\n * @param {number | null | undefined} [end]\n * End (optional).\n * @returns {Array}\n * Array of items.\n */\n slice(start, end) {\n /** @type {number} */\n const stop =\n end === null || end === undefined ? Number.POSITIVE_INFINITY : end\n\n if (stop < this.left.length) {\n return this.left.slice(start, stop)\n }\n\n if (start > this.left.length) {\n return this.right\n .slice(\n this.right.length - stop + this.left.length,\n this.right.length - start + this.left.length\n )\n .reverse()\n }\n\n return this.left\n .slice(start)\n .concat(\n this.right.slice(this.right.length - stop + this.left.length).reverse()\n )\n }\n\n /**\n * Mimics the behavior of Array.prototype.splice() except for the change of\n * interface necessary to avoid segfaults when patching in very large arrays.\n *\n * This operation moves cursor is moved to `start` and results in the cursor\n * placed after any inserted items.\n *\n * @param {number} start\n * Start;\n * zero-based index at which to start changing the array;\n * negative numbers count backwards from the end of the array and values\n * that are out-of bounds are clamped to the appropriate end of the array.\n * @param {number | null | undefined} [deleteCount=0]\n * Delete count (default: `0`);\n * maximum number of elements to delete, starting from start.\n * @param {Array | null | undefined} [items=[]]\n * Items to include in place of the deleted items (default: `[]`).\n * @return {Array}\n * Any removed items.\n */\n splice(start, deleteCount, items) {\n /** @type {number} */\n const count = deleteCount || 0\n\n this.setCursor(Math.trunc(start))\n const removed = this.right.splice(\n this.right.length - count,\n Number.POSITIVE_INFINITY\n )\n if (items) chunkedPush(this.left, items)\n return removed.reverse()\n }\n\n /**\n * Remove and return the highest-numbered item in the array, so\n * `list[list.length - 1]`;\n * Moves the cursor to `length`.\n *\n * @returns {T | undefined}\n * Item, optional.\n */\n pop() {\n this.setCursor(Number.POSITIVE_INFINITY)\n return this.left.pop()\n }\n\n /**\n * Inserts a single item to the high-numbered side of the array;\n * moves the cursor to `length`.\n *\n * @param {T} item\n * Item.\n * @returns {undefined}\n * Nothing.\n */\n push(item) {\n this.setCursor(Number.POSITIVE_INFINITY)\n this.left.push(item)\n }\n\n /**\n * Inserts many items to the high-numbered side of the array.\n * Moves the cursor to `length`.\n *\n * @param {Array} items\n * Items.\n * @returns {undefined}\n * Nothing.\n */\n pushMany(items) {\n this.setCursor(Number.POSITIVE_INFINITY)\n chunkedPush(this.left, items)\n }\n\n /**\n * Inserts a single item to the low-numbered side of the array;\n * Moves the cursor to `0`.\n *\n * @param {T} item\n * Item.\n * @returns {undefined}\n * Nothing.\n */\n unshift(item) {\n this.setCursor(0)\n this.right.push(item)\n }\n\n /**\n * Inserts many items to the low-numbered side of the array;\n * moves the cursor to `0`.\n *\n * @param {Array} items\n * Items.\n * @returns {undefined}\n * Nothing.\n */\n unshiftMany(items) {\n this.setCursor(0)\n chunkedPush(this.right, items.reverse())\n }\n\n /**\n * Move the cursor to a specific position in the array. Requires\n * time proportional to the distance moved.\n *\n * If `n < 0`, the cursor will end up at the beginning.\n * If `n > length`, the cursor will end up at the end.\n *\n * @param {number} n\n * Position.\n * @return {undefined}\n * Nothing.\n */\n setCursor(n) {\n if (\n n === this.left.length ||\n (n > this.left.length && this.right.length === 0) ||\n (n < 0 && this.left.length === 0)\n )\n return\n if (n < this.left.length) {\n // Move cursor to the this.left\n const removed = this.left.splice(n, Number.POSITIVE_INFINITY)\n chunkedPush(this.right, removed.reverse())\n } else {\n // Move cursor to the this.right\n const removed = this.right.splice(\n this.left.length + this.right.length - n,\n Number.POSITIVE_INFINITY\n )\n chunkedPush(this.left, removed.reverse())\n }\n }\n}\n\n/**\n * Avoid stack overflow by pushing items onto the stack in segments\n *\n * @template T\n * Item type.\n * @param {Array} list\n * List to inject into.\n * @param {ReadonlyArray} right\n * Items to inject.\n * @return {undefined}\n * Nothing.\n */\nfunction chunkedPush(list, right) {\n /** @type {number} */\n let chunkStart = 0\n\n if (right.length < constants.v8MaxSafeChunkSize) {\n list.push(...right)\n } else {\n while (chunkStart < right.length) {\n list.push(\n ...right.slice(chunkStart, chunkStart + constants.v8MaxSafeChunkSize)\n )\n chunkStart += constants.v8MaxSafeChunkSize\n }\n }\n}\n","/**\n * Character codes.\n *\n * This module is compiled away!\n *\n * micromark works based on character codes.\n * This module contains constants for the ASCII block and the replacement\n * character.\n * A couple of them are handled in a special way, such as the line endings\n * (CR, LF, and CR+LF, commonly known as end-of-line: EOLs), the tab (horizontal\n * tab) and its expansion based on what column it’s at (virtual space),\n * and the end-of-file (eof) character.\n * As values are preprocessed before handling them, the actual characters LF,\n * CR, HT, and NUL (which is present as the replacement character), are\n * guaranteed to not exist.\n *\n * Unicode basic latin block.\n */\nexport const codes = /** @type {const} */ ({\n carriageReturn: -5,\n lineFeed: -4,\n carriageReturnLineFeed: -3,\n horizontalTab: -2,\n virtualSpace: -1,\n eof: null,\n nul: 0,\n soh: 1,\n stx: 2,\n etx: 3,\n eot: 4,\n enq: 5,\n ack: 6,\n bel: 7,\n bs: 8,\n ht: 9, // `\\t`\n lf: 10, // `\\n`\n vt: 11, // `\\v`\n ff: 12, // `\\f`\n cr: 13, // `\\r`\n so: 14,\n si: 15,\n dle: 16,\n dc1: 17,\n dc2: 18,\n dc3: 19,\n dc4: 20,\n nak: 21,\n syn: 22,\n etb: 23,\n can: 24,\n em: 25,\n sub: 26,\n esc: 27,\n fs: 28,\n gs: 29,\n rs: 30,\n us: 31,\n space: 32,\n exclamationMark: 33, // `!`\n quotationMark: 34, // `\"`\n numberSign: 35, // `#`\n dollarSign: 36, // `$`\n percentSign: 37, // `%`\n ampersand: 38, // `&`\n apostrophe: 39, // `'`\n leftParenthesis: 40, // `(`\n rightParenthesis: 41, // `)`\n asterisk: 42, // `*`\n plusSign: 43, // `+`\n comma: 44, // `,`\n dash: 45, // `-`\n dot: 46, // `.`\n slash: 47, // `/`\n digit0: 48, // `0`\n digit1: 49, // `1`\n digit2: 50, // `2`\n digit3: 51, // `3`\n digit4: 52, // `4`\n digit5: 53, // `5`\n digit6: 54, // `6`\n digit7: 55, // `7`\n digit8: 56, // `8`\n digit9: 57, // `9`\n colon: 58, // `:`\n semicolon: 59, // `;`\n lessThan: 60, // `<`\n equalsTo: 61, // `=`\n greaterThan: 62, // `>`\n questionMark: 63, // `?`\n atSign: 64, // `@`\n uppercaseA: 65, // `A`\n uppercaseB: 66, // `B`\n uppercaseC: 67, // `C`\n uppercaseD: 68, // `D`\n uppercaseE: 69, // `E`\n uppercaseF: 70, // `F`\n uppercaseG: 71, // `G`\n uppercaseH: 72, // `H`\n uppercaseI: 73, // `I`\n uppercaseJ: 74, // `J`\n uppercaseK: 75, // `K`\n uppercaseL: 76, // `L`\n uppercaseM: 77, // `M`\n uppercaseN: 78, // `N`\n uppercaseO: 79, // `O`\n uppercaseP: 80, // `P`\n uppercaseQ: 81, // `Q`\n uppercaseR: 82, // `R`\n uppercaseS: 83, // `S`\n uppercaseT: 84, // `T`\n uppercaseU: 85, // `U`\n uppercaseV: 86, // `V`\n uppercaseW: 87, // `W`\n uppercaseX: 88, // `X`\n uppercaseY: 89, // `Y`\n uppercaseZ: 90, // `Z`\n leftSquareBracket: 91, // `[`\n backslash: 92, // `\\`\n rightSquareBracket: 93, // `]`\n caret: 94, // `^`\n underscore: 95, // `_`\n graveAccent: 96, // `` ` ``\n lowercaseA: 97, // `a`\n lowercaseB: 98, // `b`\n lowercaseC: 99, // `c`\n lowercaseD: 100, // `d`\n lowercaseE: 101, // `e`\n lowercaseF: 102, // `f`\n lowercaseG: 103, // `g`\n lowercaseH: 104, // `h`\n lowercaseI: 105, // `i`\n lowercaseJ: 106, // `j`\n lowercaseK: 107, // `k`\n lowercaseL: 108, // `l`\n lowercaseM: 109, // `m`\n lowercaseN: 110, // `n`\n lowercaseO: 111, // `o`\n lowercaseP: 112, // `p`\n lowercaseQ: 113, // `q`\n lowercaseR: 114, // `r`\n lowercaseS: 115, // `s`\n lowercaseT: 116, // `t`\n lowercaseU: 117, // `u`\n lowercaseV: 118, // `v`\n lowercaseW: 119, // `w`\n lowercaseX: 120, // `x`\n lowercaseY: 121, // `y`\n lowercaseZ: 122, // `z`\n leftCurlyBrace: 123, // `{`\n verticalBar: 124, // `|`\n rightCurlyBrace: 125, // `}`\n tilde: 126, // `~`\n del: 127,\n // Unicode Specials block.\n byteOrderMarker: 65_279,\n // Unicode Specials block.\n replacementCharacter: 65_533 // `�`\n})\n","/**\n * This module is compiled away!\n *\n * Parsing markdown comes with a couple of constants, such as minimum or maximum\n * sizes of certain sequences.\n * Additionally, there are a couple symbols used inside micromark.\n * These are all defined here, but compiled away by scripts.\n */\nexport const constants = /** @type {const} */ ({\n attentionSideAfter: 2, // Symbol to mark an attention sequence as after content: `a*`\n attentionSideBefore: 1, // Symbol to mark an attention sequence as before content: `*a`\n atxHeadingOpeningFenceSizeMax: 6, // 6 number signs is fine, 7 isn’t.\n autolinkDomainSizeMax: 63, // 63 characters is fine, 64 is too many.\n autolinkSchemeSizeMax: 32, // 32 characters is fine, 33 is too many.\n cdataOpeningString: 'CDATA[', // And preceded by ``\n htmlComment: 2, // Symbol for ``\n htmlComplete: 7, // Symbol for ``\n htmlDeclaration: 4, // Symbol for ``\n htmlInstruction: 3, // Symbol for ``\n htmlRawSizeMax: 8, // Length of `textarea`.\n htmlRaw: 1, // Symbol for `\n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * *Example: headings (DOM clobbering)* in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn’t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @overload\n * @param {Processor} processor\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge}\n *\n * @overload\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformMutate}\n *\n * @param {Readonly | Processor | null | undefined} [destination]\n * Processor or configuration (optional).\n * @param {Readonly | null | undefined} [options]\n * When a processor was given, configuration (optional).\n * @returns {TransformBridge | TransformMutate}\n * Transform.\n */\nexport default function remarkRehype(destination, options) {\n if (destination && 'run' in destination) {\n /**\n * @type {TransformBridge}\n */\n return async function (tree, file) {\n // Cast because root in -> root out.\n const hastTree = /** @type {HastRoot} */ (\n toHast(tree, {file, ...options})\n )\n await destination.run(hastTree, file)\n }\n }\n\n /**\n * @type {TransformMutate}\n */\n return function (tree, file) {\n // Cast because root in -> root out.\n // To do: in the future, disallow ` || options` fallback.\n // With `unified-engine`, `destination` can be `undefined` but\n // `options` will be the file set.\n // We should not pass that as `options`.\n return /** @type {HastRoot} */ (\n toHast(tree, {file, ...(destination || options)})\n )\n }\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","import StyleToObject from '../cjs/index.js';\n\n// ensure compatibility with rollup umd build\nexport default StyleToObject.default || StyleToObject;\n","const tab = 9 /* `\\t` */\nconst space = 32 /* ` ` */\n\n/**\n * Remove initial and final spaces and tabs at the line breaks in `value`.\n * Does not trim initial and final spaces and tabs of the value itself.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Trimmed value.\n */\nexport function trimLines(value) {\n const source = String(value)\n const search = /\\r?\\n|\\r/g\n let match = search.exec(source)\n let last = 0\n /** @type {Array} */\n const lines = []\n\n while (match) {\n lines.push(\n trimLine(source.slice(last, match.index), last > 0, true),\n match[0]\n )\n\n last = match.index + match[0].length\n match = search.exec(source)\n }\n\n lines.push(trimLine(source.slice(last), last > 0, false))\n\n return lines.join('')\n}\n\n/**\n * @param {string} value\n * Line to trim.\n * @param {boolean} start\n * Whether to trim the start of the line.\n * @param {boolean} end\n * Whether to trim the end of the line.\n * @returns {string}\n * Trimmed line.\n */\nfunction trimLine(value, start, end) {\n let startIndex = 0\n let endIndex = value.length\n\n if (start) {\n let code = value.codePointAt(startIndex)\n\n while (code === tab || code === space) {\n startIndex++\n code = value.codePointAt(startIndex)\n }\n }\n\n if (end) {\n let code = value.codePointAt(endIndex - 1)\n\n while (code === tab || code === space) {\n endIndex--\n code = value.codePointAt(endIndex - 1)\n }\n }\n\n return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''\n}\n","// To do: remove `void`s\n// To do: remove `null` from output of our APIs, allow it as user APIs.\n\n/**\n * @typedef {(error?: Error | null | undefined, ...output: Array) => void} Callback\n * Callback.\n *\n * @typedef {(...input: Array) => any} Middleware\n * Ware.\n *\n * @typedef Pipeline\n * Pipeline.\n * @property {Run} run\n * Run the pipeline.\n * @property {Use} use\n * Add middleware.\n *\n * @typedef {(...input: Array) => void} Run\n * Call all middleware.\n *\n * Calls `done` on completion with either an error or the output of the\n * last middleware.\n *\n * > 👉 **Note**: as the length of input defines whether async functions get a\n * > `next` function,\n * > it’s recommended to keep `input` at one value normally.\n\n *\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n * Pipeline.\n */\nexport function trough() {\n /** @type {Array} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error | null | undefined} error\n * @param {Array} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware` into a uniform interface.\n *\n * You can pass all input to the resulting function.\n * `callback` is then called with the output of `middleware`.\n *\n * If `middleware` accepts more arguments than the later given in input,\n * an extra `done` function is passed to it after that input,\n * which must be called by `middleware`.\n *\n * The first value in `input` is the main input value.\n * All other input values are the rest input values.\n * The values given to `callback` are the input values,\n * merged with every non-nullish output value.\n *\n * * if `middleware` throws an error,\n * returns a promise that is rejected,\n * or calls the given `done` function with an error,\n * `callback` is called with that error\n * * if `middleware` returns a value or returns a promise that is resolved,\n * that value is the main output value\n * * if `middleware` calls `done`,\n * all non-nullish values except for the first one (the error) overwrite the\n * output values\n *\n * @param {Middleware} middleware\n * Function to wrap.\n * @param {Callback} callback\n * Callback called with the output of `middleware`.\n * @returns {Run}\n * Wrapped middleware.\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result && result.then && typeof result.then === 'function') {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n *\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","export const CallableInstance =\n /**\n * @type {new , Result>(property: string | symbol) => (...parameters: Parameters) => Result}\n */\n (\n /** @type {unknown} */\n (\n /**\n * @this {Function}\n * @param {string | symbol} property\n * @returns {(...parameters: Array) => unknown}\n */\n function (property) {\n const self = this\n const constr = self.constructor\n const proto = /** @type {Record} */ (\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n constr.prototype\n )\n const value = proto[property]\n /** @type {(...parameters: Array) => unknown} */\n const apply = function () {\n return value.apply(apply, arguments)\n }\n\n Object.setPrototypeOf(apply, proto)\n\n // Not needed for us in `unified`: we only call this on the `copy`\n // function,\n // and we don't need to add its fields (`length`, `name`)\n // over.\n // See also: GH-246.\n // const names = Object.getOwnPropertyNames(value)\n //\n // for (const p of names) {\n // const descriptor = Object.getOwnPropertyDescriptor(value, p)\n // if (descriptor) Object.defineProperty(apply, p, descriptor)\n // }\n\n return apply\n }\n )\n )\n","/**\n * @typedef {import('trough').Pipeline} Pipeline\n *\n * @typedef {import('unist').Node} Node\n *\n * @typedef {import('vfile').Compatible} Compatible\n * @typedef {import('vfile').Value} Value\n *\n * @typedef {import('../index.js').CompileResultMap} CompileResultMap\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Settings} Settings\n */\n\n/**\n * @typedef {CompileResultMap[keyof CompileResultMap]} CompileResults\n * Acceptable results from compilers.\n *\n * To register custom results, add them to\n * {@linkcode CompileResultMap}.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the compiler receives (default: `Node`).\n * @template {CompileResults} [Result=CompileResults]\n * The thing that the compiler yields (default: `CompileResults`).\n * @callback Compiler\n * A **compiler** handles the compiling of a syntax tree to something else\n * (in most cases, text) (TypeScript type).\n *\n * It is used in the stringify phase and called with a {@linkcode Node}\n * and {@linkcode VFile} representation of the document to compile.\n * It should return the textual representation of the given tree (typically\n * `string`).\n *\n * > **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n * @param {Tree} tree\n * Tree to compile.\n * @param {VFile} file\n * File associated with `tree`.\n * @returns {Result}\n * New content: compiled text (`string` or `Uint8Array`, for `file.value`) or\n * something else (for `file.result`).\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The node that the parser yields (default: `Node`)\n * @callback Parser\n * A **parser** handles the parsing of text to a syntax tree.\n *\n * It is used in the parse phase and is called with a `string` and\n * {@linkcode VFile} of the document to parse.\n * It must return the syntax tree representation of the given file\n * ({@linkcode Node}).\n * @param {string} document\n * Document to parse.\n * @param {VFile} file\n * File associated with `document`.\n * @returns {Tree}\n * Node representing the given file.\n */\n\n/**\n * @typedef {(\n * Plugin, any, any> |\n * PluginTuple, any, any> |\n * Preset\n * )} Pluggable\n * Union of the different ways to add plugins and settings.\n */\n\n/**\n * @typedef {Array} PluggableList\n * List of plugins and presets.\n */\n\n// Note: we can’t use `callback` yet as it messes up `this`:\n// .\n/**\n * @template {Array} [PluginParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=Node]\n * Value that is expected as input (default: `Node`).\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node it expects.\n * * If the plugin sets a {@linkcode Parser}, this should be\n * `string`.\n * * If the plugin sets a {@linkcode Compiler}, this should be the\n * node it expects.\n * @template [Output=Input]\n * Value that is yielded as output (default: `Input`).\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node that that yields.\n * * If the plugin sets a {@linkcode Parser}, this should be the\n * node that it yields.\n * * If the plugin sets a {@linkcode Compiler}, this should be\n * result it yields.\n * @typedef {(\n * (this: Processor, ...parameters: PluginParameters) =>\n * Input extends string ? // Parser.\n * Output extends Node | undefined ? undefined | void : never :\n * Output extends CompileResults ? // Compiler.\n * Input extends Node | undefined ? undefined | void : never :\n * Transformer<\n * Input extends Node ? Input : Node,\n * Output extends Node ? Output : Node\n * > | undefined | void\n * )} Plugin\n * Single plugin.\n *\n * Plugins configure the processors they are applied on in the following\n * ways:\n *\n * * they change the processor, such as the parser, the compiler, or by\n * configuring data\n * * they specify how to handle trees and files\n *\n * In practice, they are functions that can receive options and configure the\n * processor (`this`).\n *\n * > **Note**: plugins are called when the processor is *frozen*, not when\n * > they are applied.\n */\n\n/**\n * Tuple of a plugin and its configuration.\n *\n * The first item is a plugin, the rest are its parameters.\n *\n * @template {Array} [TupleParameters=[]]\n * Arguments passed to the plugin (default: `[]`, the empty tuple).\n * @template {Node | string | undefined} [Input=undefined]\n * Value that is expected as input (optional).\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node it expects.\n * * If the plugin sets a {@linkcode Parser}, this should be\n * `string`.\n * * If the plugin sets a {@linkcode Compiler}, this should be the\n * node it expects.\n * @template [Output=undefined] (optional).\n * Value that is yielded as output.\n *\n * * If the plugin returns a {@linkcode Transformer}, this\n * should be the node that that yields.\n * * If the plugin sets a {@linkcode Parser}, this should be the\n * node that it yields.\n * * If the plugin sets a {@linkcode Compiler}, this should be\n * result it yields.\n * @typedef {(\n * [\n * plugin: Plugin,\n * ...parameters: TupleParameters\n * ]\n * )} PluginTuple\n */\n\n/**\n * @typedef Preset\n * Sharable configuration.\n *\n * They can contain plugins and settings.\n * @property {PluggableList | undefined} [plugins]\n * List of plugins and presets (optional).\n * @property {Settings | undefined} [settings]\n * Shared settings for parsers and compilers (optional).\n */\n\n/**\n * @template {VFile} [File=VFile]\n * The file that the callback receives (default: `VFile`).\n * @callback ProcessCallback\n * Callback called when the process is done.\n *\n * Called with either an error or a result.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {File | undefined} [file]\n * Processed file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Tree=Node]\n * The tree that the callback receives (default: `Node`).\n * @callback RunCallback\n * Callback called when transformers are done.\n *\n * Called with either an error or results.\n * @param {Error | undefined} [error]\n * Fatal error (optional).\n * @param {Tree | undefined} [tree]\n * Transformed tree (optional).\n * @param {VFile | undefined} [file]\n * File (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Output=Node]\n * Node type that the transformer yields (default: `Node`).\n * @callback TransformCallback\n * Callback passed to transforms.\n *\n * If the signature of a `transformer` accepts a third argument, the\n * transformer may perform asynchronous operations, and must call it.\n * @param {Error | undefined} [error]\n * Fatal error to stop the process (optional).\n * @param {Output | undefined} [tree]\n * New, changed, tree (optional).\n * @param {VFile | undefined} [file]\n * New, changed, file (optional).\n * @returns {undefined}\n * Nothing.\n */\n\n/**\n * @template {Node} [Input=Node]\n * Node type that the transformer expects (default: `Node`).\n * @template {Node} [Output=Input]\n * Node type that the transformer yields (default: `Input`).\n * @callback Transformer\n * Transformers handle syntax trees and files.\n *\n * They are functions that are called each time a syntax tree and file are\n * passed through the run phase.\n * When an error occurs in them (either because it’s thrown, returned,\n * rejected, or passed to `next`), the process stops.\n *\n * The run phase is handled by [`trough`][trough], see its documentation for\n * the exact semantics of these functions.\n *\n * > **Note**: you should likely ignore `next`: don’t accept it.\n * > it supports callback-style async work.\n * > But promises are likely easier to reason about.\n *\n * [trough]: https://github.com/wooorm/trough#function-fninput-next\n * @param {Input} tree\n * Tree to handle.\n * @param {VFile} file\n * File to handle.\n * @param {TransformCallback} next\n * Callback.\n * @returns {(\n * Promise |\n * Promise | // For some reason this is needed separately.\n * Output |\n * Error |\n * undefined |\n * void\n * )}\n * If you accept `next`, nothing.\n * Otherwise:\n *\n * * `Error` — fatal error to stop the process\n * * `Promise` or `undefined` — the next transformer keeps using\n * same tree\n * * `Promise` or `Node` — new, changed, tree\n */\n\n/**\n * @template {Node | undefined} ParseTree\n * Output of `parse`.\n * @template {Node | undefined} HeadTree\n * Input for `run`.\n * @template {Node | undefined} TailTree\n * Output for `run`.\n * @template {Node | undefined} CompileTree\n * Input of `stringify`.\n * @template {CompileResults | undefined} CompileResult\n * Output of `stringify`.\n * @template {Node | string | undefined} Input\n * Input of plugin.\n * @template Output\n * Output of plugin (optional).\n * @typedef {(\n * Input extends string\n * ? Output extends Node | undefined\n * ? // Parser.\n * Processor<\n * Output extends undefined ? ParseTree : Output,\n * HeadTree,\n * TailTree,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor\n * : Output extends CompileResults\n * ? Input extends Node | undefined\n * ? // Compiler.\n * Processor<\n * ParseTree,\n * HeadTree,\n * TailTree,\n * Input extends undefined ? CompileTree : Input,\n * Output extends undefined ? CompileResult : Output\n * >\n * : // Unknown.\n * Processor\n * : Input extends Node | undefined\n * ? Output extends Node | undefined\n * ? // Transform.\n * Processor<\n * ParseTree,\n * HeadTree extends undefined ? Input : HeadTree,\n * Output extends undefined ? TailTree : Output,\n * CompileTree,\n * CompileResult\n * >\n * : // Unknown.\n * Processor\n * : // Unknown.\n * Processor\n * )} UsePlugin\n * Create a processor based on the input/output of a {@link Plugin plugin}.\n */\n\n/**\n * @template {CompileResults | undefined} Result\n * Node type that the transformer yields.\n * @typedef {(\n * Result extends Value | undefined ?\n * VFile :\n * VFile & {result: Result}\n * )} VFileWithOutput\n * Type to generate a {@linkcode VFile} corresponding to a compiler result.\n *\n * If a result that is not acceptable on a `VFile` is used, that will\n * be stored on the `result` field of {@linkcode VFile}.\n */\n\nimport {bail} from 'bail'\nimport extend from 'extend'\nimport {ok as assert} from 'devlop'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\nimport {CallableInstance} from './callable-instance.js'\n\n// To do: next major: drop `Compiler`, `Parser`: prefer lowercase.\n\n// To do: we could start yielding `never` in TS when a parser is missing and\n// `parse` is called.\n// Currently, we allow directly setting `processor.parser`, which is untyped.\n\nconst own = {}.hasOwnProperty\n\n/**\n * @template {Node | undefined} [ParseTree=undefined]\n * Output of `parse` (optional).\n * @template {Node | undefined} [HeadTree=undefined]\n * Input for `run` (optional).\n * @template {Node | undefined} [TailTree=undefined]\n * Output for `run` (optional).\n * @template {Node | undefined} [CompileTree=undefined]\n * Input of `stringify` (optional).\n * @template {CompileResults | undefined} [CompileResult=undefined]\n * Output of `stringify` (optional).\n * @extends {CallableInstance<[], Processor>}\n */\nexport class Processor extends CallableInstance {\n /**\n * Create a processor.\n */\n constructor() {\n // If `Processor()` is called (w/o new), `copy` is called instead.\n super('copy')\n\n /**\n * Compiler to use (deprecated).\n *\n * @deprecated\n * Use `compiler` instead.\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.Compiler = undefined\n\n /**\n * Parser to use (deprecated).\n *\n * @deprecated\n * Use `parser` instead.\n * @type {(\n * Parser |\n * undefined\n * )}\n */\n this.Parser = undefined\n\n // Note: the following fields are considered private.\n // However, they are needed for tests, and TSC generates an untyped\n // `private freezeIndex` field for, which trips `type-coverage` up.\n // Instead, we use `@deprecated` to visualize that they shouldn’t be used.\n /**\n * Internal list of configured plugins.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Array>>}\n */\n this.attachers = []\n\n /**\n * Compiler to use.\n *\n * @type {(\n * Compiler<\n * CompileTree extends undefined ? Node : CompileTree,\n * CompileResult extends undefined ? CompileResults : CompileResult\n * > |\n * undefined\n * )}\n */\n this.compiler = undefined\n\n /**\n * Internal state to track where we are while freezing.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {number}\n */\n this.freezeIndex = -1\n\n /**\n * Internal state to track whether we’re frozen.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {boolean | undefined}\n */\n this.frozen = undefined\n\n /**\n * Internal state.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Data}\n */\n this.namespace = {}\n\n /**\n * Parser to use.\n *\n * @type {(\n * Parser |\n * undefined\n * )}\n */\n this.parser = undefined\n\n /**\n * Internal list of configured transformers.\n *\n * @deprecated\n * This is a private internal property and should not be used.\n * @type {Pipeline}\n */\n this.transformers = trough()\n }\n\n /**\n * Copy a processor.\n *\n * @deprecated\n * This is a private internal method and should not be used.\n * @returns {Processor}\n * New *unfrozen* processor ({@linkcode Processor}) that is\n * configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\n copy() {\n // Cast as the type parameters will be the same after attaching.\n const destination =\n /** @type {Processor} */ (\n new Processor()\n )\n let index = -1\n\n while (++index < this.attachers.length) {\n const attacher = this.attachers[index]\n destination.use(...attacher)\n }\n\n destination.data(extend(true, {}, this.namespace))\n\n return destination\n }\n\n /**\n * Configure the processor with info available to all plugins.\n * Information is stored in an object.\n *\n * Typically, options can be given to a specific plugin, but sometimes it\n * makes sense to have information shared with several plugins.\n * For example, a list of HTML elements that are self-closing, which is\n * needed during all phases.\n *\n * > **Note**: setting information cannot occur on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * > **Note**: to register custom data in TypeScript, augment the\n * > {@linkcode Data} interface.\n *\n * @example\n * This example show how to get and set info:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * const processor = unified().data('alpha', 'bravo')\n *\n * processor.data('alpha') // => 'bravo'\n *\n * processor.data() // => {alpha: 'bravo'}\n *\n * processor.data({charlie: 'delta'})\n *\n * processor.data() // => {charlie: 'delta'}\n * ```\n *\n * @template {keyof Data} Key\n *\n * @overload\n * @returns {Data}\n *\n * @overload\n * @param {Data} dataset\n * @returns {Processor}\n *\n * @overload\n * @param {Key} key\n * @returns {Data[Key]}\n *\n * @overload\n * @param {Key} key\n * @param {Data[Key]} value\n * @returns {Processor}\n *\n * @param {Data | Key} [key]\n * Key to get or set, or entire dataset to set, or nothing to get the\n * entire dataset (optional).\n * @param {Data[Key]} [value]\n * Value to set (optional).\n * @returns {unknown}\n * The current processor when setting, the value at `key` when getting, or\n * the entire dataset when getting without key.\n */\n data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', this.frozen)\n this.namespace[key] = value\n return this\n }\n\n // Get `key`.\n return (own.call(this.namespace, key) && this.namespace[key]) || undefined\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', this.frozen)\n this.namespace = key\n return this\n }\n\n // Get space.\n return this.namespace\n }\n\n /**\n * Freeze a processor.\n *\n * Frozen processors are meant to be extended and not to be configured\n * directly.\n *\n * When a processor is frozen it cannot be unfrozen.\n * New processors working the same way can be created by calling the\n * processor.\n *\n * It’s possible to freeze processors explicitly by calling `.freeze()`.\n * Processors freeze automatically when `.parse()`, `.run()`, `.runSync()`,\n * `.stringify()`, `.process()`, or `.processSync()` are called.\n *\n * @returns {Processor}\n * The current processor.\n */\n freeze() {\n if (this.frozen) {\n return this\n }\n\n // Cast so that we can type plugins easier.\n // Plugins are supposed to be usable on different processors, not just on\n // this exact processor.\n const self = /** @type {Processor} */ (/** @type {unknown} */ (this))\n\n while (++this.freezeIndex < this.attachers.length) {\n const [attacher, ...options] = this.attachers[this.freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n const transformer = attacher.call(self, ...options)\n\n if (typeof transformer === 'function') {\n this.transformers.use(transformer)\n }\n }\n\n this.frozen = true\n this.freezeIndex = Number.POSITIVE_INFINITY\n\n return this\n }\n\n /**\n * Parse text to a syntax tree.\n *\n * > **Note**: `parse` freezes the processor if not already *frozen*.\n *\n * > **Note**: `parse` performs the parse phase, not the run phase or other\n * > phases.\n *\n * @param {Compatible | undefined} [file]\n * file to parse (optional); typically `string` or `VFile`; any value\n * accepted as `x` in `new VFile(x)`.\n * @returns {ParseTree extends undefined ? Node : ParseTree}\n * Syntax tree representing `file`.\n */\n parse(file) {\n this.freeze()\n const realFile = vfile(file)\n const parser = this.parser || this.Parser\n assertParser('parse', parser)\n return parser(String(realFile), realFile)\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * > **Note**: `process` freezes the processor if not already *frozen*.\n *\n * > **Note**: `process` performs the parse, run, and stringify phases.\n *\n * @overload\n * @param {Compatible | undefined} file\n * @param {ProcessCallback>} done\n * @returns {undefined}\n *\n * @overload\n * @param {Compatible | undefined} [file]\n * @returns {Promise>}\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`]; any value accepted as\n * `x` in `new VFile(x)`.\n * @param {ProcessCallback> | undefined} [done]\n * Callback (optional).\n * @returns {Promise | undefined}\n * Nothing if `done` is given.\n * Otherwise a promise, rejected with a fatal error or resolved with the\n * processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n process(file, done) {\n const self = this\n\n this.freeze()\n assertParser('process', this.parser || this.Parser)\n assertCompiler('process', this.compiler || this.Compiler)\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {((file: VFileWithOutput) => undefined | void) | undefined} resolve\n * @param {(error: Error | undefined) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n const realFile = vfile(file)\n // Assume `ParseTree` (the result of the parser) matches `HeadTree` (the\n // input of the first transform).\n const parseTree =\n /** @type {HeadTree extends undefined ? Node : HeadTree} */ (\n /** @type {unknown} */ (self.parse(realFile))\n )\n\n self.run(parseTree, realFile, function (error, tree, file) {\n if (error || !tree || !file) {\n return realDone(error)\n }\n\n // Assume `TailTree` (the output of the last transform) matches\n // `CompileTree` (the input of the compiler).\n const compileTree =\n /** @type {CompileTree extends undefined ? Node : CompileTree} */ (\n /** @type {unknown} */ (tree)\n )\n\n const compileResult = self.stringify(compileTree, file)\n\n if (looksLikeAValue(compileResult)) {\n file.value = compileResult\n } else {\n file.result = compileResult\n }\n\n realDone(error, /** @type {VFileWithOutput} */ (file))\n })\n\n /**\n * @param {Error | undefined} error\n * @param {VFileWithOutput | undefined} [file]\n * @returns {undefined}\n */\n function realDone(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, file)\n }\n }\n }\n }\n\n /**\n * Process the given file as configured on the processor.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > **Note**: `processSync` freezes the processor if not already *frozen*.\n *\n * > **Note**: `processSync` performs the parse, run, and stringify phases.\n *\n * @param {Compatible | undefined} [file]\n * File (optional); typically `string` or `VFile`; any value accepted as\n * `x` in `new VFile(x)`.\n * @returns {VFileWithOutput}\n * The processed file.\n *\n * The parsed, transformed, and compiled value is available at\n * `file.value` (see note).\n *\n * > **Note**: unified typically compiles by serializing: most\n * > compilers return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n processSync(file) {\n /** @type {boolean} */\n let complete = false\n /** @type {VFileWithOutput | undefined} */\n let result\n\n this.freeze()\n assertParser('processSync', this.parser || this.Parser)\n assertCompiler('processSync', this.compiler || this.Compiler)\n\n this.process(file, realDone)\n assertDone('processSync', 'process', complete)\n assert(result, 'we either bailed on an error or have a tree')\n\n return result\n\n /**\n * @type {ProcessCallback>}\n */\n function realDone(error, file) {\n complete = true\n bail(error)\n result = file\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * > **Note**: `run` freezes the processor if not already *frozen*.\n *\n * > **Note**: `run` performs the run phase, not other phases.\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {RunCallback} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} file\n * @param {RunCallback} done\n * @returns {undefined}\n *\n * @overload\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * @param {Compatible | undefined} [file]\n * @returns {Promise}\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {(\n * RunCallback |\n * Compatible\n * )} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @param {RunCallback} [done]\n * Callback (optional).\n * @returns {Promise | undefined}\n * Nothing if `done` is given.\n * Otherwise, a promise rejected with a fatal error or resolved with the\n * transformed tree.\n */\n run(tree, file, done) {\n assertNode(tree)\n this.freeze()\n\n const transformers = this.transformers\n\n if (!done && typeof file === 'function') {\n done = file\n file = undefined\n }\n\n return done ? executor(undefined, done) : new Promise(executor)\n\n // Note: `void`s needed for TS.\n /**\n * @param {(\n * ((tree: TailTree extends undefined ? Node : TailTree) => undefined | void) |\n * undefined\n * )} resolve\n * @param {(error: Error) => undefined | void} reject\n * @returns {undefined}\n */\n function executor(resolve, reject) {\n assert(\n typeof file !== 'function',\n '`file` can’t be a `done` anymore, we checked'\n )\n const realFile = vfile(file)\n transformers.run(tree, realFile, realDone)\n\n /**\n * @param {Error | undefined} error\n * @param {Node} outputTree\n * @param {VFile} file\n * @returns {undefined}\n */\n function realDone(error, outputTree, file) {\n const resultingTree =\n /** @type {TailTree extends undefined ? Node : TailTree} */ (\n outputTree || tree\n )\n\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(resultingTree)\n } else {\n assert(done, '`done` is defined if `resolve` is not')\n done(undefined, resultingTree, file)\n }\n }\n }\n }\n\n /**\n * Run *transformers* on a syntax tree.\n *\n * An error is thrown if asynchronous transforms are configured.\n *\n * > **Note**: `runSync` freezes the processor if not already *frozen*.\n *\n * > **Note**: `runSync` performs the run phase, not other phases.\n *\n * @param {HeadTree extends undefined ? Node : HeadTree} tree\n * Tree to transform and inspect.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {TailTree extends undefined ? Node : TailTree}\n * Transformed tree.\n */\n runSync(tree, file) {\n /** @type {boolean} */\n let complete = false\n /** @type {(TailTree extends undefined ? Node : TailTree) | undefined} */\n let result\n\n this.run(tree, file, realDone)\n\n assertDone('runSync', 'run', complete)\n assert(result, 'we either bailed on an error or have a tree')\n return result\n\n /**\n * @type {RunCallback}\n */\n function realDone(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * Compile a syntax tree.\n *\n * > **Note**: `stringify` freezes the processor if not already *frozen*.\n *\n * > **Note**: `stringify` performs the stringify phase, not the run phase\n * > or other phases.\n *\n * @param {CompileTree extends undefined ? Node : CompileTree} tree\n * Tree to compile.\n * @param {Compatible | undefined} [file]\n * File associated with `node` (optional); any value accepted as `x` in\n * `new VFile(x)`.\n * @returns {CompileResult extends undefined ? Value : CompileResult}\n * Textual representation of the tree (see note).\n *\n * > **Note**: unified typically compiles by serializing: most compilers\n * > return `string` (or `Uint8Array`).\n * > Some compilers, such as the one configured with\n * > [`rehype-react`][rehype-react], return other values (in this case, a\n * > React tree).\n * > If you’re using a compiler that doesn’t serialize, expect different\n * > result values.\n * >\n * > To register custom results in TypeScript, add them to\n * > {@linkcode CompileResultMap}.\n *\n * [rehype-react]: https://github.com/rehypejs/rehype-react\n */\n stringify(tree, file) {\n this.freeze()\n const realFile = vfile(file)\n const compiler = this.compiler || this.Compiler\n assertCompiler('stringify', compiler)\n assertNode(tree)\n\n return compiler(tree, realFile)\n }\n\n /**\n * Configure the processor to use a plugin, a list of usable values, or a\n * preset.\n *\n * If the processor is already using a plugin, the previous plugin\n * configuration is changed based on the options that are passed in.\n * In other words, the plugin is not added a second time.\n *\n * > **Note**: `use` cannot be called on *frozen* processors.\n * > Call the processor first to create a new unfrozen processor.\n *\n * @example\n * There are many ways to pass plugins to `.use()`.\n * This example gives an overview:\n *\n * ```js\n * import {unified} from 'unified'\n *\n * unified()\n * // Plugin with options:\n * .use(pluginA, {x: true, y: true})\n * // Passing the same plugin again merges configuration (to `{x: true, y: false, z: true}`):\n * .use(pluginA, {y: false, z: true})\n * // Plugins:\n * .use([pluginB, pluginC])\n * // Two plugins, the second with options:\n * .use([pluginD, [pluginE, {}]])\n * // Preset with plugins and settings:\n * .use({plugins: [pluginF, [pluginG, {}]], settings: {position: false}})\n * // Settings only:\n * .use({settings: {position: false}})\n * ```\n *\n * @template {Array} [Parameters=[]]\n * @template {Node | string | undefined} [Input=undefined]\n * @template [Output=Input]\n *\n * @overload\n * @param {Preset | null | undefined} [preset]\n * @returns {Processor}\n *\n * @overload\n * @param {PluggableList} list\n * @returns {Processor}\n *\n * @overload\n * @param {Plugin} plugin\n * @param {...(Parameters | [boolean])} parameters\n * @returns {UsePlugin}\n *\n * @param {PluggableList | Plugin | Preset | null | undefined} value\n * Usable value.\n * @param {...unknown} parameters\n * Parameters, when a plugin is given as a usable value.\n * @returns {Processor}\n * Current processor.\n */\n use(value, ...parameters) {\n const attachers = this.attachers\n const namespace = this.namespace\n\n assertUnfrozen('use', this.frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, parameters)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n return this\n\n /**\n * @param {Pluggable} value\n * @returns {undefined}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value, [])\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...parameters] =\n /** @type {PluginTuple>} */ (value)\n addPlugin(plugin, parameters)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {undefined}\n */\n function addPreset(result) {\n if (!('plugins' in result) && !('settings' in result)) {\n throw new Error(\n 'Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither'\n )\n }\n\n addList(result.plugins)\n\n if (result.settings) {\n namespace.settings = extend(true, namespace.settings, result.settings)\n }\n }\n\n /**\n * @param {PluggableList | null | undefined} plugins\n * @returns {undefined}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {Array} parameters\n * @returns {undefined}\n */\n function addPlugin(plugin, parameters) {\n let index = -1\n let entryIndex = -1\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entryIndex = index\n break\n }\n }\n\n if (entryIndex === -1) {\n attachers.push([plugin, ...parameters])\n }\n // Only set if there was at least a `primary` value, otherwise we’d change\n // `arguments.length`.\n else if (parameters.length > 0) {\n let [primary, ...rest] = parameters\n const currentPrimary = attachers[entryIndex][1]\n if (isPlainObj(currentPrimary) && isPlainObj(primary)) {\n primary = extend(true, currentPrimary, primary)\n }\n\n attachers[entryIndex] = [plugin, primary, ...rest]\n }\n }\n }\n}\n\n// Note: this returns a *callable* instance.\n// That’s why it’s documented as a function.\n/**\n * Create a new processor.\n *\n * @example\n * This example shows how a new processor can be created (from `remark`) and linked\n * to **stdin**(4) and **stdout**(4).\n *\n * ```js\n * import process from 'node:process'\n * import concatStream from 'concat-stream'\n * import {remark} from 'remark'\n *\n * process.stdin.pipe(\n * concatStream(function (buf) {\n * process.stdout.write(String(remark().processSync(buf)))\n * })\n * )\n * ```\n *\n * @returns\n * New *unfrozen* processor (`processor`).\n *\n * This processor is configured to work the same as its ancestor.\n * When the descendant processor is configured in the future it does not\n * affect the ancestral processor.\n */\nexport const unified = new Processor().freeze()\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {Compatible | undefined} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is Value}\n */\nfunction looksLikeAValue(value) {\n return typeof value === 'string' || isUint8Array(value)\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n */\n\n/**\n * @template Fn\n * @template Fallback\n * @typedef {Fn extends (value: any) => value is infer Thing ? Thing : Fallback} Predicate\n */\n\n/**\n * @callback Check\n * Check that an arbitrary value is a node.\n * @param {unknown} this\n * The given context.\n * @param {unknown} [node]\n * Anything (typically a node).\n * @param {number | null | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | null | undefined} [parent]\n * The node’s parent.\n * @returns {boolean}\n * Whether this is a node and passes a test.\n *\n * @typedef {Record | Node} Props\n * Object to check for equivalence.\n *\n * Note: `Node` is included as it is common but is not indexable.\n *\n * @typedef {Array | Props | TestFunction | string | null | undefined} Test\n * Check for an arbitrary node.\n *\n * @callback TestFunction\n * Check if a node passes a test.\n * @param {unknown} this\n * The given context.\n * @param {Node} node\n * A node.\n * @param {number | undefined} [index]\n * The node’s position in its parent.\n * @param {Parent | undefined} [parent]\n * The node’s parent.\n * @returns {boolean | undefined | void}\n * Whether this node passes the test.\n *\n * Note: `void` is included until TS sees no return as `undefined`.\n */\n\n/**\n * Check if `node` is a `Node` and whether it passes the given test.\n *\n * @param {unknown} node\n * Thing to check, typically `Node`.\n * @param {Test} test\n * A check for a specific node.\n * @param {number | null | undefined} index\n * The node’s position in its parent.\n * @param {Parent | null | undefined} parent\n * The node’s parent.\n * @param {unknown} context\n * Context object (`this`) to pass to `test` functions.\n * @returns {boolean}\n * Whether `node` is a node and passes a test.\n */\nexport const is =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((node: unknown, test: Condition, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((node?: null | undefined) => false) &\n * ((node: unknown, test?: null | undefined, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((node: unknown, test?: Test, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * @param {unknown} [node]\n * @param {Test} [test]\n * @param {number | null | undefined} [index]\n * @param {Parent | null | undefined} [parent]\n * @param {unknown} [context]\n * @returns {boolean}\n */\n // eslint-disable-next-line max-params\n function (node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n return looksLikeANode(node)\n ? check.call(context, node, index, parent)\n : false\n }\n )\n\n/**\n * Generate an assertion from a test.\n *\n * Useful if you’re going to test many nodes, for example when creating a\n * utility where something else passes a compatible test.\n *\n * The created function is a bit faster because it expects valid input only:\n * a `node`, `index`, and `parent`.\n *\n * @param {Test} test\n * * when nullish, checks if `node` is a `Node`.\n * * when `string`, works like passing `(node) => node.type === test`.\n * * when `function` checks if function passed the node is true.\n * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * * when `array`, checks if any one of the subtests pass.\n * @returns {Check}\n * An assertion.\n */\nexport const convert =\n // Note: overloads in JSDoc can’t yet use different `@template`s.\n /**\n * @type {(\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & {type: Condition}) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Condition) &\n * ((test: Condition) => (node: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node & Predicate) &\n * ((test?: null | undefined) => (node?: unknown, index?: number | null | undefined, parent?: Parent | null | undefined, context?: unknown) => node is Node) &\n * ((test?: Test) => Check)\n * )}\n */\n (\n /**\n * @param {Test} [test]\n * @returns {Check}\n */\n function (test) {\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n\n/**\n * @param {Array} tests\n * @returns {Check}\n */\nfunction anyFactory(tests) {\n /** @type {Array} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @type {TestFunction}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].apply(this, parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Turn an object into a test for a node with a certain fields.\n *\n * @param {Props} check\n * @returns {Check}\n */\nfunction propsFactory(check) {\n const checkAsRecord = /** @type {Record} */ (check)\n\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n const nodeAsRecord = /** @type {Record} */ (\n /** @type {unknown} */ (node)\n )\n\n /** @type {string} */\n let key\n\n for (key in check) {\n if (nodeAsRecord[key] !== checkAsRecord[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Turn a string into a test for a node with a certain type.\n *\n * @param {string} check\n * @returns {Check}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Turn a custom test into a test for a node that passes that test.\n *\n * @param {TestFunction} testFunction\n * @returns {Check}\n */\nfunction castFactory(testFunction) {\n return check\n\n /**\n * @this {unknown}\n * @type {Check}\n */\n function check(value, index, parent) {\n return Boolean(\n looksLikeANode(value) &&\n testFunction.call(\n this,\n value,\n typeof index === 'number' ? index : undefined,\n parent || undefined\n )\n )\n }\n}\n\nfunction ok() {\n return true\n}\n\n/**\n * @param {unknown} value\n * @returns {value is Node}\n */\nfunction looksLikeANode(value) {\n return value !== null && typeof value === 'object' && 'type' in value\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n */\n\n/**\n * Get the ending point of `node`.\n *\n * @param node\n * Node.\n * @returns\n * Point.\n */\nexport const pointEnd = point('end')\n\n/**\n * Get the starting point of `node`.\n *\n * @param node\n * Node.\n * @returns\n * Point.\n */\nexport const pointStart = point('start')\n\n/**\n * Get the positional info of `node`.\n *\n * @param {'end' | 'start'} type\n * Side.\n * @returns\n * Getter.\n */\nfunction point(type) {\n return point\n\n /**\n * Get the point info of `node` at a bound side.\n *\n * @param {Node | NodeLike | null | undefined} [node]\n * @returns {Point | undefined}\n */\n function point(node) {\n const point = (node && node.position && node.position[type]) || {}\n\n if (\n typeof point.line === 'number' &&\n point.line > 0 &&\n typeof point.column === 'number' &&\n point.column > 0\n ) {\n return {\n line: point.line,\n column: point.column,\n offset:\n typeof point.offset === 'number' && point.offset > -1\n ? point.offset\n : undefined\n }\n }\n }\n}\n\n/**\n * Get the positional info of `node`.\n *\n * @param {Node | NodeLike | null | undefined} [node]\n * Node.\n * @returns {Position | undefined}\n * Position.\n */\nexport function position(node) {\n const start = pointStart(node)\n const end = pointEnd(node)\n\n if (start && end) {\n return {start, end}\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n */\n\n/**\n * Serialize the positional info of a point, position (start and end points),\n * or node.\n *\n * @param {Node | NodeLike | Point | PointLike | Position | PositionLike | null | undefined} [value]\n * Node, position, or point.\n * @returns {string}\n * Pretty printed positional info of a node (`string`).\n *\n * In the format of a range `ls:cs-le:ce` (when given `node` or `position`)\n * or a point `l:c` (when given `point`), where `l` stands for line, `c` for\n * column, `s` for `start`, and `e` for end.\n * An empty string (`''`) is returned if the given value is neither `node`,\n * `position`, nor `point`.\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point | PointLike | null | undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position | PositionLike | null | undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number | null | undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","/**\n * @param {string} d\n * @returns {string}\n */\nexport function color(d) {\n return d\n}\n","/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {InternalAncestor, Child>} Ancestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {'skip' | boolean} Action\n * Union of the action types.\n *\n * @typedef {number} Index\n * Move to the sibling at `index` next (after node itself is completely\n * traversed).\n *\n * Useful if mutating the tree, such as removing the node the visitor is\n * currently on, or any of its previous siblings.\n * Results less than 0 or greater than or equal to `children.length` stop\n * traversing the parent.\n *\n * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple\n * List with one or two values, the first an action, the second an index.\n *\n * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult\n * Any value that can be returned from a visitor.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform the parent of node (the last of `ancestors`).\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of an ancestor still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Array} ancestors\n * Ancestors of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [VisitedParents=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor, Check>, Ancestor, Check>>>} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parents`.\n * @template {UnistNode} [Tree=UnistNode]\n * Tree type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from 'unist-util-visit-parents/do-not-use-color'\n\n/** @type {Readonly} */\nconst empty = []\n\n/**\n * Continue traversing as normal.\n */\nexport const CONTINUE = true\n\n/**\n * Stop traversing immediately.\n */\nexport const EXIT = false\n\n/**\n * Do not traverse this node’s children.\n */\nexport const SKIP = 'skip'\n\n/**\n * Visit nodes, with ancestral information.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} test\n * `unist-util-is`-compatible test\n * @param {Visitor | boolean | null | undefined} [visitor]\n * Handle each node.\n * @param {boolean | null | undefined} [reverse]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visitParents(tree, test, visitor, reverse) {\n /** @type {Test} */\n let check\n\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n } else {\n // @ts-expect-error visitor given, so `test` isn’t a visitor.\n check = test\n }\n\n const is = convert(check)\n const step = reverse ? -1 : 1\n\n factory(tree, undefined, [])()\n\n /**\n * @param {UnistNode} node\n * @param {number | undefined} index\n * @param {Array} parents\n */\n function factory(node, index, parents) {\n const value = /** @type {Record} */ (\n node && typeof node === 'object' ? node : {}\n )\n\n if (typeof value.type === 'string') {\n const name =\n // `hast`\n typeof value.tagName === 'string'\n ? value.tagName\n : // `xast`\n typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' + color(node.type + (name ? '<' + name + '>' : '')) + ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {Readonly} */\n let result = empty\n /** @type {Readonly} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || undefined)) {\n // @ts-expect-error: `visitor` is now a visitor.\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n if ('children' in node && node.children) {\n const nodeAsParent = /** @type {UnistParent} */ (node)\n\n if (nodeAsParent.children && result[0] !== SKIP) {\n offset = (reverse ? nodeAsParent.children.length : -1) + step\n grandparents = parents.concat(nodeAsParent)\n\n while (offset > -1 && offset < nodeAsParent.children.length) {\n const child = nodeAsParent.children[offset]\n\n subresult = factory(child, offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n }\n\n return result\n }\n }\n}\n\n/**\n * Turn a return value into a clean result.\n *\n * @param {VisitorResult} value\n * Valid return values from visitors.\n * @returns {Readonly}\n * Clean result.\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return value === null || value === undefined ? empty : [value]\n}\n","/**\n * @typedef {import('unist').Node} UnistNode\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n */\n\n/**\n * @typedef {Exclude | undefined} Test\n * Test from `unist-util-is`.\n *\n * Note: we have remove and add `undefined`, because otherwise when generating\n * automatic `.d.ts` files, TS tries to flatten paths from a local perspective,\n * which doesn’t work when publishing on npm.\n */\n\n// To do: use types from `unist-util-visit-parents` when it’s released.\n\n/**\n * @typedef {(\n * Fn extends (value: any) => value is infer Thing\n * ? Thing\n * : Fallback\n * )} Predicate\n * Get the value of a type guard `Fn`.\n * @template Fn\n * Value; typically function that is a type guard (such as `(x): x is Y`).\n * @template Fallback\n * Value to yield if `Fn` is not a type guard.\n */\n\n/**\n * @typedef {(\n * Check extends null | undefined // No test.\n * ? Value\n * : Value extends {type: Check} // String (type) test.\n * ? Value\n * : Value extends Check // Partial test.\n * ? Value\n * : Check extends Function // Function test.\n * ? Predicate extends Value\n * ? Predicate\n * : never\n * : never // Some other test?\n * )} MatchesOne\n * Check whether a node matches a primitive check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test, but not arrays.\n */\n\n/**\n * @typedef {(\n * Check extends Array\n * ? MatchesOne\n * : MatchesOne\n * )} Matches\n * Check whether a node matches a check in the type system.\n * @template Value\n * Value; typically unist `Node`.\n * @template Check\n * Value; typically `unist-util-is`-compatible test.\n */\n\n/**\n * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10} Uint\n * Number; capped reasonably.\n */\n\n/**\n * @typedef {I extends 0 ? 1 : I extends 1 ? 2 : I extends 2 ? 3 : I extends 3 ? 4 : I extends 4 ? 5 : I extends 5 ? 6 : I extends 6 ? 7 : I extends 7 ? 8 : I extends 8 ? 9 : 10} Increment\n * Increment a number in the type system.\n * @template {Uint} [I=0]\n * Index.\n */\n\n/**\n * @typedef {(\n * Node extends UnistParent\n * ? Node extends {children: Array}\n * ? Child extends Children ? Node : never\n * : never\n * : never\n * )} InternalParent\n * Collect nodes that can be parents of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {InternalParent, Child>} Parent\n * Collect nodes in `Tree` that can be parents of `Child`.\n * @template {UnistNode} Tree\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n */\n\n/**\n * @typedef {(\n * Depth extends Max\n * ? never\n * :\n * | InternalParent\n * | InternalAncestor, Max, Increment>\n * )} InternalAncestor\n * Collect nodes in `Tree` that can be ancestors of `Child`.\n * @template {UnistNode} Node\n * All node types in a tree.\n * @template {UnistNode} Child\n * Node to search for.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @typedef {(\n * Tree extends UnistParent\n * ? Depth extends Max\n * ? Tree\n * : Tree | InclusiveDescendant>\n * : Tree\n * )} InclusiveDescendant\n * Collect all (inclusive) descendants of `Tree`.\n *\n * > 👉 **Note**: for performance reasons, this seems to be the fastest way to\n * > recurse without actually running into an infinite loop, which the\n * > previous version did.\n * >\n * > Practically, a max of `2` is typically enough assuming a `Root` is\n * > passed, but it doesn’t improve performance.\n * > It gets higher with `List > ListItem > Table > TableRow > TableCell`.\n * > Using up to `10` doesn’t hurt or help either.\n * @template {UnistNode} Tree\n * Tree type.\n * @template {Uint} [Max=10]\n * Max; searches up to this depth.\n * @template {Uint} [Depth=0]\n * Current depth.\n */\n\n/**\n * @callback Visitor\n * Handle a node (matching `test`, if given).\n *\n * Visitors are free to transform `node`.\n * They can also transform `parent`.\n *\n * Replacing `node` itself, if `SKIP` is not returned, still causes its\n * descendants to be walked (which is a bug).\n *\n * When adding or removing previous siblings of `node` (or next siblings, in\n * case of reverse), the `Visitor` should return a new `Index` to specify the\n * sibling to traverse after `node` is traversed.\n * Adding or removing next siblings of `node` (or previous siblings, in case\n * of reverse) is handled as expected without needing to return a new `Index`.\n *\n * Removing the children property of `parent` still results in them being\n * traversed.\n * @param {Visited} node\n * Found node.\n * @param {Visited extends UnistNode ? number | undefined : never} index\n * Index of `node` in `parent`.\n * @param {Ancestor extends UnistParent ? Ancestor | undefined : never} parent\n * Parent of `node`.\n * @returns {VisitorResult}\n * What to do next.\n *\n * An `Index` is treated as a tuple of `[CONTINUE, Index]`.\n * An `Action` is treated as a tuple of `[Action]`.\n *\n * Passing a tuple back only makes sense if the `Action` is `SKIP`.\n * When the `Action` is `EXIT`, that action can be returned.\n * When the `Action` is `CONTINUE`, `Index` can be returned.\n * @template {UnistNode} [Visited=UnistNode]\n * Visited node type.\n * @template {UnistParent} [Ancestor=UnistParent]\n * Ancestor type.\n */\n\n/**\n * @typedef {Visitor>} BuildVisitorFromMatch\n * Build a typed `Visitor` function from a node and all possible parents.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Visited\n * Node type.\n * @template {UnistParent} Ancestor\n * Parent type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromMatch<\n * Matches,\n * Extract\n * >\n * )} BuildVisitorFromDescendants\n * Build a typed `Visitor` function from a list of descendants and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} Descendant\n * Node type.\n * @template {Test} Check\n * Test type.\n */\n\n/**\n * @typedef {(\n * BuildVisitorFromDescendants<\n * InclusiveDescendant,\n * Check\n * >\n * )} BuildVisitor\n * Build a typed `Visitor` function from a tree and a test.\n *\n * It will infer which values are passed as `node` and which as `parent`.\n * @template {UnistNode} [Tree=UnistNode]\n * Node type.\n * @template {Test} [Check=Test]\n * Test type.\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n\n/**\n * Visit nodes.\n *\n * This algorithm performs *depth-first* *tree traversal* in *preorder*\n * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**).\n *\n * You can choose for which nodes `visitor` is called by passing a `test`.\n * For complex tests, you should test yourself in `visitor`, as it will be\n * faster and will have improved type information.\n *\n * Walking the tree is an intensive task.\n * Make use of the return values of the visitor when possible.\n * Instead of walking a tree multiple times, walk it once, use `unist-util-is`\n * to check if a node matches, and then perform different operations.\n *\n * You can change the tree.\n * See `Visitor` for more info.\n *\n * @overload\n * @param {Tree} tree\n * @param {Check} check\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @overload\n * @param {Tree} tree\n * @param {BuildVisitor} visitor\n * @param {boolean | null | undefined} [reverse]\n * @returns {undefined}\n *\n * @param {UnistNode} tree\n * Tree to traverse.\n * @param {Visitor | Test} testOrVisitor\n * `unist-util-is`-compatible test (optional, omit to pass a visitor).\n * @param {Visitor | boolean | null | undefined} [visitorOrReverse]\n * Handle each node (when test is omitted, pass `reverse`).\n * @param {boolean | null | undefined} [maybeReverse=false]\n * Traverse in reverse preorder (NRL) instead of the default preorder (NLR).\n * @returns {undefined}\n * Nothing.\n *\n * @template {UnistNode} Tree\n * Node type.\n * @template {Test} Check\n * `unist-util-is`-compatible test.\n */\nexport function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {\n /** @type {boolean | null | undefined} */\n let reverse\n /** @type {Test} */\n let test\n /** @type {Visitor} */\n let visitor\n\n if (\n typeof testOrVisitor === 'function' &&\n typeof visitorOrReverse !== 'function'\n ) {\n test = undefined\n visitor = testOrVisitor\n reverse = visitorOrReverse\n } else {\n // @ts-expect-error: assume the overload with test was given.\n test = testOrVisitor\n // @ts-expect-error: assume the overload with test was given.\n visitor = visitorOrReverse\n reverse = maybeReverse\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {UnistNode} node\n * @param {Array} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n const index = parent ? parent.children.indexOf(node) : undefined\n return visitor(node, index, parent)\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n *\n * @typedef Options\n * Configuration.\n * @property {Array | null | undefined} [ancestors]\n * Stack of (inclusive) ancestor nodes surrounding the message (optional).\n * @property {Error | null | undefined} [cause]\n * Original error cause of the message (optional).\n * @property {Point | Position | null | undefined} [place]\n * Place of message (optional).\n * @property {string | null | undefined} [ruleId]\n * Category of message (optional, example: `'my-rule'`).\n * @property {string | null | undefined} [source]\n * Namespace of who sent the message (optional, example: `'my-package'`).\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\n/**\n * Message.\n */\nexport class VFileMessage extends Error {\n /**\n * Create a message for `reason`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {Options | null | undefined} [options]\n * @returns\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | Options | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns\n * Instance of `VFileMessage`.\n */\n // eslint-disable-next-line complexity\n constructor(causeOrReason, optionsOrParentOrPlace, origin) {\n super()\n\n if (typeof optionsOrParentOrPlace === 'string') {\n origin = optionsOrParentOrPlace\n optionsOrParentOrPlace = undefined\n }\n\n /** @type {string} */\n let reason = ''\n /** @type {Options} */\n let options = {}\n let legacyCause = false\n\n if (optionsOrParentOrPlace) {\n // Point.\n if (\n 'line' in optionsOrParentOrPlace &&\n 'column' in optionsOrParentOrPlace\n ) {\n options = {place: optionsOrParentOrPlace}\n }\n // Position.\n else if (\n 'start' in optionsOrParentOrPlace &&\n 'end' in optionsOrParentOrPlace\n ) {\n options = {place: optionsOrParentOrPlace}\n }\n // Node.\n else if ('type' in optionsOrParentOrPlace) {\n options = {\n ancestors: [optionsOrParentOrPlace],\n place: optionsOrParentOrPlace.position\n }\n }\n // Options.\n else {\n options = {...optionsOrParentOrPlace}\n }\n }\n\n if (typeof causeOrReason === 'string') {\n reason = causeOrReason\n }\n // Error.\n else if (!options.cause && causeOrReason) {\n legacyCause = true\n reason = causeOrReason.message\n options.cause = causeOrReason\n }\n\n if (!options.ruleId && !options.source && typeof origin === 'string') {\n const index = origin.indexOf(':')\n\n if (index === -1) {\n options.ruleId = origin\n } else {\n options.source = origin.slice(0, index)\n options.ruleId = origin.slice(index + 1)\n }\n }\n\n if (!options.place && options.ancestors && options.ancestors) {\n const parent = options.ancestors[options.ancestors.length - 1]\n\n if (parent) {\n options.place = parent.position\n }\n }\n\n const start =\n options.place && 'start' in options.place\n ? options.place.start\n : options.place\n\n /* eslint-disable no-unused-expressions */\n /**\n * Stack of ancestor nodes surrounding the message.\n *\n * @type {Array | undefined}\n */\n this.ancestors = options.ancestors || undefined\n\n /**\n * Original error cause of the message.\n *\n * @type {Error | undefined}\n */\n this.cause = options.cause || undefined\n\n /**\n * Starting column of message.\n *\n * @type {number | undefined}\n */\n this.column = start ? start.column : undefined\n\n /**\n * State of problem.\n *\n * * `true` — error, file not usable\n * * `false` — warning, change may be needed\n * * `undefined` — change likely not needed\n *\n * @type {boolean | null | undefined}\n */\n this.fatal = undefined\n\n /**\n * Path of a file (used throughout the `VFile` ecosystem).\n *\n * @type {string | undefined}\n */\n this.file\n\n // Field from `Error`.\n /**\n * Reason for message.\n *\n * @type {string}\n */\n this.message = reason\n\n /**\n * Starting line of error.\n *\n * @type {number | undefined}\n */\n this.line = start ? start.line : undefined\n\n // Field from `Error`.\n /**\n * Serialized positional info of message.\n *\n * On normal errors, this would be something like `ParseError`, buit in\n * `VFile` messages we use this space to show where an error happened.\n */\n this.name = stringifyPosition(options.place) || '1:1'\n\n /**\n * Place of message.\n *\n * @type {Point | Position | undefined}\n */\n this.place = options.place || undefined\n\n /**\n * Reason for message, should use markdown.\n *\n * @type {string}\n */\n this.reason = this.message\n\n /**\n * Category of message (example: `'my-rule'`).\n *\n * @type {string | undefined}\n */\n this.ruleId = options.ruleId || undefined\n\n /**\n * Namespace of message (example: `'my-package'`).\n *\n * @type {string | undefined}\n */\n this.source = options.source || undefined\n\n // Field from `Error`.\n /**\n * Stack of message.\n *\n * This is used by normal errors to show where something happened in\n * programming code, irrelevant for `VFile` messages,\n *\n * @type {string}\n */\n this.stack =\n legacyCause && options.cause && typeof options.cause.stack === 'string'\n ? options.cause.stack\n : ''\n\n // The following fields are “well known”.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /**\n * Specify the source value that’s being reported, which is deemed\n * incorrect.\n *\n * @type {string | undefined}\n */\n this.actual\n\n /**\n * Suggest acceptable values that can be used instead of `actual`.\n *\n * @type {Array | undefined}\n */\n this.expected\n\n /**\n * Long form description of the message (you should use markdown).\n *\n * @type {string | undefined}\n */\n this.note\n\n /**\n * Link to docs for the message.\n *\n * > 👉 **Note**: this must be an absolute URL that can be passed as `x`\n * > to `new URL(x)`.\n *\n * @type {string | undefined}\n */\n this.url\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.column = undefined\nVFileMessage.prototype.line = undefined\nVFileMessage.prototype.ancestors = undefined\nVFileMessage.prototype.cause = undefined\nVFileMessage.prototype.fatal = undefined\nVFileMessage.prototype.place = undefined\nVFileMessage.prototype.ruleId = undefined\nVFileMessage.prototype.source = undefined\n","/**\n * @import {Node, Point, Position} from 'unist'\n * @import {Options as MessageOptions} from 'vfile-message'\n * @import {Compatible, Data, Map, Options, Value} from 'vfile'\n */\n\n/**\n * @typedef {object & {type: string, position?: Position | undefined}} NodeLike\n */\n\nimport {VFileMessage} from 'vfile-message'\nimport {minpath} from '#minpath'\nimport {minproc} from '#minproc'\nimport {urlToPath, isUrl} from '#minurl'\n\n/**\n * Order of setting (least specific to most), we need this because otherwise\n * `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n * stem can be set.\n */\nconst order = /** @type {const} */ ([\n 'history',\n 'path',\n 'basename',\n 'stem',\n 'extname',\n 'dirname'\n])\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * `options` is treated as:\n *\n * * `string` or `Uint8Array` — `{value: options}`\n * * `URL` — `{path: options}`\n * * `VFile` — shallow copies its data over to the new file\n * * `object` — all fields are shallow copied over to the new file\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * You cannot set `dirname` or `extname` without setting either `history`,\n * `path`, `basename`, or `stem` too.\n *\n * @param {Compatible | null | undefined} [value]\n * File value.\n * @returns\n * New instance.\n */\n constructor(value) {\n /** @type {Options | VFile} */\n let options\n\n if (!value) {\n options = {}\n } else if (isUrl(value)) {\n options = {path: value}\n } else if (typeof value === 'string' || isUint8Array(value)) {\n options = {value}\n } else {\n options = value\n }\n\n /* eslint-disable no-unused-expressions */\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n *\n * @type {string}\n */\n // Prevent calling `cwd` (which could be expensive) if it’s not needed;\n // the empty string will be overridden in the next block.\n this.cwd = 'cwd' in options ? '' : minproc.cwd()\n\n /**\n * Place to store custom info (default: `{}`).\n *\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n *\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of file paths the file moved between.\n *\n * The first is the original path and the last is the current path.\n *\n * @type {Array}\n */\n this.history = []\n\n /**\n * List of messages associated with the file.\n *\n * @type {Array}\n */\n this.messages = []\n\n /**\n * Raw value.\n *\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n /**\n * Source map.\n *\n * This type is equivalent to the `RawSourceMap` type from the `source-map`\n * module.\n *\n * @type {Map | null | undefined}\n */\n this.map\n\n /**\n * Custom, non-string, compiled, representation.\n *\n * This is used by unified to store non-string results.\n * One example is when turning markdown into React nodes.\n *\n * @type {unknown}\n */\n this.result\n\n /**\n * Whether a file was saved to disk.\n *\n * This is used by vfile reporters.\n *\n * @type {boolean}\n */\n this.stored\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const field = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (\n field in options &&\n options[field] !== undefined &&\n options[field] !== null\n ) {\n // @ts-expect-error: TS doesn’t understand basic reality.\n this[field] = field === 'history' ? [...options[field]] : options[field]\n }\n }\n\n /** @type {string} */\n let field\n\n // Set non-path related properties.\n for (field in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(field)) {\n // @ts-expect-error: fine to set other things.\n this[field] = options[field]\n }\n }\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n *\n * @returns {string | undefined}\n * Basename.\n */\n get basename() {\n return typeof this.path === 'string'\n ? minpath.basename(this.path)\n : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} basename\n * Basename.\n * @returns {undefined}\n * Nothing.\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = minpath.join(this.dirname || '', basename)\n }\n\n /**\n * Get the parent path (example: `'~'`).\n *\n * @returns {string | undefined}\n * Dirname.\n */\n get dirname() {\n return typeof this.path === 'string'\n ? minpath.dirname(this.path)\n : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n *\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} dirname\n * Dirname.\n * @returns {undefined}\n * Nothing.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = minpath.join(dirname || '', this.basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n *\n * @returns {string | undefined}\n * Extname.\n */\n get extname() {\n return typeof this.path === 'string'\n ? minpath.extname(this.path)\n : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n *\n * @param {string | undefined} extname\n * Extname.\n * @returns {undefined}\n * Nothing.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.codePointAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = minpath.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n *\n * @returns {string}\n * Path.\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n *\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n *\n * @param {URL | string} path\n * Path.\n * @returns {undefined}\n * Nothing.\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n *\n * @returns {string | undefined}\n * Stem.\n */\n get stem() {\n return typeof this.path === 'string'\n ? minpath.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n *\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n *\n * @param {string} stem\n * Stem.\n * @returns {undefined}\n * Nothing.\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = minpath.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n // Normal prototypal methods.\n /**\n * Create a fatal message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `true` (error; file not usable)\n * and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {never}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {never}\n * Never.\n * @throws {VFileMessage}\n * Message.\n */\n fail(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = true\n\n throw message\n }\n\n /**\n * Create an info message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `undefined` (info; change\n * likely not needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n info(causeOrReason, optionsOrParentOrPlace, origin) {\n // @ts-expect-error: the overloads are fine.\n const message = this.message(causeOrReason, optionsOrParentOrPlace, origin)\n\n message.fatal = undefined\n\n return message\n }\n\n /**\n * Create a message for `reason` associated with the file.\n *\n * The `fatal` field of the message is set to `false` (warning; change may be\n * needed) and the `file` field is set to the current file path.\n * The message is added to the `messages` field on `file`.\n *\n * > 🪦 **Note**: also has obsolete signatures.\n *\n * @overload\n * @param {string} reason\n * @param {MessageOptions | null | undefined} [options]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {string} reason\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Node | NodeLike | null | undefined} parent\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {Point | Position | null | undefined} place\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @overload\n * @param {Error | VFileMessage} cause\n * @param {string | null | undefined} [origin]\n * @returns {VFileMessage}\n *\n * @param {Error | VFileMessage | string} causeOrReason\n * Reason for message, should use markdown.\n * @param {Node | NodeLike | MessageOptions | Point | Position | string | null | undefined} [optionsOrParentOrPlace]\n * Configuration (optional).\n * @param {string | null | undefined} [origin]\n * Place in code where the message originates (example:\n * `'my-package:my-rule'` or `'my-rule'`).\n * @returns {VFileMessage}\n * Message.\n */\n message(causeOrReason, optionsOrParentOrPlace, origin) {\n const message = new VFileMessage(\n // @ts-expect-error: the overloads are fine.\n causeOrReason,\n optionsOrParentOrPlace,\n origin\n )\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Serialize the file.\n *\n * > **Note**: which encodings are supported depends on the engine.\n * > For info on Node.js, see:\n * > .\n *\n * @param {string | null | undefined} [encoding='utf8']\n * Character encoding to understand `value` as when it’s a `Uint8Array`\n * (default: `'utf-8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n if (this.value === undefined) {\n return ''\n }\n\n if (typeof this.value === 'string') {\n return this.value\n }\n\n const decoder = new TextDecoder(encoding || undefined)\n return decoder.decode(this.value)\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string | null | undefined} part\n * File path part.\n * @param {string} name\n * Part name.\n * @returns {undefined}\n * Nothing.\n */\nfunction assertPart(part, name) {\n if (part && part.includes(minpath.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + minpath.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string | undefined} part\n * Thing.\n * @param {string} name\n * Part name.\n * @returns {asserts part is string}\n * Nothing.\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string | undefined} path\n * Path.\n * @param {string} name\n * Dependency name.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n\n/**\n * Assert `value` is an `Uint8Array`.\n *\n * @param {unknown} value\n * thing.\n * @returns {value is Uint8Array}\n * Whether `value` is an `Uint8Array`.\n */\nfunction isUint8Array(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'byteLength' in value &&\n 'byteOffset' in value\n )\n}\n","// A derivative work based on:\n// .\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// .\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const minpath = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * Get the basename from a path.\n *\n * @param {string} path\n * File path.\n * @param {string | null | undefined} [extname]\n * Extension to strip.\n * @returns {string}\n * Stem or basename.\n */\nfunction basename(path, extname) {\n if (extname !== undefined && typeof extname !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let seenNonSlash\n\n if (\n extname === undefined ||\n extname.length === 0 ||\n extname.length > path.length\n ) {\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (extname === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extnameIndex = extname.length - 1\n\n while (index--) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extnameIndex > -1) {\n // Try to match the explicit extension.\n if (path.codePointAt(index) === extname.codePointAt(extnameIndex--)) {\n if (extnameIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extnameIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * Get the dirname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.codePointAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.codePointAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.codePointAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * Get an extname from a path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * Extname.\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean | undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.codePointAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * Join segments from a path.\n *\n * @param {Array} segments\n * Path segments.\n * @returns {string}\n * File path.\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string | undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Normalize a basic file path.\n *\n * @param {string} path\n * File path.\n * @returns {string}\n * File path.\n */\n// Note: `normalize` is not exposed as `path.normalize`, so some code is\n// manually removed from it.\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.codePointAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.codePointAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * File path.\n * @param {boolean} allowAboveRoot\n * Whether `..` can move above root.\n * @returns {string}\n * File path.\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number | undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.codePointAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.codePointAt(result.length - 1) !== 46 /* `.` */ ||\n result.codePointAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * Make sure `path` is a string.\n *\n * @param {string} path\n * File path.\n * @returns {asserts path is string}\n * Nothing.\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// .\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const minproc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","import {isUrl} from './minurl.shared.js'\n\nexport {isUrl} from './minurl.shared.js'\n\n// See: \n\n/**\n * @param {URL | string} path\n * File URL.\n * @returns {string}\n * File URL.\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * Get a path from a POSIX URL.\n *\n * @param {URL} url\n * URL.\n * @returns {string}\n * File path.\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.codePointAt(index) === 37 /* `%` */ &&\n pathname.codePointAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.codePointAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n","/**\n * Checks if a value has the shape of a WHATWG URL object.\n *\n * Using a symbol or instanceof would not be able to recognize URL objects\n * coming from other implementations (e.g. in Electron), so instead we are\n * checking some well known properties for a lack of a better test.\n *\n * We use `href` and `protocol` as they are the only properties that are\n * easy to retrieve and calculate due to the lazy nature of the getters.\n *\n * We check for auth attribute to distinguish legacy url instance with\n * WHATWG URL instance.\n *\n * @param {unknown} fileUrlOrPath\n * File path or URL.\n * @returns {fileUrlOrPath is URL}\n * Whether it’s a URL.\n */\n// From: \nexport function isUrl(fileUrlOrPath) {\n return Boolean(\n fileUrlOrPath !== null &&\n typeof fileUrlOrPath === 'object' &&\n 'href' in fileUrlOrPath &&\n fileUrlOrPath.href &&\n 'protocol' in fileUrlOrPath &&\n fileUrlOrPath.protocol &&\n // @ts-expect-error: indexing is fine.\n fileUrlOrPath.auth === undefined\n )\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { render, createRoot } from \"@wordpress/element\";\r\nimport ChatBox from \"./components/ChatBox\";\r\n// import { render, createRoot } from \"@wordpress/element\";\r\n\r\nconst chat_widget_box = document.getElementById(\"hs__live_chat_widget_box\");\r\n// console.log(chat_widget_box);\r\n\r\n// const root = createRoot(document.getElementById(\"hs__live_chat_widget_box\"))\r\nconst root = createRoot(chat_widget_box);\r\n\r\n// alert('ChatBox is loaded');\r\n// alert('ChatBox is loaded');\r\n\r\nfunction live_chat_widget() {\r\n root.render();\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n // const customer = document.getElementById(\"hs__live_chat_widget_box\");\r\n if (chat_widget_box) {\r\n live_chat_widget();\r\n }\r\n});\r\n"],"names":["moment","React","useRef","useEffect","useState","ReactMarkdown","fireNotify","__","hsSyncingTimer","hiveMessageCount","GetAiInit","ChatBox","_w$main_color","homeTabSettings","hive_front","home_tab","cleanedString","replace","settingsObject","JSON","parse","enable_chat_widget","enableAiChat","enableMessaging","enableHelp","messagingTabSettings","messaging_tab","enable_live_messaging","helpTabSettings","help_tab","enable_help_tab","aiTabSettings","ai_tab","enable_ai_chat","$faqs","question","answer","w","widget_appearance","defaultAvatar","agent_avatar","tabBtnColor","tabBtnColorActive","main_color","defaultState","guest_message_form_display","user_message_form_display","add_message_btn","enable_help_articles_on_home","enable_article_list","is_guest_chat","enable_guest_chat","current_user","active_user_id","enable_users_chat_section","users_section_type","hs_guest","guest_section_type","defaultFormStatus","defaultAddMessageBtnStatus","hiveBotLocalKey","preview","setPreview","tab","setTab","intro","setIntro","form","setForm","guestForm","setGuestForm","messageForm","setMessageForm","addMessageBtn","setAddMessageBtn","helpDisplay","setHelpDisplay","faq","setFaq","team","setTeam","conversation","setConversation","aiMessageForm","setAiMessageForm","backBtn","setBackBtn","messageList","setMessageList","singleChat","setSingleChat","activeMessage","setActiveMessage","articleSearchForm","setArticleSearchForm","articleList","setArticleList","headTitleDisplay","setHeadTitleDisplay","usersChat","setUsersChat","chat","setChat","activeCustomer","setActiveCustomer","totalUnread","setTotalUnread","defaultFilter","status","agent_id","customer_id","secret_content","count","current_page","chat_API_URL","site_url","AiChatBotName","filter","setFilter","chatCloseBtn","setChatCloseBtn","newsTab","setNewsTab","replyCount","total_reply_count","lasActiveId","lastArticles","isGuest","guest","setGuest","activeMessageID","setActiveMessageID","currentUserId","setCurrentUserId","faqs","setFaqs","conversations","setConversations","aiconversations","setAiConversations","headTitle","setHeadTitle","messageCount","setMessageCount","hasNewMessage","setHasNewMessage","handleGoToHome","handleGoToMessages","message_top_bar_title","handleGoToHelp","help_top_bar_title","handleGoToAi","ai_top_bar_title","hsAddArgInAPI_URL","filterState","ticket_API_URL","newApiUrl","params","queryParams","key","push","encodeURIComponent","length","join","fetchChatsAsync","newAPIUrl","request","fetch","response","json","success","data","chats","error","getUsersChats","handlePreview","handleOpenPreview","handleTabChange","handleAddNewMessage","handleSyncingMessageList","handleBackToTopLevel","isHiveStaffAgent","id","staffs","isAgent","hasOwnProperty","customDateFormat","inputDate","tz","time_zone","fromNow","fetchSingleChatDataUpdateWrapper","fetchSingleChatDataUpdate","handleUpdateConversationUpdate","getConversation","newConversations","map","index","newConv","isStaff","person_id","person_type","thisTime","created_at","time","theActiveId","current","message_replies","agents_admins","handleUpdateConversation","fetchSingleChatData","getSingleChat","handleViewConversation","handleViewSingleMessage","message","formdata","FormData","append","ajaxurl","method","body","handleViewSingleArticle","Intro","title","chat_window_home_title","subTitle","chat_window_home_subtitle","style","backgroundColor","color","main_text_color","colorStyle","createElement","className","Team","_w$main_text_color","_w$main_text_color2","agent_media","item","href","width","src","filepath","position_title","ChatBoxHeader","_w$main_text_color3","_w$main_text_color4","onClick","BackIconTop","ChatBoxForm","action","type","name","placeholder","cols","rows","ChatBoxFaq","Array","isArray","i","hsFormatDate","date","Date","isNaN","getDate","month","toLocaleString","day","year","getFullYear","formattedDate","OwnChat","_ref","singleMessage","messageContent","content","OthersChat","_ref2","_singleMessage$person","image","person_name","person_pic","alt","IntroAIChat","_ref3","ai_intro_msg","preSetQuestions","pre_set_questions","agent_message_color","agent_text_color","currTime","getHours","getMinutes","localChats","localStorage","getItem","AiSettingsErrorMessage","prevAiChat","setItem","stringify","addNewChat","e","query","preventDefault","chatItem","message_id","media_urls","open_ai_ok","AiChatItemError","AiChatItem","aiResponse","AiMessage","updatedPrevAiChat","slice","err","console","log","submitFaqQuestion","Fragment","class","value","Conversations","chatContainerRef","scrollTop","scrollHeight","ref","ConversationsAi","avImage","aichat_media","ChatBoxContent","ChatBoxAiContent","HomeIcon","height","fill","xmlns","d","stroke","strokeWidth","strokeLinecap","ChatIcon","fillRule","clipRule","mask","ChatIcon2","clipPath","HelpIcon","cx","cy","r","NewsIcon","BackIcon","viewBox","ChatBotIcon","MessageForm","setMessage","handleSetMessage","handleViewNewSingleMessage","newChatId","is_success","addReplyToChat","sendMessage","onChange","target","AIMessageForm","handleKeyDown","shiftKey","form_placeholder","onKeyDown","NavTab","isMsg","MessageListItem","_ref4","updated_time","updated_at","customer_seen_status","agent_name","customer_user_name","customer_name","totalReplyCount","setTotalReplyCount","get_current_user_total_reply_count","formData","hsReplyCountSync","intervalId","setInterval","clearInterval","MessageList","searchRest","empty_message_title","ArticleListItem","_ref5","article","linkStyleColor","link_color","link","Articles","_ref6","articles","empty_title","SearchForm","_ref7","onSearch","iconClass","setIconClass","searchString","setSearchString","handleChange","input","timeoutId","setTimeout","clearTimeout","searchResults","searchBtnstyle","search_btn_color","searchBtnIconstyle","search_btn_icon_color","chat_window_home_search_pholder","SearchResults","_ref8","results","HelpTab","defaultSearchResults","setSearchResults","articleSearchHelper","result","handleSearchSubmit","searchData","handleSearch","ChatWindow","AddMessageBtn","ChatBtn","CloseIcon","ChatBtnX","send_btn_title","HomeAddMessageBtn","toast","HiCheckCircle","HiInformationCircle","HiExclamation","HiXCircle","arguments","undefined","position","hideProgressBar","info","warning","render","createRoot","chat_widget_box","document","getElementById","root","live_chat_widget","addEventListener"],"sourceRoot":""}